Download OpenAPI specification:Download
Frizbee Prepaid Banking is a specialized service designed to facilitate payments within a restricted network of acceptors. This API enables the creation and management of programs, each tailored to specific sectors, stores, or boutiques that can be fully managed via the API. It offers robust tools for managing user accounts, gift cards, bank cards, and custom-designed programs.
Utilizing JSON Web Tokens (JWT) for authentication and authorization, the API ensures secure interactions across various endpoints. Users are authenticated by obtaining an access token via a POST request to the /users/login endpoint, using their credentials. This token must then be included as a bearer token in the Authorization header for subsequent API requests.
Should the access token expire, a refresh token can be used to obtain a new access token without requiring user reauthentication. This is done by sending a POST request to the /users/refresh-token endpoint with the refresh token included in the request body.
The security of token storage and transmission is crucial to prevent unauthorized access to user accounts. Detailed information on each endpoint, including required request payloads and responses, can be found throughout this documentation. The API facilitates not only general banking transactions but also allows for the intricate management of restricted payment environments, ensuring each program adheres to its specified limitations regarding participant merchants and transaction scopes.
| firstname required | string <= 50 characters ^[A-Za-z-']+([ ][A-Za-z-']+)*$ |
| lastname required | string <= 50 characters ^[A-Za-z-']+([ ][A-Za-z-']+)*$ |
| email required | string <email> <= 100 characters ^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,5}... |
| password required | string <password> <= 100 characters ^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za... |
object | |
| phone required | string^\+?[0-9]{1,3}?[-.\s]?([0-9]{1,4}?[-.\s]?){2,... |
{- "firstname": "John",
- "lastname": "Doe",
- "email": "john.doe@example.com",
- "password": "securePassword123",
- "address": {
- "street": "123 av des champs élysées",
- "city": "Paris",
- "postalCode": "75001",
- "country": "FRANCE"
}, - "phone": "+33612345678"
}{- "message": "User created successfully",
- "access_token": "string",
- "refresh_token": "string"
}| email required | string <email> ^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,5}... |
| password required | string <password> ^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za... |
{- "email": "john.doe@example.com",
- "password": "securePassword123"
}{- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
- "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJpc3N1ZXJfbmFtZSIsImV4cCI6MTcxMzY5NjI0Mn0.t1fZAJj5oXGWmB252mHsgl51eiX4CwX5_7T29cvzA-A"
}Allows a user to obtain a new access token using a valid refresh token.
| refreshToken required | string |
{- "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}{- "accessToken": "string",
- "refreshToken": "string"
}Updates the user's profile with new information. The entire user object must be provided in the request body.
| uuid required | string Example: 578A6DA0-A5F0-4879-A50D-D50F425B7448 |
| uuid | string |
| firstname | string <= 50 characters ^[A-Za-z-']+([ ][A-Za-z-']+)*$ |
| lastname | string <= 50 characters ^[A-Za-z-']+([ ][A-Za-z-']+)*$ |
string <email> <= 100 characters ^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,5}... | |
| phone | string^\+(?:[0-9] ?){6,14}[0-9]$ |
{- "uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
- "firstname": "Jean",
- "lastname": "Dupont",
- "email": "jean.dupont@manager.one",
- "phone": "+33123456789"
}{- "uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
- "firstname": "Jean",
- "lastname": "Dupont",
- "email": "jean.dupont@manager.one",
- "phone": "+33123456789"
}Validates a user's account using a token provided via email, typically sent during the registration process.
| uuid required | string The unique identifier of the user |
| token required | string Validation token received by the user via email. |
{- "token": "string"
}{- "message": "Account has been successfully validated."
}Allows a user to change their password. Requires the current password for verification.
| uuid required | string The unique identifier for the user |
| currentPassword required | string <password> |
| newPassword required | string <password> |
{- "currentPassword": "currentPassword123!",
- "newPassword": "newSecurePassword123!"
}{- "errorCode": 4001,
- "message": "Validation failed for one or more fields."
}Disables the user account making it inactive. The account can be reactivated later.
| uuid required | string The unique identifier of the user. |
{- "message": "User account has been successfully disabled."
}Permanently deletes the user account from the system.
| uuid required | string The unique identifier of the user. |
{- "errorCode": 4001,
- "message": "Validation failed for one or more fields."
}This endpoint allows users to deposit money directly onto a bank card identified by the card_id using an external payment method.
| card_id required | string^[0-9A-Za-z]+$ Example: card_id=CARD1234567890 |
| amount required | number <float> |
{- "amount": 100
}{- "transactionReference": "TXN12345"
}| giftcardCode required | string |
| pinCode required | string |
| user_uuid required | string |
| property name* additional property | any |
{- "giftcardCode": "GIFT12345XYZ",
- "pinCode": "1234",
- "user_uuid": "24151c2c-ba49-4830-9ade-66ee989cb0b0"
}{- "confirmation": "Gift card added successfully"
}| giftcardCode required | string |
| card_id required | string^[0-9A-Za-z]+$ |
{- "giftcardCode": "GIFT12345XYZ",
- "card_id": "CARD9876543210"
}{- "errorCode": 4001,
- "message": "Validation failed for one or more fields."
}This endpoint handles the addition of a gift card, creation of a bank card, and the conversion of the gift card balance to the bank card.
| giftCardCode required | string |
| pinCode required | string |
| user_uuid | string |
{- "giftCardCode": "GFT1234567",
- "pinCode": "1234",
- "user_uuid": "24151c2c-ba49-4830-9ade-66ee989cb0b0"
}{- "confirmationMessage": "Gift card converted and bank card created successfully."
}[- {
- "code": "GIFT12345XYZ",
- "validityDate": "2022-12-31T23:59:59.999Z",
- "balance": 50,
- "faceValue": 50,
- "attachmentDate": "2022-12-31T23:59:59.999Z",
- "conversionDate": "2023-01-31T23:59:59.999Z"
}
]| giftcardCode required | string Example: GIFT12345XYZ |
{- "code": "GIFT12345XYZ",
- "validityDate": "2022-12-31T23:59:59.999Z",
- "balance": 50,
- "faceValue": 50,
- "attachmentDate": "2022-12-31T23:59:59.999Z",
- "conversionDate": "2023-01-31T23:59:59.999Z"
}Deletes a gift card only if it has not been converted. If the card has been converted, the operation will be rejected to preserve the transaction history.
| giftcardCode required | string Example: GIFT12345XYZ |
| user_uuid | string Example: user_uuid=a2bebbf0-b068-4e66-b77e-4d19fff95e99 |
{- "errorCode": 4001,
- "message": "Validation failed for one or more fields."
}| user_uuid | string Filter cards by the user ID. |
| program_id | string Filter cards by the program ID. |
| page | integer Default: 1 Page number for pagination. |
| page_size | integer Default: 10 Number of cards per page. |
{- "current_page": 1,
- "total_pages": 5,
- "total_items": 50,
- "cards": [
- {
- "card_id": "CARD9876543210",
- "program": {
- "name": "Mall Program",
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit...",
- "location": "Global",
- "stores": [
], - "renewalFee": true,
- "renewalAmount": 20,
- "giftCardEnabled": true,
- "giftCardSettings": {
- "name": "Standard Gift Card",
- "processor": "Processor Name",
- "codeId": "XYZ123",
- "codeCrc": "luhn",
- "codeLen": 19,
- "pinLen": 4,
- "pinComplexity": 3,
- "pinMandatory": true,
- "allowDecimal": true,
- "allowBulk": false,
- "uniqueref": true,
- "minAmount": 1,
- "maxAmount": 100,
- "format": "Card Number Format",
- "allowNoValidity": true,
- "allowModifyValidity": true,
- "useStock": true,
- "stock": 1000
}
}, - "status": "active",
- "user": {
- "uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
- "firstname": "Jean",
- "lastname": "Dupont",
- "email": "jean.dupont@manager.one",
- "phone": "+33123456789"
}, - "type": "virtual_card",
- "expiration_date": "2019-08-24",
- "expiration_datefull": "2019-08-24",
- "last_digits": "1234",
- "initial_amount": 1000,
- "consumed_amount": 200,
- "available_amount": 800
}
]
}| programId required | string The unique identifier of the program to which the card will be associated. |
| user_uuid | string The unique identifier of the user to whom the card will be associated. |
{- "programId": "prog_123456",
- "user_uuid": "a2bebbf0-b068-4e66-b77e-4d19fff95e99"
}{- "card_id": "card_789123",
- "programId": "prog_123456",
- "user_uuid": "a2bebbf0-b068-4e66-b77e-4d19fff95e99",
- "status": "active"
}| card_id required | string^[0-9A-Za-z]+$ Example: CARD9876543210 |
{- "card_id": "CARD9876543210",
- "program": {
- "name": "Mall Program",
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit...",
- "location": "Global",
- "stores": [
], - "renewalFee": true,
- "renewalAmount": 20,
- "giftCardEnabled": true,
- "giftCardSettings": {
- "name": "Standard Gift Card",
- "processor": "Processor Name",
- "codeId": "XYZ123",
- "codeCrc": "luhn",
- "codeLen": 19,
- "pinLen": 4,
- "pinComplexity": 3,
- "pinMandatory": true,
- "allowDecimal": true,
- "allowBulk": false,
- "uniqueref": true,
- "minAmount": 1,
- "maxAmount": 100,
- "format": "Card Number Format",
- "allowNoValidity": true,
- "allowModifyValidity": true,
- "useStock": true,
- "stock": 1000
}
}, - "status": "active",
- "user": {
- "uuid": "578A6DA0-A5F0-4879-A50D-D50F425B7448",
- "firstname": "Jean",
- "lastname": "Dupont",
- "email": "jean.dupont@manager.one",
- "phone": "+33123456789"
}, - "type": "virtual_card",
- "expiration_date": "2019-08-24",
- "expiration_datefull": "2019-08-24",
- "last_digits": "1234",
- "initial_amount": 1000,
- "consumed_amount": 200,
- "available_amount": 800
}Retrieves a paginated list of payment transactions associated with a specific bank card.
| card_id required | string^[0-9A-Za-z]+$ Example: CARD9876543210 |
| startDate | string <date-time> ^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])... Example: startDate=2022-12-31T23:59:59.999Z |
| endDate | string <date-time> ^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])... Example: endDate=2023-01-31 |
| page | integer Default: 1 Page number of the transaction list. |
| page_size | integer Default: 10 Number of transactions to return per page. |
{- "current_page": 1,
- "total_pages": 5,
- "total_items": 50,
- "transactions": [
- {
- "transactionId": "TXN123456789",
- "card_id": "CARD9876543210",
- "amount": 100,
- "currency": "EUR",
- "timestamp": "2023-01-01T12:00:00Z",
- "type": "payment",
- "status": "completed",
- "description": "Payment at Store A"
}
]
}Retrieves a history of all gift card conversions, bank card deposits and fees (renewal or account management).
| card_id required | string^[0-9A-Za-z]+$ Example: CARD9876543210 |
| startDate | string <date-time> ^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])... Start date for filtering the transaction history. |
| endDate | string <date-time> <= 32 characters ^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])... End date for filtering the transaction history. |
| page | integer <int32> [ 0 .. 1024 ] Default: 1 Page number for pagination. |
| page_size | integer <int32> [ 0 .. 100 ] Default: 10 Number of transactions per page. |
{- "transactions": [
- {
- "transactionId": "TXN123456789",
- "card_id": "CARD9876543210",
- "amount": 100,
- "currency": "EUR",
- "timestamp": "2023-01-01T12:00:00Z",
- "type": "payment",
- "status": "completed",
- "description": "Payment at Store A"
}
], - "page": 1,
- "total_pages": 5,
- "total_items": 50
}Retrieves a list of export jobs for a specific program, including pagination and ordering options.
| programId required | string The unique identifier of the program |
| page | integer Default: 1 Page number for pagination. |
| page_size | integer Default: 10 Number of jobs per page. |
| orderBy | string Default: "createdAt_desc" Enum: "createdAt_asc" "createdAt_desc" Order by creation date, ascending or descending. |
{- "total_items": 150,
- "total_pages": 15,
- "current_page": 1,
- "jobs": [
- {
- "jobId": "job_9876543210",
- "status": "pending",
- "createdAt": "2023-09-15T12:34:56Z",
}
]
}Initiates an asynchronous job to export details of all bank cards linked to a specific program. Returns a job ID for status checking.
| programId required | string The unique identifier of the program |
| status | string Filter cards by their status (e.g., active, blocked, expired) |
| startDate | string <date> Filter cards that were issued after this date |
| endDate | string <date> Filter cards that expire before this date |
{- "message": "Export job initiated successfully.",
- "jobId": "job_123456789"
}Returns the current status of an export job, including the download link once available.
| jobId required | string The job ID returned by the export initiation endpoint |
| programId required | string The unique identifier of the program |
{- "jobId": "job_9876543210",
- "status": "pending",
- "createdAt": "2023-09-15T12:34:56Z",
}Updates the available balance of a specific bank card. This endpoint can set a new balance directly, useful for manual adjustments or corrections.
| card_id required | string Example: CARD1234567890 The unique identifier of the bank card. |
| balance required | number <float> The new balance to be set on the card. |
{- "balance": 1500.5
}{- "message": "Balance has been successfully updated.",
- "card_id": "CARD1234567890",
- "newBalance": 1500.5
}[- {
- "name": "Mall Program",
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit...",
- "location": "Global",
- "stores": [
], - "renewalFee": true,
- "renewalAmount": 20,
- "giftCardEnabled": true,
- "giftCardSettings": {
- "name": "Standard Gift Card",
- "processor": "Processor Name",
- "codeId": "XYZ123",
- "codeCrc": "luhn",
- "codeLen": 19,
- "pinLen": 4,
- "pinComplexity": 3,
- "pinMandatory": true,
- "allowDecimal": true,
- "allowBulk": false,
- "uniqueref": true,
- "minAmount": 1,
- "maxAmount": 100,
- "format": "Card Number Format",
- "allowNoValidity": true,
- "allowModifyValidity": true,
- "useStock": true,
- "stock": 1000
}
}
]| name | string <= 100 characters |
| description | string <= 1024 characters |
| location | string <= 255 characters |
Array of objects (Store) <= 100 items | |
| renewalFee | boolean |
| renewalAmount | number <float> |
| giftCardEnabled | boolean Indicates whether the use of gift cards is enabled for this program. |
object (GiftCardProgram) |
{- "name": "Mall Program",
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit...",
- "location": "Global",
- "stores": [
], - "renewalFee": true,
- "renewalAmount": 20,
- "giftCardEnabled": true,
- "giftCardSettings": {
- "name": "Standard Gift Card",
- "processor": "Processor Name",
- "codeId": "XYZ123",
- "codeCrc": "luhn",
- "codeLen": 19,
- "pinLen": 4,
- "pinComplexity": 3,
- "pinMandatory": true,
- "allowDecimal": true,
- "allowBulk": false,
- "uniqueref": true,
- "minAmount": 1,
- "maxAmount": 100,
- "format": "Card Number Format",
- "allowNoValidity": true,
- "allowModifyValidity": true,
- "useStock": true,
- "stock": 1000
}
}{- "name": "Mall Program",
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit...",
- "location": "Global",
- "stores": [
], - "renewalFee": true,
- "renewalAmount": 20,
- "giftCardEnabled": true,
- "giftCardSettings": {
- "name": "Standard Gift Card",
- "processor": "Processor Name",
- "codeId": "XYZ123",
- "codeCrc": "luhn",
- "codeLen": 19,
- "pinLen": 4,
- "pinComplexity": 3,
- "pinMandatory": true,
- "allowDecimal": true,
- "allowBulk": false,
- "uniqueref": true,
- "minAmount": 1,
- "maxAmount": 100,
- "format": "Card Number Format",
- "allowNoValidity": true,
- "allowModifyValidity": true,
- "useStock": true,
- "stock": 1000
}
}| programId required | string |
| name | string |
| description | string |
{- "name": "string",
- "description": "string"
}{- "name": "Mall Program",
- "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit...",
- "location": "Global",
- "stores": [
], - "renewalFee": true,
- "renewalAmount": 20,
- "giftCardEnabled": true,
- "giftCardSettings": {
- "name": "Standard Gift Card",
- "processor": "Processor Name",
- "codeId": "XYZ123",
- "codeCrc": "luhn",
- "codeLen": 19,
- "pinLen": 4,
- "pinComplexity": 3,
- "pinMandatory": true,
- "allowDecimal": true,
- "allowBulk": false,
- "uniqueref": true,
- "minAmount": 1,
- "maxAmount": 100,
- "format": "Card Number Format",
- "allowNoValidity": true,
- "allowModifyValidity": true,
- "useStock": true,
- "stock": 1000
}
}