Introduction About Distributor API Live and Sandbox environments Building your backend Events and Webhooks Headers HTTP Status Codes Authentication TAGPAY Distributor API (v1.7.0) Download OpenAPI specification:Download Introduction Welcome to the Skaleet APIs documentation. Here you can learn everything you need to know about our API and how to interact with Skaleet! This documentation is designed to give you complete information about technical specifications, endpoints, attributes, requests and responses, error codes, validation, ... that will help you to set up the product. About Distributor API The Distributor API allows you to discover the payment solutions and financial services we offer: acquiring, card issuing, bank transfer SEPA, KYC/KYB management… The API is available in REST. To use the Distributor API, it is necessary to respect the requested formats : Country : ISO 3166-1 alpha-2 (DE, DE, US, GB...). Read more at https://fr.wikipedia.org/wiki/ISO_3166-2 Language / locale : IETF Language Tag (e.g. fr_FR, en_US, en_GB...) Currency : ISO 4217 (3-letter code : EUR, USD, GBP...). Read more at https://fr.wikipedia.org/wiki/ISO_4217 Amount : All API requests expect amounts to be provided in a currency’s smallest unit. For example, to charge $1 USD, provide an amount value of 100 (i.e, 100 cents). For zero-decimal currencies, still provide amounts as an integer but without multiplying by 100. For example, to charge ¥100, simply provide an amount value of 100. Phone : E.164 format [country code][area code][local phone number] no plus sign (i.e. 33612345678). Read more at https://en.wikipedia.org/wiki/E.164 Date-time : ISO 8601 UTC time (e.g. 2018-11-19T17:13:38Z). Read more at https://en.wikipedia.org/wiki/ISO_8601 Date : Shorter version of ISO 8601 without time [YYYY-MM-DD] Documents : Documents (files) are encoded in base64 format. You can download or upload a document as a base64 string and decode to its original file format (png, pdf, etc.) The field and parameter names in requests are case sensitive. You need to use Content-Type "application/json" to send requests. The request and response body encoding are always in UTF-8. You will find below all the Objects of the Distributor API. To access the test environment (Sandbox) and try out the API, you must contact TagPay Demo. Live and Sandbox environments API is located at https://demo.tagpay.fr/api/distributor/v1 Contact us to identify your live and sandbox environments Building your backend You should develop a backend for your web and mobile clients to access TagPay Demo features. Your backend system will manage both communication to the Distributor API and internal operations such as user authentication, and custom security features like sms validation (once the sms is confirmed you can send the request to TagPay Demo to transfer money). You should also store a copy of certain data relating to TagPay Demo to decrease latency and increase resiliency when users review previous transfers they made or recipients they sent funds to. The extent of what you store will depend on your integration. Events and Webhooks Use webhooks to be notified about events that happen in a TagPay Demo account. This is especially useful for asynchronous events like a disputed charge or a credit transfer received, events that are not triggered by a direct API request Your application can subscribe to those events by providing a webhook (e.g. https://api.my-website.com/webhook). When the event occurs the API creates an Event object and send it to your webhook. Example of events : Account change (KYC validated, blocked, limit reached) Transaction (pending, settled, refused), i.e. Incoming SCT received, Outgoing SCT refused Important : To acknowledge receipt of a webhook, your endpoint should return a 2xx HTTP status code. You can query to reconcile your data with any missed events at /events. Headers You can pass parameters in the header as follow : Accept-Language string Example: "en-US" End-user prefered language, will be used for text translations. User-Agent string Example: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36" End-user user agent. Forwarded string Example: "Forwarded: for=192.0.2.60; proto=http; by=203.0.113.43" End-user IP address. HTTP Status Codes HTTP Status Codes We use Common HTTP status codes included in the response header to indicate success or failure. Code Description 200 OK. Successful request. 201 OK. Resource created. 400 Bad request. Request message data did not pass validation. 401 Unauthorised. Not authorised to access requested data. 403 Forbidden. Access to requested data is forbidden. 404 Not Found. Requested resource does not exist. 408 Timeout. Operation timed out. 422 Unprocessable entity. Request message data did not pass validation. 500 API server error. Authentication The Distributor API uses the OAuth2 following token grant flows: Client credentials grant Password grant Refresh token grant OAuth2 Security Scheme Type OAuth2 clientCredentials OAuth Flow Token URL: https://demo.tagpay.fr/api/distributor/v1/oauth2/token Scopes: user_view - Can list and retrieve users user_creation - Can create a user user_update - Can update a user user_deactivate - Can deactivate a user recipient_management - Can create, delete and list user's recipients relation_management - Can list, create and delete user's relations profile_view - Can list the profiles available to the distributor kyc_view - Can access kyc requirements document_management - Can view and add documents to users account_view - Can list and retrieve users’ accounts account_creation - Can create accounts for users externalid_update - Can update external Id fields account_close - Can close users' accounts account_block - Can block users' accounts account_unblock - Can unblock users' accounts transaction_view - Can list and retrieve transactions transaction_export - Can export all transactions or part of them using filters payout - Can initiate an External Transfer (Distributor Payout) posting - Can initiate an External Direct Debit (Distributor Payin) payin - Can initiate an Internal Transfer (Distributor Posting) event_management - Can manage hooks card_view - Can list and retrieve cards card_creation - Can create a card for an account card_update - Can update a card card_activate - Can activate a card for an account card_deactivate - Can deactivate a card for an account card_block - Can block a card for an account card_unblock - Can unblock a card for an account card_oppose - Can oppose a card for an account card_option - Can manage options for a card card_reissue_pincode - Can reissue the pincode of a card card_refabrication - Can refabricate a card accounting_view - Can list and retrieve accounting entries accounting_export - Can export all accounting entries or part of them using filters password_update - Change distributor password required_action - Can update a user's required action iban_modification - Can modify an account's IBAN identity_profile_change - Allow the API client to change the Profile of an Identity identity_status_change - Allow the API client to change the status of an Identity Pre-requisites To access this API you must have a registered user account on the TagPay Demo platform. Please see the platform documentation to find out how to obtain the API key for the user account you wish to use to consume the platform API services. Obtaining an Access Token In order to obtain an Access Token, you must POST to the URL https://demo.tagpay.fr/api/distributor/v1/oauth2/token using a Content-type: application/json header and a JSON body containing the following items: Field Type Description grant_type string Accepted values are "client_credentials", "password", "refresh_token" client_id string the API key identifier client_secret string the API key secret scope string with a space-delimited list of requested scope permissions - If missing all scopes will be returned if configuration allows it (except for refresh_token grant type) username string Delegate user login ( password grant type only ) password string Delegate user password ( password grant type only ) refresh_token string When refreshing an expired access token using password grant Request body example Client credentials grant (Distributor identity only) { "grant_type":"client_credentials", "client_id":"my-api-key-identifier", "client_secret":"eb5d1477-0dab-4b36-bc3e-9da6d6cc25ba", "scope": "the scopes list" } Password grant (Delegate User only) { "grant_type":"password", "client_id":"app-api-key-identifier", "client_secret":"087915e5-9372-4edf-83e5-83631fda114f", "username": "delegate-user-login", "password": "delegate-user-password", "scope": "the scopes list" } Refresh token grant (Delegate User only) { "grant_type":"refresh_token", "client_id":"app-api-key-identifier", "client_secret":"087915e5-9372-4edf-83e5-83631fda114f", "refresh_token": "the-refresh-token", "scope": "the scopes list" } Response body example Calling the URL as described above will yield a response similar to this (actual token cut off with [...] for brevity): { "token_type": "Bearer", "expires_in": 59940, "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImVjNTY0MzI5ODNiMzJj[...]" } Note: the expires_in value is expressed in seconds. When using Password Grant and Refresh Token Grant an additional response parameter is returned { ... "refresh_token": "def502001a3fd579643cedd176f96425a2c3fb81d9ebbd0fb52c7337a194e7b[...]" } Now that you have an Access Token The thus obtained access token must be provided in the HTTP request header Authorization for each API call prefixed by the word Bearer (with the trailing space): Authorization: Bearer your_api_token Access token lifetime The access token has the same lifetime as a user's session (defined in the platform configuration), with the significant difference that it's lifetime is not extended upon each API action. Therefore, the access token will expire after it's predefined lifetime has expired, resulting in a HTTP 401 Unauthorized response with the message Access token is invalid. It is the API consumer's responsibility to detect such response, to obtain a fresh access token using the process described above, and optionally to issue the failed request anew. Configuration Get latest public key GET /oauth2/public-keys/latest Responses 200 the latest public key in X.509 format RESPONSE SCHEMA: application/x-pem-file string Distributor Get configuration GET /configuration Get distributor's configuration Responses 200 Distributor configuration response. RESPONSE SCHEMA: application/json u2fRequired required boolean Tell if u2f authentication is required for the distributor hasU2fDevice required boolean Tell if distributor has a paired u2f device mustChangePassword required boolean Tell if distributor has to change his password defaultLanguage string Platform default langage defaultColor string Platform default color currencies Array of objects Plaform currencies links Array of objects Platform logo's url 400 An error occured Response samples 200400 Content type application/json Copy Expand all Collapse all { "defaultLanguage": "en_US", "defaultColor": "#286A38", "u2fRequired": true, "hasU2fDevice": true, "mustChangePassword": false, "currencies": [ { } ], "links": [ { } ] } Password update PUT /password Update distributor password when required by configuration REQUEST BODY SCHEMA: application/json Password update request currentPassword required string Current distributor password newPassword required string New distributor password Responses 200 Password update response RESPONSE SCHEMA: application/json object 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "currentPassword": "string", "newPassword": "string" } Response samples 200400 Content type application/json Copy Expand all Collapse all { } U2F Request U2F Registration GET /u2f/register Ask for an U2F registration Responses 200 U2F Registration request response RESPONSE SCHEMA: application/json registerRequest required object (RegisterRequest) signRequests Array of objects (SignRequest) 400 An error occured Response samples 200400 Content type application/json Copy Expand all Collapse all { "registerRequest": { "version": "string", "challenge": "string", "appId": "string" }, "signRequests": [ { } ] } U2F Register POST /u2f/register Register an U2F Device Key REQUEST BODY SCHEMA: application/json Registration data alias required string U2F Key alias challengeResponse required object (RegisterChallengeResponse) Responses 200 U2F Register response RESPONSE SCHEMA: application/json object 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "alias": "string", "challengeResponse": { "errorCode": 0, "registrationData": "string", "clientData": "string" } } Response samples 200400 Content type application/json Copy Expand all Collapse all { } Request U2F Authentication GET /u2f/authenticate Ask for an U2F authentication Responses 200 U2F Authentication request response RESPONSE SCHEMA: application/json signRequests required Array of objects (SignRequest) 400 An error occured Response samples 200400 Content type application/json Copy Expand all Collapse all { "signRequests": [ { } ] } U2F Authenticate POST /u2f/authenticate Authenticate an U2F Device Key REQUEST BODY SCHEMA: application/json Authentication data keyHandle required string signatureData required string clientData required string errorCode integer Responses 200 U2F Authentication response RESPONSE SCHEMA: application/json object 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "errorCode": 0, "keyHandle": "string", "signatureData": "string", "clientData": "string" } Response samples 200400 Content type application/json Copy Expand all Collapse all { } Users List all users GET /users A “user” represents a natural person or a legal entity who has contracted with the bank, and owns one or several accounts in the system. A user is defined by an identifier called id for the identifier generated by Skaleet or externalId for the identifier generated by the Distributor and stored in the database. A ‘role’ is assigned to each user. The role defines how an user may be implied in the financial services managed by the platform. Distributors may manage users belonging to the following roles Client, Company, Merchant, Agent. AUTHORIZATIONS: OAuth2 (user_view) QUERY PARAMETERS firstName string lastName string legalName string birthDate string <date> email string <email> profileId string (UserProfileId) Example: profileId=1 Id for a profile. List all profiles at GET /users/profiles externalId string (UserExternalId) Example: externalId=EXT123456789 Client custom data for UserId status string (UserStatus) Enum: "INITIATED" "PENDING" "OPENED" "BLOCKED" "CLOSED" "INIBLOCKED" role string|null (Role) Enum: "CLIENT" "COMPANY" "MERCHANT" "AGENT" "NON_CUSTOMER" "DISTRIBUTOR" "DELEGATE_USER" A user can be a CLIENT, a COMPANY, a MERCHANT, an AGENT, a DISTRIBUTOR, a DELEGATE_USER or a NON_CUSTOMER legalType string (LegalType) Enum: "NATURAL_PERSON" "LEGAL_ENTITY" The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "firstName" "lastName" "legalName" "birthDate" "email" "profileId" "externalId" "status" "role" "legalType" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Users found for this search RESPONSE SCHEMA: application/json items Array of objects collection of users count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Create a user POST /users AUTHORIZATIONS: OAuth2 (user_creation) REQUEST BODY SCHEMA: application/json user to add to the system mainMobile string (For client usage only) Allow to create a client with it's main mobile phone legalType string (LegalType) The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user NATURAL_PERSON profileId string (UserProfileId) Id for a profile. List all profiles at GET /users/profiles externalId string (UserExternalId) Client custom data for UserId userPin string If specified, allow user to be created with this specific pin code. Agent and merchant will have to change their pin on first usage login string email string <email> lang string (Lang) Enum: "en_UK" "es_ES" "fr_FR" "pt_PT" Locale identificator address object (UserAddress) Nullable taxAddress object (UserAddress) Nullable idNumber string nationality string otherNationality string contactPhone string (Phone) Phone number in international format (e.g. 33612354678) activitySectorCode string specialAttributes object An object containing values submitted / modified by the user. List available fields and format at GET /users/kyc gender string (Gender) Enum: "MALE" "FEMALE" "NONE" personTitle string (Title) Enum: "MR" "MS" "MRS" firstName string lastName string postName string maidenName string alias string birthDate string <date> birthCountry string (Country) 2 characters Two letter iso code of associated country (2 letters code) birthPlace string deathDate string <date> jobTitle string incomeRange string averageSalary string cumulativeSalary string socioProfessionalCategory string u2fRequired boolean (Only available for delegate users) U2F authentication flag expirationDate string <date> (Only available for delegate users) User's expiration date legalCategory string registrationNumber string businessDirectory string spouseFirstName string marriedName string familyName string givenName string notTaxResident boolean birthDepartment string birthCounty string additionalAttributes object Responses 201 User creation response. RESPONSE SCHEMA: application/json legalType string (LegalType) The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user NATURAL_PERSON profileId string (UserProfileId) Id for a profile. List all profiles at GET /users/profiles id string TagPay Demo user id externalId string (UserExternalId) Client custom data for UserId role string|null Enum: "CLIENT" "COMPANY" "MERCHANT" "AGENT" "NON_CUSTOMER" "DISTRIBUTOR" "DELEGATE_USER" A user can be a CLIENT, a COMPANY, a MERCHANT, an AGENT, a DISTRIBUTOR, a DELEGATE_USER or a NON_CUSTOMER status string Enum: "INITIATED" "PENDING" "OPENED" "BLOCKED" "CLOSED" "INIBLOCKED" distributorId string Distributor Id createdAt string <date-time> login string email string <email> lang string (Lang) Enum: "en_UK" "es_ES" "fr_FR" "pt_PT" Locale identificator address object (UserAddress) Nullable taxAddress object (UserAddress) Nullable idNumber string nationality string otherNationality string contactPhone string (Phone) Phone number in international format (e.g. 33612354678) activitySectorCode string specialAttributes object An object containing values submitted / modified by the user. List available fields and format at GET /users/kyc gender string (Gender) Enum: "MALE" "FEMALE" "NONE" personTitle string (Title) Enum: "MR" "MS" "MRS" firstName string lastName string postName string maidenName string alias string birthDate string <date> birthCountry string (Country) 2 characters Two letter iso code of associated country (2 letters code) birthPlace string deathDate string <date> jobTitle string incomeRange string averageSalary string cumulativeSalary string socioProfessionalCategory string u2fRequired boolean (Only available for delegate users) U2F authentication flag expirationDate string <date> (Only available for delegate users) User's expiration date legalCategory string registrationNumber string businessDirectory string spouseFirstName string marriedName string familyName string givenName string notTaxResident boolean birthDepartment string birthCounty string additionalAttributes object 400 An error occured Request samples Payload Content type application/json Example NATURAL_PERSON Copy Expand all Collapse all { "mainMobile": 33600000000, "legalType": "NATURAL_PERSON", "profileId": "1", "externalId": "EXT123456789", "userPin": 1337, "login": "myLogin", "email": "my.email@example.com", "lang": "fr_FR", "address": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "taxAddress": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "idNumber": "AZE123456789", "nationality": "French", "otherNationality": "German", "contactPhone": 33612354678, "activitySectorCode": "ACTIVITY12345", "specialAttributes": { "icsCode": "ICS123456", "building": "D2", "mainBusiness": "Car seller" }, "gender": "MALE", "personTitle": "MR", "firstName": "John", "lastName": "Doe", "postName": "Junior", "maidenName": "Dupont", "alias": "JD", "birthDate": "2019-08-24", "birthCountry": "FR", "birthPlace": "Paris", "deathDate": "2019-08-24", "jobTitle": "Account manager", "incomeRange": "30 000 €", "averageSalary": "4000 €", "cumulativeSalary": "45 000 €", "socioProfessionalCategory": "Employee", "u2fRequired": false, "expirationDate": "2019-08-24", "legalCategory": "string", "registrationNumber": "string", "businessDirectory": "string", "spouseFirstName": "string", "marriedName": "string", "familyName": "string", "givenName": "string", "notTaxResident": true, "birthDepartment": "string", "birthCounty": "string", "additionalAttributes": { "category": 0, "categoryName": "string", "subcategoryId": 0, "subcategoryName": "string" } } Response samples 201400 Content type application/json Example NATURAL_PERSON Copy Expand all Collapse all { "legalType": "NATURAL_PERSON", "profileId": "1", "id": "string", "externalId": "EXT123456789", "role": "CLIENT", "status": "INITIATED", "distributorId": "string", "createdAt": "2019-08-24T14:15:22Z", "login": "myLogin", "email": "my.email@example.com", "lang": "fr_FR", "address": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "taxAddress": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "idNumber": "AZE123456789", "nationality": "French", "otherNationality": "German", "contactPhone": 33612354678, "activitySectorCode": "ACTIVITY12345", "specialAttributes": { "icsCode": "ICS123456", "building": "D2", "mainBusiness": "Car seller" }, "gender": "MALE", "personTitle": "MR", "firstName": "John", "lastName": "Doe", "postName": "Junior", "maidenName": "Dupont", "alias": "JD", "birthDate": "2019-08-24", "birthCountry": "FR", "birthPlace": "Paris", "deathDate": "2019-08-24", "jobTitle": "Account manager", "incomeRange": "30 000 €", "averageSalary": "4000 €", "cumulativeSalary": "45 000 €", "socioProfessionalCategory": "Employee", "u2fRequired": false, "expirationDate": "2019-08-24", "legalCategory": "string", "registrationNumber": "string", "businessDirectory": "string", "spouseFirstName": "string", "marriedName": "string", "familyName": "string", "givenName": "string", "notTaxResident": true, "birthDepartment": "string", "birthCounty": "string", "additionalAttributes": { "category": 0, "categoryName": "string", "subcategoryId": 0, "subcategoryName": "string" } } Retrieve a user GET /users/{userId} AUTHORIZATIONS: OAuth2 (user_view) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id Responses 200 User information RESPONSE SCHEMA: application/json legalType string (LegalType) The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user NATURAL_PERSON profileId string (UserProfileId) Id for a profile. List all profiles at GET /users/profiles id string TagPay Demo user id externalId string (UserExternalId) Client custom data for UserId role string|null Enum: "CLIENT" "COMPANY" "MERCHANT" "AGENT" "NON_CUSTOMER" "DISTRIBUTOR" "DELEGATE_USER" A user can be a CLIENT, a COMPANY, a MERCHANT, an AGENT, a DISTRIBUTOR, a DELEGATE_USER or a NON_CUSTOMER status string Enum: "INITIATED" "PENDING" "OPENED" "BLOCKED" "CLOSED" "INIBLOCKED" distributorId string Distributor Id createdAt string <date-time> login string email string <email> lang string (Lang) Enum: "en_UK" "es_ES" "fr_FR" "pt_PT" Locale identificator address object (UserAddress) Nullable taxAddress object (UserAddress) Nullable idNumber string nationality string otherNationality string contactPhone string (Phone) Phone number in international format (e.g. 33612354678) activitySectorCode string specialAttributes object An object containing values submitted / modified by the user. List available fields and format at GET /users/kyc gender string (Gender) Enum: "MALE" "FEMALE" "NONE" personTitle string (Title) Enum: "MR" "MS" "MRS" firstName string lastName string postName string maidenName string alias string birthDate string <date> birthCountry string (Country) 2 characters Two letter iso code of associated country (2 letters code) birthPlace string deathDate string <date> jobTitle string incomeRange string averageSalary string cumulativeSalary string socioProfessionalCategory string u2fRequired boolean (Only available for delegate users) U2F authentication flag expirationDate string <date> (Only available for delegate users) User's expiration date legalCategory string registrationNumber string businessDirectory string spouseFirstName string marriedName string familyName string givenName string notTaxResident boolean birthDepartment string birthCounty string additionalAttributes object 404 Requested user was not found Response samples 200404 Content type application/json Example NATURAL_PERSON Copy Expand all Collapse all { "legalType": "NATURAL_PERSON", "profileId": "1", "id": "string", "externalId": "EXT123456789", "role": "CLIENT", "status": "INITIATED", "distributorId": "string", "createdAt": "2019-08-24T14:15:22Z", "login": "myLogin", "email": "my.email@example.com", "lang": "fr_FR", "address": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "taxAddress": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "idNumber": "AZE123456789", "nationality": "French", "otherNationality": "German", "contactPhone": 33612354678, "activitySectorCode": "ACTIVITY12345", "specialAttributes": { "icsCode": "ICS123456", "building": "D2", "mainBusiness": "Car seller" }, "gender": "MALE", "personTitle": "MR", "firstName": "John", "lastName": "Doe", "postName": "Junior", "maidenName": "Dupont", "alias": "JD", "birthDate": "2019-08-24", "birthCountry": "FR", "birthPlace": "Paris", "deathDate": "2019-08-24", "jobTitle": "Account manager", "incomeRange": "30 000 €", "averageSalary": "4000 €", "cumulativeSalary": "45 000 €", "socioProfessionalCategory": "Employee", "u2fRequired": false, "expirationDate": "2019-08-24", "legalCategory": "string", "registrationNumber": "string", "businessDirectory": "string", "spouseFirstName": "string", "marriedName": "string", "familyName": "string", "givenName": "string", "notTaxResident": true, "birthDepartment": "string", "birthCounty": "string", "additionalAttributes": { "category": 0, "categoryName": "string", "subcategoryId": 0, "subcategoryName": "string" } } Update a user PUT /users/{userId} Update user information. AUTHORIZATIONS: OAuth2 (user_update) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id REQUEST BODY SCHEMA: application/json Update a user legalType string (LegalType) The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user NATURAL_PERSON profileId string (UserProfileId) Id for a profile. List all profiles at GET /users/profiles externalId string (UserExternalId) Client custom data for UserId userPin string If specified, allow user to be created with this specific pin code. Agent and merchant will have to change their pin on first usage login string email string <email> lang string (Lang) Enum: "en_UK" "es_ES" "fr_FR" "pt_PT" Locale identificator address object (UserAddress) Nullable taxAddress object (UserAddress) Nullable idNumber string nationality string otherNationality string contactPhone string (Phone) Phone number in international format (e.g. 33612354678) activitySectorCode string specialAttributes object An object containing values submitted / modified by the user. List available fields and format at GET /users/kyc gender string (Gender) Enum: "MALE" "FEMALE" "NONE" personTitle string (Title) Enum: "MR" "MS" "MRS" firstName string lastName string postName string maidenName string alias string birthDate string <date> birthCountry string (Country) 2 characters Two letter iso code of associated country (2 letters code) birthPlace string deathDate string <date> jobTitle string incomeRange string averageSalary string cumulativeSalary string socioProfessionalCategory string u2fRequired boolean (Only available for delegate users) U2F authentication flag expirationDate string <date> (Only available for delegate users) User's expiration date legalCategory string registrationNumber string businessDirectory string spouseFirstName string marriedName string familyName string givenName string notTaxResident boolean birthDepartment string birthCounty string additionalAttributes object Responses 200 User modification response. RESPONSE SCHEMA: application/json legalType string (LegalType) The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user NATURAL_PERSON profileId string (UserProfileId) Id for a profile. List all profiles at GET /users/profiles id string TagPay Demo user id externalId string (UserExternalId) Client custom data for UserId role string|null Enum: "CLIENT" "COMPANY" "MERCHANT" "AGENT" "NON_CUSTOMER" "DISTRIBUTOR" "DELEGATE_USER" A user can be a CLIENT, a COMPANY, a MERCHANT, an AGENT, a DISTRIBUTOR, a DELEGATE_USER or a NON_CUSTOMER status string Enum: "INITIATED" "PENDING" "OPENED" "BLOCKED" "CLOSED" "INIBLOCKED" distributorId string Distributor Id createdAt string <date-time> login string email string <email> lang string (Lang) Enum: "en_UK" "es_ES" "fr_FR" "pt_PT" Locale identificator address object (UserAddress) Nullable taxAddress object (UserAddress) Nullable idNumber string nationality string otherNationality string contactPhone string (Phone) Phone number in international format (e.g. 33612354678) activitySectorCode string specialAttributes object An object containing values submitted / modified by the user. List available fields and format at GET /users/kyc gender string (Gender) Enum: "MALE" "FEMALE" "NONE" personTitle string (Title) Enum: "MR" "MS" "MRS" firstName string lastName string postName string maidenName string alias string birthDate string <date> birthCountry string (Country) 2 characters Two letter iso code of associated country (2 letters code) birthPlace string deathDate string <date> jobTitle string incomeRange string averageSalary string cumulativeSalary string socioProfessionalCategory string u2fRequired boolean (Only available for delegate users) U2F authentication flag expirationDate string <date> (Only available for delegate users) User's expiration date legalCategory string registrationNumber string businessDirectory string spouseFirstName string marriedName string familyName string givenName string notTaxResident boolean birthDepartment string birthCounty string additionalAttributes object 400 An error occured Request samples Payload Content type application/json Example NATURAL_PERSON Copy Expand all Collapse all { "legalType": "NATURAL_PERSON", "profileId": "1", "externalId": "EXT123456789", "userPin": 1337, "login": "myLogin", "email": "my.email@example.com", "lang": "fr_FR", "address": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "taxAddress": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "idNumber": "AZE123456789", "nationality": "French", "otherNationality": "German", "contactPhone": 33612354678, "activitySectorCode": "ACTIVITY12345", "specialAttributes": { "icsCode": "ICS123456", "building": "D2", "mainBusiness": "Car seller" }, "gender": "MALE", "personTitle": "MR", "firstName": "John", "lastName": "Doe", "postName": "Junior", "maidenName": "Dupont", "alias": "JD", "birthDate": "2019-08-24", "birthCountry": "FR", "birthPlace": "Paris", "deathDate": "2019-08-24", "jobTitle": "Account manager", "incomeRange": "30 000 €", "averageSalary": "4000 €", "cumulativeSalary": "45 000 €", "socioProfessionalCategory": "Employee", "u2fRequired": false, "expirationDate": "2019-08-24", "legalCategory": "string", "registrationNumber": "string", "businessDirectory": "string", "spouseFirstName": "string", "marriedName": "string", "familyName": "string", "givenName": "string", "notTaxResident": true, "birthDepartment": "string", "birthCounty": "string", "additionalAttributes": { "category": 0, "categoryName": "string", "subcategoryId": 0, "subcategoryName": "string" } } Response samples 200400 Content type application/json Example NATURAL_PERSON Copy Expand all Collapse all { "legalType": "NATURAL_PERSON", "profileId": "1", "id": "string", "externalId": "EXT123456789", "role": "CLIENT", "status": "INITIATED", "distributorId": "string", "createdAt": "2019-08-24T14:15:22Z", "login": "myLogin", "email": "my.email@example.com", "lang": "fr_FR", "address": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "taxAddress": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "idNumber": "AZE123456789", "nationality": "French", "otherNationality": "German", "contactPhone": 33612354678, "activitySectorCode": "ACTIVITY12345", "specialAttributes": { "icsCode": "ICS123456", "building": "D2", "mainBusiness": "Car seller" }, "gender": "MALE", "personTitle": "MR", "firstName": "John", "lastName": "Doe", "postName": "Junior", "maidenName": "Dupont", "alias": "JD", "birthDate": "2019-08-24", "birthCountry": "FR", "birthPlace": "Paris", "deathDate": "2019-08-24", "jobTitle": "Account manager", "incomeRange": "30 000 €", "averageSalary": "4000 €", "cumulativeSalary": "45 000 €", "socioProfessionalCategory": "Employee", "u2fRequired": false, "expirationDate": "2019-08-24", "legalCategory": "string", "registrationNumber": "string", "businessDirectory": "string", "spouseFirstName": "string", "marriedName": "string", "familyName": "string", "givenName": "string", "notTaxResident": true, "birthDepartment": "string", "birthCounty": "string", "additionalAttributes": { "category": 0, "categoryName": "string", "subcategoryId": 0, "subcategoryName": "string" } } Patch a user PATCH /users/{userId} Patch user information. AUTHORIZATIONS: OAuth2 (user_update) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id REQUEST BODY SCHEMA: application/json Patch a user legalType string (LegalType) The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user NATURAL_PERSON profileId string (UserProfileId) Id for a profile. List all profiles at GET /users/profiles externalId string (UserExternalId) Client custom data for UserId userPin string If specified, allow user to be created with this specific pin code. Agent and merchant will have to change their pin on first usage login string email string <email> lang string (Lang) Enum: "en_UK" "es_ES" "fr_FR" "pt_PT" Locale identificator address object (UserAddress) Nullable taxAddress object (UserAddress) Nullable idNumber string nationality string otherNationality string contactPhone string (Phone) Phone number in international format (e.g. 33612354678) activitySectorCode string specialAttributes object An object containing values submitted / modified by the user. List available fields and format at GET /users/kyc gender string (Gender) Enum: "MALE" "FEMALE" "NONE" personTitle string (Title) Enum: "MR" "MS" "MRS" firstName string lastName string postName string maidenName string alias string birthDate string <date> birthCountry string (Country) 2 characters Two letter iso code of associated country (2 letters code) birthPlace string deathDate string <date> jobTitle string incomeRange string averageSalary string cumulativeSalary string socioProfessionalCategory string u2fRequired boolean (Only available for delegate users) U2F authentication flag expirationDate string <date> (Only available for delegate users) User's expiration date legalCategory string registrationNumber string businessDirectory string spouseFirstName string marriedName string familyName string givenName string notTaxResident boolean birthDepartment string birthCounty string additionalAttributes object Responses 200 User modification response. RESPONSE SCHEMA: application/json legalType string (LegalType) The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user NATURAL_PERSON profileId string (UserProfileId) Id for a profile. List all profiles at GET /users/profiles id string TagPay Demo user id externalId string (UserExternalId) Client custom data for UserId role string|null Enum: "CLIENT" "COMPANY" "MERCHANT" "AGENT" "NON_CUSTOMER" "DISTRIBUTOR" "DELEGATE_USER" A user can be a CLIENT, a COMPANY, a MERCHANT, an AGENT, a DISTRIBUTOR, a DELEGATE_USER or a NON_CUSTOMER status string Enum: "INITIATED" "PENDING" "OPENED" "BLOCKED" "CLOSED" "INIBLOCKED" distributorId string Distributor Id createdAt string <date-time> login string email string <email> lang string (Lang) Enum: "en_UK" "es_ES" "fr_FR" "pt_PT" Locale identificator address object (UserAddress) Nullable taxAddress object (UserAddress) Nullable idNumber string nationality string otherNationality string contactPhone string (Phone) Phone number in international format (e.g. 33612354678) activitySectorCode string specialAttributes object An object containing values submitted / modified by the user. List available fields and format at GET /users/kyc gender string (Gender) Enum: "MALE" "FEMALE" "NONE" personTitle string (Title) Enum: "MR" "MS" "MRS" firstName string lastName string postName string maidenName string alias string birthDate string <date> birthCountry string (Country) 2 characters Two letter iso code of associated country (2 letters code) birthPlace string deathDate string <date> jobTitle string incomeRange string averageSalary string cumulativeSalary string socioProfessionalCategory string u2fRequired boolean (Only available for delegate users) U2F authentication flag expirationDate string <date> (Only available for delegate users) User's expiration date legalCategory string registrationNumber string businessDirectory string spouseFirstName string marriedName string familyName string givenName string notTaxResident boolean birthDepartment string birthCounty string additionalAttributes object 400 An error occured Request samples Payload Content type application/json Example NATURAL_PERSON Copy Expand all Collapse all { "legalType": "NATURAL_PERSON", "profileId": "1", "externalId": "EXT123456789", "userPin": 1337, "login": "myLogin", "email": "my.email@example.com", "lang": "fr_FR", "address": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "taxAddress": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "idNumber": "AZE123456789", "nationality": "French", "otherNationality": "German", "contactPhone": 33612354678, "activitySectorCode": "ACTIVITY12345", "specialAttributes": { "icsCode": "ICS123456", "building": "D2", "mainBusiness": "Car seller" }, "gender": "MALE", "personTitle": "MR", "firstName": "John", "lastName": "Doe", "postName": "Junior", "maidenName": "Dupont", "alias": "JD", "birthDate": "2019-08-24", "birthCountry": "FR", "birthPlace": "Paris", "deathDate": "2019-08-24", "jobTitle": "Account manager", "incomeRange": "30 000 €", "averageSalary": "4000 €", "cumulativeSalary": "45 000 €", "socioProfessionalCategory": "Employee", "u2fRequired": false, "expirationDate": "2019-08-24", "legalCategory": "string", "registrationNumber": "string", "businessDirectory": "string", "spouseFirstName": "string", "marriedName": "string", "familyName": "string", "givenName": "string", "notTaxResident": true, "birthDepartment": "string", "birthCounty": "string", "additionalAttributes": { "category": 0, "categoryName": "string", "subcategoryId": 0, "subcategoryName": "string" } } Response samples 200400 Content type application/json Example NATURAL_PERSON Copy Expand all Collapse all { "legalType": "NATURAL_PERSON", "profileId": "1", "id": "string", "externalId": "EXT123456789", "role": "CLIENT", "status": "INITIATED", "distributorId": "string", "createdAt": "2019-08-24T14:15:22Z", "login": "myLogin", "email": "my.email@example.com", "lang": "fr_FR", "address": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "taxAddress": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "idNumber": "AZE123456789", "nationality": "French", "otherNationality": "German", "contactPhone": 33612354678, "activitySectorCode": "ACTIVITY12345", "specialAttributes": { "icsCode": "ICS123456", "building": "D2", "mainBusiness": "Car seller" }, "gender": "MALE", "personTitle": "MR", "firstName": "John", "lastName": "Doe", "postName": "Junior", "maidenName": "Dupont", "alias": "JD", "birthDate": "2019-08-24", "birthCountry": "FR", "birthPlace": "Paris", "deathDate": "2019-08-24", "jobTitle": "Account manager", "incomeRange": "30 000 €", "averageSalary": "4000 €", "cumulativeSalary": "45 000 €", "socioProfessionalCategory": "Employee", "u2fRequired": false, "expirationDate": "2019-08-24", "legalCategory": "string", "registrationNumber": "string", "businessDirectory": "string", "spouseFirstName": "string", "marriedName": "string", "familyName": "string", "givenName": "string", "notTaxResident": true, "birthDepartment": "string", "birthCounty": "string", "additionalAttributes": { "category": 0, "categoryName": "string", "subcategoryId": 0, "subcategoryName": "string" } } Deactivate a user DELETE /users/{userId} AUTHORIZATIONS: OAuth2 (user_deactivate) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id Responses 200 User desactivation response. RESPONSE SCHEMA: application/json object 400 An error occured Response samples 200400 Content type application/json Copy Expand all Collapse all { } Retrieve a legal entity board member GET /users/{userId}/board-member AUTHORIZATIONS: OAuth2 (user_view) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id Responses 200 Board member information RESPONSE SCHEMA: application/json legalType string (LegalType) Enum: "NATURAL_PERSON" "LEGAL_ENTITY" The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user profileId string (UserProfileId) Id for a profile. List all profiles at GET /users/profiles id string TagPay Demo user id externalId string (UserExternalId) Client custom data for UserId role string|null Enum: "CLIENT" "COMPANY" "MERCHANT" "AGENT" "NON_CUSTOMER" "DISTRIBUTOR" "DELEGATE_USER" A user can be a CLIENT, a COMPANY, a MERCHANT, an AGENT, a DISTRIBUTOR, a DELEGATE_USER or a NON_CUSTOMER status string Enum: "INITIATED" "PENDING" "OPENED" "BLOCKED" "CLOSED" "INIBLOCKED" distributorId string Distributor Id createdAt string <date-time> login string email string <email> lang string (Lang) Enum: "en_UK" "es_ES" "fr_FR" "pt_PT" Locale identificator address object (UserAddress) Nullable taxAddress object (UserAddress) Nullable idNumber string nationality string otherNationality string contactPhone string (Phone) Phone number in international format (e.g. 33612354678) activitySectorCode string specialAttributes object An object containing values submitted / modified by the user. List available fields and format at GET /users/kyc gender string (Gender) Enum: "MALE" "FEMALE" "NONE" personTitle string (Title) Enum: "MR" "MS" "MRS" firstName string lastName string postName string maidenName string alias string birthDate string <date> birthCountry string (Country) 2 characters Two letter iso code of associated country (2 letters code) birthPlace string deathDate string <date> jobTitle string incomeRange string averageSalary string cumulativeSalary string socioProfessionalCategory string u2fRequired boolean (Only available for delegate users) U2F authentication flag expirationDate string <date> (Only available for delegate users) User's expiration date legalCategory string registrationNumber string businessDirectory string spouseFirstName string marriedName string familyName string givenName string notTaxResident boolean birthDepartment string birthCounty string additionalAttributes object 404 cannot found any board member Response samples 200404 Content type application/json Copy Expand all Collapse all { "legalType": "NATURAL_PERSON", "profileId": "1", "id": "string", "externalId": "EXT123456789", "role": "CLIENT", "status": "INITIATED", "distributorId": "string", "createdAt": "2019-08-24T14:15:22Z", "login": "myLogin", "email": "my.email@example.com", "lang": "fr_FR", "address": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "taxAddress": { "line1": "88 rue du dôme", "line2": "Apt 3", "zipcode": "92100", "province": "Ile-de-france", "city": "Boulogne-Billancourt", "country": "FR" }, "idNumber": "AZE123456789", "nationality": "French", "otherNationality": "German", "contactPhone": 33612354678, "activitySectorCode": "ACTIVITY12345", "specialAttributes": { "icsCode": "ICS123456", "building": "D2", "mainBusiness": "Car seller" }, "gender": "MALE", "personTitle": "MR", "firstName": "John", "lastName": "Doe", "postName": "Junior", "maidenName": "Dupont", "alias": "JD", "birthDate": "2019-08-24", "birthCountry": "FR", "birthPlace": "Paris", "deathDate": "2019-08-24", "jobTitle": "Account manager", "incomeRange": "30 000 €", "averageSalary": "4000 €", "cumulativeSalary": "45 000 €", "socioProfessionalCategory": "Employee", "u2fRequired": false, "expirationDate": "2019-08-24", "legalCategory": "string", "registrationNumber": "string", "businessDirectory": "string", "spouseFirstName": "string", "marriedName": "string", "familyName": "string", "givenName": "string", "notTaxResident": true, "birthDepartment": "string", "birthCounty": "string", "additionalAttributes": { "category": 0, "categoryName": "string", "subcategoryId": 0, "subcategoryName": "string" } } Reset delegate user's password POST /users/{userId}/actions/reset-password AUTHORIZATIONS: OAuth2 (password_reset) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id Responses 200 Empty json response if operation succeded 404 Requested user was not found Response samples 404 Content type application/json Copy Expand all Collapse all { "error": { "code": 1234, "message": "something went wrong because requirement X was not met.", "hint": "string" } } Get user's required action GET /users/{userId}/actions/required-action AUTHORIZATIONS: OAuth2 (required_action) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id Responses 200 Actual required action and possible values RESPONSE SCHEMA: application/json requiredAction object (UserRequiredAction) reason string values Array of objects (UserRequiredAction) 404 Requested user was not found Response samples 200404 Content type application/json Copy Expand all Collapse all { "requiredAction": { "id": "ADMIN_ACTION_REQUIRED", "label": "Required action for admin" }, "reason": "Please update documents", "values": [ { } ] } Update a user's required action PUT /users/{userId}/actions/required-action AUTHORIZATIONS: OAuth2 (required_action) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id REQUEST BODY SCHEMA: application/json Required action requiredAction required string reason string Responses 200 Updated required action RESPONSE SCHEMA: application/json requiredAction required string reason string 400 Required action value incorrect 404 Requested user was not found Request samples Payload Content type application/json Copy Expand all Collapse all { "requiredAction": "ADMIN_ACTION_REQUIRED", "reason": "Please update documents" } Response samples 200400404 Content type application/json Copy Expand all Collapse all { "requiredAction": "ADMIN_ACTION_REQUIRED", "reason": "Please update documents" } List all profiles GET /users/profiles AUTHORIZATIONS: OAuth2 (profile_view) QUERY PARAMETERS role string (UserProfileRole) Enum: "Client" "Agent" "Merchant" "Company" "DelegateUser" Responses 200 User profiles found for this search RESPONSE SCHEMA: application/json items Array of objects collection of profiles count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { }, { }, { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Retrieve KYC requirements GET /users/kyc AUTHORIZATIONS: OAuth2 (kyc_view) QUERY PARAMETERS legalType required string (LegalType) Enum: "NATURAL_PERSON" "LEGAL_ENTITY" The user can be a natural person (physical person with firstname and lastname) or a legal entity (company or non-profit with legalName) This property is required when creating a user profileId string (UserProfileId) Example: profileId=1 Id for a profile. List all profiles at GET /users/profiles Responses 200 Segment KYC inputs RESPONSE SCHEMA: application/json items Array of any (Input) Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { }, { }, { } ] } Autocomplete KYC field auto-complete GET /autocomplete/{inputId} PATH PARAMETERS inputId required string (InputId) Example: FIELD123 KYC field identifier QUERY PARAMETERS userInput required string Current user input, to be completed Responses 200 list of possible values found RESPONSE SCHEMA: application/json inputId string (InputId) KYC field identifier userInput string Current user input, to be completed possibleValues Array of objects (PossibleValue) List of values found for auto-completion default KYC field not found Response samples 200default Content type application/json Copy Expand all Collapse all { "inputId": "FIELD123", "userInput": "string", "possibleValues": [ { } ] } Recipients List user recipients GET /users/{userId}/recipients AUTHORIZATIONS: OAuth2 (recipient_management) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id QUERY PARAMETERS offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "name" "iban" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Recipients found for this search RESPONSE SCHEMA: application/json items Array of objects collection of recipents count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Create a recipient POST /users/{userId}/recipients AUTHORIZATIONS: OAuth2 (recipient_management) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id REQUEST BODY SCHEMA: application/json Recipient information name required string Name to visualize recipient iban required string (IBAN) IBAN (International Bank Account Number), e.g. FR791680810000000538 bic string (BIC) BIC (Beneficiary Bank Identifier Code), e.g. FRGAILP1 phone string (Phone) Phone number in international format (e.g. 33612354678) externalData object Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. links Array of objects Links related to the recipient Responses 201 User's Recipient creation response. RESPONSE SCHEMA: application/json id required string Recipient TagPay Demo ID name required string Name to visualize recipient iban required string (IBAN) IBAN (International Bank Account Number), e.g. FR791680810000000538 bic string (BIC) BIC (Beneficiary Bank Identifier Code), e.g. FRGAILP1 userId string TagPay Demo user id phone string (Phone) Phone number in international format (e.g. 33612354678) externalData object Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. links Array of objects Links related to the recipient 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "name": "Paul DOE", "iban": "FR791680810000000538", "bic": "FRGAILP1", "phone": 33612354678, "externalData": { "firstname": "Paul", "lastname": "Joe", "countryCode": "FR" }, "links": [ { } ] } Response samples 201400 Content type application/json Copy Expand all Collapse all { "id": "string", "name": "Paul DOE", "iban": "FR791680810000000538", "bic": "FRGAILP1", "userId": "string", "phone": 33612354678, "externalData": { "firstname": "Paul", "lastname": "Joe", "countryCode": "FR" }, "links": [ { } ] } Delete a recipient DELETE /users/{userId}/recipients/{recipientId} AUTHORIZATIONS: OAuth2 (recipient_management) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id recipientId required string (RecipientId) Example: REC2 Recipient TagPay Demo ID Responses 200 Recipient sucessfully removed RESPONSE SCHEMA: application/json object 404 Requested recipient was not found Response samples 200404 Content type application/json Copy Expand all Collapse all { } Relations List user relations GET /users/{userId}/relations AUTHORIZATIONS: OAuth2 (relation_management) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id QUERY PARAMETERS type string (RelationType) Enum: "IS_BOARD_MEMBER_OF" "HAS_FOR_BOARD_MEMBER" "IS_BENEFICIAL_OWNER_OF" "HAS_FOR_BENEFICIAL_OWNER" "IS_EMPLOYER_OF" "IS_EMPLOYED_BY" Example: type=HAS_FOR_BOARD_MEMBER Type of the relation offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "type" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Relations found for this search RESPONSE SCHEMA: application/json items Array of objects collection of relations count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Create a relation POST /users/{userId}/relations AUTHORIZATIONS: OAuth2 (relation_management) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id REQUEST BODY SCHEMA: application/json Relation information type string (RelationType) Enum: "IS_BOARD_MEMBER_OF" "HAS_FOR_BOARD_MEMBER" "IS_BENEFICIAL_OWNER_OF" "HAS_FOR_BENEFICIAL_OWNER" "IS_EMPLOYER_OF" "IS_EMPLOYED_BY" Type of the relation targetId string Id of the user to associate Responses 201 User's relation creation response. RESPONSE SCHEMA: application/json userId string Id of the origin of the relation type string (RelationType) Enum: "IS_BOARD_MEMBER_OF" "HAS_FOR_BOARD_MEMBER" "IS_BENEFICIAL_OWNER_OF" "HAS_FOR_BENEFICIAL_OWNER" "IS_EMPLOYER_OF" "IS_EMPLOYED_BY" Type of the relation targetId string Id of the target of the relation 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "type": "HAS_FOR_BOARD_MEMBER", "targetId": "USR42" } Response samples 201400 Content type application/json Copy Expand all Collapse all { "userId": "USR42", "type": "HAS_FOR_BOARD_MEMBER", "targetId": "USR43" } Delete a user relation DELETE /users/relations/{relationId} AUTHORIZATIONS: OAuth2 (relation_management) PATH PARAMETERS relationId required string (RelationId) Example: REL42 Relation ID Responses 200 User relation successfully removed RESPONSE SCHEMA: application/json object 404 Requested relation was not found Response samples 200404 Content type application/json Copy Expand all Collapse all { } Products List all products GET /products AUTHORIZATIONS: OAuth2 (account_view) QUERY PARAMETERS id string (ProductId) Example: id=PRO123 TagPay Demo Product Id. type string (ProductType) Enum: "CURRENT" "SAVINGS" "COMMISSIONS" "DEDICATED" "MONEYPOT" "DEBIT_CARD" "GUARANTEE_ACCOUNT" Example: type=CURRENT Product type offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "type" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Products found for this search RESPONSE SCHEMA: application/json items Array of objects collection of products count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { }, { }, { }, { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Accounts List all accounts GET /accounts AUTHORIZATIONS: OAuth2 (account_view) QUERY PARAMETERS id string (AccountId) Example: id=ACC123 Id for an account userId string (UserId) Example: userId=USR42 TagPay Demo user id externalId string (AccountExternalId) Nullable Example: externalId=EXT123456789 External id (from the calling system) productId string (ProductId) Example: productId=PRO123 TagPay Demo Product Id. status string (AccountStatus) Enum: "OPENED" "CLOSED" "BLOCKED" "DEBIT_BLOCKED" "CREDIT_BLOCKED" The account status offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "userId" "externalId" "productId" "status" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Example response (Status 200) RESPONSE SCHEMA: application/json items Array of objects collection of accounts count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Retrieve an account GET /accounts/{accountId} AUTHORIZATIONS: OAuth2 (account_view) PATH PARAMETERS accountId required string (AccountId) Example: ACC123 Id for an account Responses 200 Account information RESPONSE SCHEMA: application/json id required string Id for an account userId required string TagPay Demo user id productId required string (ProductId) TagPay Demo Product Id. balance required object availableBalance required object status required string Enum: "OPENED" "CLOSED" "BLOCKED" "DEBIT_BLOCKED" "CREDIT_BLOCKED" The account status label required string The account label createdAt required string <date-time> externalId string (AccountExternalId) Nullable External id (from the calling system) iban string (IBAN) IBAN (International Bank Account Number), e.g. FR791680810000000538 bic string BIC (Beneficiary Bank Identifier Code), e.g. FRGAILP1 externalData object Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. lastUsedAt string <date-time> deletedAt string <date-time> Nullable 404 Requested account was not found Response samples 200404 Content type application/json Copy Expand all Collapse all { "id": "string", "userId": "string", "productId": "PRO123", "balance": { "value": 1337, "currency": "EUR" }, "availableBalance": { "value": 1337, "currency": "EUR" }, "status": "OPENED", "label": "Current account #123546", "createdAt": "2019-08-24T14:15:22Z", "externalId": "EXT123456789", "iban": "FR791680810000000538", "bic": "string", "externalData": { }, "lastUsedAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z" } Close an account DELETE /accounts/{accountId} AUTHORIZATIONS: OAuth2 (account_close) PATH PARAMETERS accountId required string (AccountId) Example: ACC123 Id for an account Responses 200 Account successfully closed RESPONSE SCHEMA: application/json object 400 Account could not be closed 404 Requested account was not found Response samples 200400404 Content type application/json Copy Expand all Collapse all { } Block an account PATCH /accounts/{accountId}/block AUTHORIZATIONS: OAuth2 (account_block) PATH PARAMETERS accountId required string (AccountId) Example: ACC123 Id for an account REQUEST BODY SCHEMA: application/json Account block status newStatus string (AccountBlock) Enum: "BLOCKED" "DEBIT_BLOCKED" "CREDIT_BLOCKED" The account block status Responses 200 Account successfully blocked RESPONSE SCHEMA: application/json object 400 Account could not be blocked 404 Requested account was not found Request samples Payload Content type application/json Copy Expand all Collapse all { "newStatus": "BLOCKED" } Response samples 200400404 Content type application/json Copy Expand all Collapse all { } Unblock an account PATCH /accounts/{accountId}/unblock AUTHORIZATIONS: OAuth2 (account_unblock) PATH PARAMETERS accountId required string (AccountId) Example: ACC123 Id for an account Responses 200 Account successfully unblocked RESPONSE SCHEMA: application/json object 400 Account could not be unblocked 404 Requested account was not found Response samples 200400404 Content type application/json Copy Expand all Collapse all { } Update externalId PATCH /accounts/{accountId}/externalId AUTHORIZATIONS: OAuth2 (externalid_update) PATH PARAMETERS accountId required string (AccountId) Example: ACC123 Id for an account REQUEST BODY SCHEMA: application/json Account external ID externalId required string (AccountExternalId) Nullable External id (from the calling system) Responses 200 Success response RESPONSE SCHEMA: application/json id required string Id for an account userId required string TagPay Demo user id productId required string (ProductId) TagPay Demo Product Id. balance required object availableBalance required object status required string Enum: "OPENED" "CLOSED" "BLOCKED" "DEBIT_BLOCKED" "CREDIT_BLOCKED" The account status label required string The account label createdAt required string <date-time> externalId string (AccountExternalId) Nullable External id (from the calling system) iban string (IBAN) IBAN (International Bank Account Number), e.g. FR791680810000000538 bic string BIC (Beneficiary Bank Identifier Code), e.g. FRGAILP1 externalData object Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. lastUsedAt string <date-time> deletedAt string <date-time> Nullable 400 Account could not be updated 404 Requested account was not found Request samples Payload Content type application/json Copy Expand all Collapse all { "externalId": "EXT123456789" } Response samples 200400404 Content type application/json Copy Expand all Collapse all { "id": "string", "userId": "string", "productId": "PRO123", "balance": { "value": 1337, "currency": "EUR" }, "availableBalance": { "value": 1337, "currency": "EUR" }, "status": "OPENED", "label": "Current account #123546", "createdAt": "2019-08-24T14:15:22Z", "externalId": "EXT123456789", "iban": "FR791680810000000538", "bic": "string", "externalData": { }, "lastUsedAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z" } Update account IBAN PATCH /accounts/{accountId}/iban AUTHORIZATIONS: OAuth2 (iban_modification) PATH PARAMETERS accountId required string (AccountId) Example: ACC123 Id for an account REQUEST BODY SCHEMA: application/json New IBAN iban required string (AccountIban) Nullable IBAN Responses 200 Success response RESPONSE SCHEMA: application/json id required string Id for an account userId required string TagPay Demo user id productId required string (ProductId) TagPay Demo Product Id. balance required object availableBalance required object status required string Enum: "OPENED" "CLOSED" "BLOCKED" "DEBIT_BLOCKED" "CREDIT_BLOCKED" The account status label required string The account label createdAt required string <date-time> externalId string (AccountExternalId) Nullable External id (from the calling system) iban string (IBAN) IBAN (International Bank Account Number), e.g. FR791680810000000538 bic string BIC (Beneficiary Bank Identifier Code), e.g. FRGAILP1 externalData object Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. lastUsedAt string <date-time> deletedAt string <date-time> Nullable 400 Account IBAN could not be updated 404 Requested account was not found Request samples Payload Content type application/json Copy Expand all Collapse all { "iban": "FR1420041010050500013M02606" } Response samples 200400404 Content type application/json Copy Expand all Collapse all { "id": "string", "userId": "string", "productId": "PRO123", "balance": { "value": 1337, "currency": "EUR" }, "availableBalance": { "value": 1337, "currency": "EUR" }, "status": "OPENED", "label": "Current account #123546", "createdAt": "2019-08-24T14:15:22Z", "externalId": "EXT123456789", "iban": "FR791680810000000538", "bic": "string", "externalData": { }, "lastUsedAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z" } Create an account POST /users/{userId}/accounts AUTHORIZATIONS: OAuth2 (account_creation) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id REQUEST BODY SCHEMA: application/json Account information productId required string (ProductId) TagPay Demo Product Id. externalId string (AccountExternalId) Nullable External id (from the calling system) iban string (IBAN) IBAN (International Bank Account Number), e.g. FR791680810000000538 Responses 201 Account creation response. RESPONSE SCHEMA: application/json id required string Id for an account userId required string TagPay Demo user id productId required string (ProductId) TagPay Demo Product Id. balance required object availableBalance required object status required string Enum: "OPENED" "CLOSED" "BLOCKED" "DEBIT_BLOCKED" "CREDIT_BLOCKED" The account status label required string The account label createdAt required string <date-time> externalId string (AccountExternalId) Nullable External id (from the calling system) iban string (IBAN) IBAN (International Bank Account Number), e.g. FR791680810000000538 bic string BIC (Beneficiary Bank Identifier Code), e.g. FRGAILP1 externalData object Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. lastUsedAt string <date-time> deletedAt string <date-time> Nullable 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "productId": "PRO123", "externalId": "EXT123456789", "iban": "FR791680810000000538" } Response samples 201400 Content type application/json Copy Expand all Collapse all { "id": "string", "userId": "string", "productId": "PRO123", "balance": { "value": 1337, "currency": "EUR" }, "availableBalance": { "value": 1337, "currency": "EUR" }, "status": "OPENED", "label": "Current account #123546", "createdAt": "2019-08-24T14:15:22Z", "externalId": "EXT123456789", "iban": "FR791680810000000538", "bic": "string", "externalData": { }, "lastUsedAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z" } Download RIB GET /accounts/{accountId}/actions/download-rib AUTHORIZATIONS: OAuth2 (account_view) PATH PARAMETERS accountId required string (AccountId) Example: ACC123 Id for an account Responses 200 The document content RESPONSE SCHEMA: application/pdf Schema not provided 404 Requested account was not found Response samples 404 Content type application/json Copy Expand all Collapse all { "error": { "code": 1234, "message": "something went wrong because requirement X was not met.", "hint": "string" } } Transactions List all transactions GET /transactions AUTHORIZATIONS: OAuth2 (transaction_view) QUERY PARAMETERS id string (TransactionId) Example: id=TRX123 TagPay Demo transaction id externalId string (TransactionExternalId) Example: externalId=EXT123456789 Client custom data (external) for TransactionId userId string (UserId) Example: userId=USR42 TagPay Demo user id type string (TransactionType) Enum: "ACCOUNT_FROM_EXTERNAL" "ACCOUNT_TO_ACCOUNT" "ACCOUNT_TO_DEDICATED" "ACCOUNT_TO_EXTERNAL" "ACCOUNT_TO_EXTERNAL_TRF" "ACCOUNT_TO_TRANSIT" "ADJUSTMENT" "AGENT_BALANCE" "AGENT_HISTORY" "AGIOS_PAYMENT" "AID_PAYMENT" "BANK_TO_WALLET" "BLOCK_ACCOUNT" "BUY_DEPOSIT" "CASHIN" "CASHIN_TO_TRANSIT" "CASHOUT" "CASHOUT_FROM_EXTERNAL_TRF" "CASHOUT_FROM_TRANSIT" "CASHOUT_FUNDS_RESERVATION" "CASH_TO_EXTERNAL_TRF" "CLIENT_BALANCE" "CLIENT_ENROLLMENT" "CLIENT_HISTORY" "CLIENT_VALIDATION" "CLOSE_ACCOUNT" "CREDIT_BLOCK_ACCOUNT" "CREDIT_TRANSFER_IN" "CREDIT_TRANSFER_OUT" "DEBIT_BLOCK_ACCOUNT" "DIRECT_DEBIT_IN" "DIRECT_DEBIT_OUT" "DISTRIBUTOR_POSTING" "EXTERNAL" "EXTERNAL_FROM_ACCOUNT" "EXTERNAL_FROM_MONEYPOT" "EXTERNAL_TO_ACCOUNT" "ETM_SCREENING" "ETM_SCREENING_SUCCESS" "ETM_SCREENING_FAIL" "ETM_SCREENING_FAIL_TO_SUCCESS" "EXTERNAL_TRF_TO_ACCOUNT" "EXTERNAL_TRF_WITHDRAW" "FOREX" "FUNDS_ISOLATION" "FUNDS_RELEASE" "MAINTENANCE_PAYMENT" "MARK" "ONLINE_PAYMENT" "OPEN_ACCOUNT" "PAYBILL_ACCOUNT" "PAYBILL_CASH" "PAYMENT" "PAYMENT_FUNDS_RESERVATION" "POSTING" "REVERSAL" "SALARY_DISBURSEMENT" "SALARY_TO_ACCOUNT" "SALARY_TO_CASH" "SELL_DEPOSIT" "SETTLEMENT_TO_ACCOUNT" "SETTLEMENT_TO_BANK" "SETTLEMENT_TO_CASH" "STANDING_ORDER_PAYMENT" "TRANSFER_DEPOSIT" "TRANSIT_TO_ACCOUNT" "UNBLOCK_ACCOUNT" "USER_CREATION" "WALLET_TO_BANK" "WALLET_TO_BANK_ARCHIVE" Transaction type startDate string <date-time> Nullable Transaction date range start endDate string <date-time> Nullable Transaction date range end amount integer Transaction amount (in cents) currency string <iso-4217> (Currency) Example: currency=EUR Transaction currency media string Default: "ALL" Enum: "SMS" "USSD" "POS" "WEB" "BANK" "IVR" "API" "APP" "ONLINE" "ALL" "UNKNOWN" Transaction currency accountingCode string Accounting code from the point of view of the calling system byActiveCard boolean If true, get transactions made by an active card offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "externalId" "type" "date" "currency" "media" "amount" "accountingCode" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Transactions found for this search RESPONSE SCHEMA: application/json items Array of objects collection of transactions count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Export all transactions GET /transactions/export AUTHORIZATIONS: OAuth2 (transaction_export) QUERY PARAMETERS id string (TransactionId) Example: id=TRX123 TagPay Demo transaction id externalId string (TransactionExternalId) Example: externalId=EXT123456789 Client custom data (external) for TransactionId userId string (UserId) Example: userId=USR42 TagPay Demo user id type string (TransactionType) Enum: "ACCOUNT_FROM_EXTERNAL" "ACCOUNT_TO_ACCOUNT" "ACCOUNT_TO_DEDICATED" "ACCOUNT_TO_EXTERNAL" "ACCOUNT_TO_EXTERNAL_TRF" "ACCOUNT_TO_TRANSIT" "ADJUSTMENT" "AGENT_BALANCE" "AGENT_HISTORY" "AGIOS_PAYMENT" "AID_PAYMENT" "BANK_TO_WALLET" "BLOCK_ACCOUNT" "BUY_DEPOSIT" "CASHIN" "CASHIN_TO_TRANSIT" "CASHOUT" "CASHOUT_FROM_EXTERNAL_TRF" "CASHOUT_FROM_TRANSIT" "CASHOUT_FUNDS_RESERVATION" "CASH_TO_EXTERNAL_TRF" "CLIENT_BALANCE" "CLIENT_ENROLLMENT" "CLIENT_HISTORY" "CLIENT_VALIDATION" "CLOSE_ACCOUNT" "CREDIT_BLOCK_ACCOUNT" "CREDIT_TRANSFER_IN" "CREDIT_TRANSFER_OUT" "DEBIT_BLOCK_ACCOUNT" "DIRECT_DEBIT_IN" "DIRECT_DEBIT_OUT" "DISTRIBUTOR_POSTING" "EXTERNAL" "EXTERNAL_FROM_ACCOUNT" "EXTERNAL_FROM_MONEYPOT" "EXTERNAL_TO_ACCOUNT" "ETM_SCREENING" "ETM_SCREENING_SUCCESS" "ETM_SCREENING_FAIL" "ETM_SCREENING_FAIL_TO_SUCCESS" "EXTERNAL_TRF_TO_ACCOUNT" "EXTERNAL_TRF_WITHDRAW" "FOREX" "FUNDS_ISOLATION" "FUNDS_RELEASE" "MAINTENANCE_PAYMENT" "MARK" "ONLINE_PAYMENT" "OPEN_ACCOUNT" "PAYBILL_ACCOUNT" "PAYBILL_CASH" "PAYMENT" "PAYMENT_FUNDS_RESERVATION" "POSTING" "REVERSAL" "SALARY_DISBURSEMENT" "SALARY_TO_ACCOUNT" "SALARY_TO_CASH" "SELL_DEPOSIT" "SETTLEMENT_TO_ACCOUNT" "SETTLEMENT_TO_BANK" "SETTLEMENT_TO_CASH" "STANDING_ORDER_PAYMENT" "TRANSFER_DEPOSIT" "TRANSIT_TO_ACCOUNT" "UNBLOCK_ACCOUNT" "USER_CREATION" "WALLET_TO_BANK" "WALLET_TO_BANK_ARCHIVE" Transaction type startDate string <date-time> Transaction date range start endDate string <date-time> Transaction date range end amount integer Transaction amount (in cents) currency string <iso-4217> (Currency) Example: currency=EUR Transaction currency media string Default: "ALL" Enum: "SMS" "USSD" "POS" "WEB" "BANK" "IVR" "API" "APP" "ONLINE" "ALL" "UNKNOWN" Transaction currency accountingCode string Accounting code from the point of view of the calling system Responses 200 A CSV file with the requested export RESPONSE SCHEMA: text/csv string Retrieve a transaction GET /transactions/{transactionId} AUTHORIZATIONS: OAuth2 (transaction_view) PATH PARAMETERS transactionId required string (TransactionId) Example: TRX123 TagPay Demo transaction id Responses 200 Transaction information RESPONSE SCHEMA: application/json accountingEntries required Array of objects (AccountingEntry) contributions required Array of objects (Contribution) id required string TagPay Demo transaction id amount required object (Amount) type required string Deprecated Enum: "ACCOUNT_FROM_EXTERNAL" "ACCOUNT_TO_ACCOUNT" "ACCOUNT_TO_DEDICATED" "ACCOUNT_TO_EXTERNAL" "ACCOUNT_TO_EXTERNAL_TRF" "ACCOUNT_TO_TRANSIT" "ADJUSTMENT" "AGENT_BALANCE" "AGENT_HISTORY" "AGIOS_PAYMENT" "AID_PAYMENT" "BANK_TO_WALLET" "BLOCK_ACCOUNT" "BUY_DEPOSIT" "CASHIN" "CASHIN_TO_TRANSIT" "CASHOUT" "CASHOUT_FROM_EXTERNAL_TRF" "CASHOUT_FROM_TRANSIT" "CASHOUT_FUNDS_RESERVATION" "CASH_TO_EXTERNAL_TRF" "CLIENT_BALANCE" "CLIENT_ENROLLMENT" "CLIENT_HISTORY" "CLIENT_VALIDATION" "CLOSE_ACCOUNT" "CREDIT_BLOCK_ACCOUNT" "CREDIT_TRANSFER_IN" "CREDIT_TRANSFER_OUT" "DEBIT_BLOCK_ACCOUNT" "DIRECT_DEBIT_IN" "DIRECT_DEBIT_OUT" "DISTRIBUTOR_POSTING" "EXTERNAL" "EXTERNAL_FROM_ACCOUNT" "EXTERNAL_FROM_MONEYPOT" "EXTERNAL_TO_ACCOUNT" "ETM_SCREENING" "ETM_SCREENING_SUCCESS" "ETM_SCREENING_FAIL" "ETM_SCREENING_FAIL_TO_SUCCESS" "EXTERNAL_TRF_TO_ACCOUNT" "EXTERNAL_TRF_WITHDRAW" "FOREX" "FUNDS_ISOLATION" "FUNDS_RELEASE" "MAINTENANCE_PAYMENT" "MARK" "ONLINE_PAYMENT" "OPEN_ACCOUNT" "PAYBILL_ACCOUNT" "PAYBILL_CASH" "PAYMENT" "PAYMENT_FUNDS_RESERVATION" "POSTING" "REVERSAL" "SALARY_DISBURSEMENT" "SALARY_TO_ACCOUNT" "SALARY_TO_CASH" "SELL_DEPOSIT" "SETTLEMENT_TO_ACCOUNT" "SETTLEMENT_TO_BANK" "SETTLEMENT_TO_CASH" "STANDING_ORDER_PAYMENT" "TRANSFER_DEPOSIT" "TRANSIT_TO_ACCOUNT" "UNBLOCK_ACCOUNT" "USER_CREATION" "WALLET_TO_BANK" "WALLET_TO_BANK_ARCHIVE" Transaction type description required string Human readable text about the transaction media required string Enum: "SMS" "USSD" "POS" "WEB" "BANK" "IVR" "API" "APP" "ONLINE" "ALL" "UNKNOWN" createdAt required string <date-time> localizedType object externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. accountingCode string Accounting code from the point of view of the calling system cancelledTransactionId string TagPay Demo transaction id externalId string (TransactionExternalId) Client custom data (external) for TransactionId 404 Requested transaction was not found Response samples 200404 Content type application/json Copy Expand all Collapse all { "accountingEntries": [ { } ], "contributions": [ { } ], "id": "string", "amount": { "value": 1337, "currency": "EUR" }, "type": "ACCOUNT_FROM_EXTERNAL", "localizedType": { "value": "ACCOUNT_FROM_EXTERNAL", "label": "string" }, "description": "string", "media": "API", "createdAt": "2019-08-24T14:15:22Z", "externalData": { }, "accountingCode": "string", "cancelledTransactionId": "string", "externalId": "EXT123456789" } External transfer (Payout) POST /transactions/payout Transfer from a TagPay Demo account to an external account. When external transfer uses SEPA, it is a SCT (SEPA Credit Transfer). AUTHORIZATIONS: OAuth2 (payout) REQUEST BODY SCHEMA: application/json Payout information amount required object (Amount) srcAccountId required string (AccountId) Id for an account recipientId required string (RecipientId) Recipient TagPay Demo ID mode required string (TransactionMode) Enum: "PREAUTH" "TRANSACTION" purpose string Purpose of external transfer (max 140 characters) userReference string User reference externalId string (TransactionExternalId) Client custom data (external) for TransactionId externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. accountingCode string Accounting code from the point of view of the calling system Responses 201 Success response RESPONSE SCHEMA: application/json accountingEntries required Array of objects (AccountingEntry) contributions required Array of objects (Contribution) id required string TagPay Demo transaction id amount required object (Amount) type required string Deprecated Enum: "ACCOUNT_FROM_EXTERNAL" "ACCOUNT_TO_ACCOUNT" "ACCOUNT_TO_DEDICATED" "ACCOUNT_TO_EXTERNAL" "ACCOUNT_TO_EXTERNAL_TRF" "ACCOUNT_TO_TRANSIT" "ADJUSTMENT" "AGENT_BALANCE" "AGENT_HISTORY" "AGIOS_PAYMENT" "AID_PAYMENT" "BANK_TO_WALLET" "BLOCK_ACCOUNT" "BUY_DEPOSIT" "CASHIN" "CASHIN_TO_TRANSIT" "CASHOUT" "CASHOUT_FROM_EXTERNAL_TRF" "CASHOUT_FROM_TRANSIT" "CASHOUT_FUNDS_RESERVATION" "CASH_TO_EXTERNAL_TRF" "CLIENT_BALANCE" "CLIENT_ENROLLMENT" "CLIENT_HISTORY" "CLIENT_VALIDATION" "CLOSE_ACCOUNT" "CREDIT_BLOCK_ACCOUNT" "CREDIT_TRANSFER_IN" "CREDIT_TRANSFER_OUT" "DEBIT_BLOCK_ACCOUNT" "DIRECT_DEBIT_IN" "DIRECT_DEBIT_OUT" "DISTRIBUTOR_POSTING" "EXTERNAL" "EXTERNAL_FROM_ACCOUNT" "EXTERNAL_FROM_MONEYPOT" "EXTERNAL_TO_ACCOUNT" "ETM_SCREENING" "ETM_SCREENING_SUCCESS" "ETM_SCREENING_FAIL" "ETM_SCREENING_FAIL_TO_SUCCESS" "EXTERNAL_TRF_TO_ACCOUNT" "EXTERNAL_TRF_WITHDRAW" "FOREX" "FUNDS_ISOLATION" "FUNDS_RELEASE" "MAINTENANCE_PAYMENT" "MARK" "ONLINE_PAYMENT" "OPEN_ACCOUNT" "PAYBILL_ACCOUNT" "PAYBILL_CASH" "PAYMENT" "PAYMENT_FUNDS_RESERVATION" "POSTING" "REVERSAL" "SALARY_DISBURSEMENT" "SALARY_TO_ACCOUNT" "SALARY_TO_CASH" "SELL_DEPOSIT" "SETTLEMENT_TO_ACCOUNT" "SETTLEMENT_TO_BANK" "SETTLEMENT_TO_CASH" "STANDING_ORDER_PAYMENT" "TRANSFER_DEPOSIT" "TRANSIT_TO_ACCOUNT" "UNBLOCK_ACCOUNT" "USER_CREATION" "WALLET_TO_BANK" "WALLET_TO_BANK_ARCHIVE" Transaction type description required string Human readable text about the transaction media required string Enum: "SMS" "USSD" "POS" "WEB" "BANK" "IVR" "API" "APP" "ONLINE" "ALL" "UNKNOWN" createdAt required string <date-time> localizedType object externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. accountingCode string Accounting code from the point of view of the calling system cancelledTransactionId string TagPay Demo transaction id externalId string (TransactionExternalId) Client custom data (external) for TransactionId instructionId string Instruction id 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "amount": { "value": 1337, "currency": "EUR" }, "srcAccountId": "ACC123", "recipientId": "REC2", "purpose": "string", "userReference": "string", "mode": "PREAUTH", "externalId": "EXT123456789", "externalData": { }, "accountingCode": "string" } Response samples 201400 Content type application/json Copy Expand all Collapse all { "accountingEntries": [ { } ], "contributions": [ { } ], "id": "string", "amount": { "value": 1337, "currency": "EUR" }, "type": "ACCOUNT_FROM_EXTERNAL", "localizedType": { "value": "ACCOUNT_FROM_EXTERNAL", "label": "string" }, "description": "string", "media": "API", "createdAt": "2019-08-24T14:15:22Z", "externalData": { }, "accountingCode": "string", "cancelledTransactionId": "string", "externalId": "EXT123456789", "instructionId": "string" } External Direct Debit (Payin) POST /transactions/payin Transfer to an external account from a TagPay Demo account. When external Direct Debit uses SEPA, it is a SDD (SEPA Direct Debit). AUTHORIZATIONS: OAuth2 (payin) REQUEST BODY SCHEMA: application/json Payin information debtor required object (Debtor) amount required object (Amount) dstAccountId required string (AccountId) Id for an account mandate required object (Mandate) mode required string (TransactionMode) Enum: "PREAUTH" "TRANSACTION" purpose string reason of distributor payin userReference string user reference dueDate string <date-time> due date of direct debit (mandatory when using SEPA) externalId string (TransactionExternalId) Client custom data (external) for TransactionId externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. accountingCode string Accounting code from the point of view of the calling system Responses 201 Success response RESPONSE SCHEMA: application/json accountingEntries required Array of objects (AccountingEntry) contributions required Array of objects (Contribution) id required string TagPay Demo transaction id amount required object (Amount) type required string Deprecated Enum: "ACCOUNT_FROM_EXTERNAL" "ACCOUNT_TO_ACCOUNT" "ACCOUNT_TO_DEDICATED" "ACCOUNT_TO_EXTERNAL" "ACCOUNT_TO_EXTERNAL_TRF" "ACCOUNT_TO_TRANSIT" "ADJUSTMENT" "AGENT_BALANCE" "AGENT_HISTORY" "AGIOS_PAYMENT" "AID_PAYMENT" "BANK_TO_WALLET" "BLOCK_ACCOUNT" "BUY_DEPOSIT" "CASHIN" "CASHIN_TO_TRANSIT" "CASHOUT" "CASHOUT_FROM_EXTERNAL_TRF" "CASHOUT_FROM_TRANSIT" "CASHOUT_FUNDS_RESERVATION" "CASH_TO_EXTERNAL_TRF" "CLIENT_BALANCE" "CLIENT_ENROLLMENT" "CLIENT_HISTORY" "CLIENT_VALIDATION" "CLOSE_ACCOUNT" "CREDIT_BLOCK_ACCOUNT" "CREDIT_TRANSFER_IN" "CREDIT_TRANSFER_OUT" "DEBIT_BLOCK_ACCOUNT" "DIRECT_DEBIT_IN" "DIRECT_DEBIT_OUT" "DISTRIBUTOR_POSTING" "EXTERNAL" "EXTERNAL_FROM_ACCOUNT" "EXTERNAL_FROM_MONEYPOT" "EXTERNAL_TO_ACCOUNT" "ETM_SCREENING" "ETM_SCREENING_SUCCESS" "ETM_SCREENING_FAIL" "ETM_SCREENING_FAIL_TO_SUCCESS" "EXTERNAL_TRF_TO_ACCOUNT" "EXTERNAL_TRF_WITHDRAW" "FOREX" "FUNDS_ISOLATION" "FUNDS_RELEASE" "MAINTENANCE_PAYMENT" "MARK" "ONLINE_PAYMENT" "OPEN_ACCOUNT" "PAYBILL_ACCOUNT" "PAYBILL_CASH" "PAYMENT" "PAYMENT_FUNDS_RESERVATION" "POSTING" "REVERSAL" "SALARY_DISBURSEMENT" "SALARY_TO_ACCOUNT" "SALARY_TO_CASH" "SELL_DEPOSIT" "SETTLEMENT_TO_ACCOUNT" "SETTLEMENT_TO_BANK" "SETTLEMENT_TO_CASH" "STANDING_ORDER_PAYMENT" "TRANSFER_DEPOSIT" "TRANSIT_TO_ACCOUNT" "UNBLOCK_ACCOUNT" "USER_CREATION" "WALLET_TO_BANK" "WALLET_TO_BANK_ARCHIVE" Transaction type description required string Human readable text about the transaction media required string Enum: "SMS" "USSD" "POS" "WEB" "BANK" "IVR" "API" "APP" "ONLINE" "ALL" "UNKNOWN" createdAt required string <date-time> localizedType object externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. accountingCode string Accounting code from the point of view of the calling system cancelledTransactionId string TagPay Demo transaction id externalId string (TransactionExternalId) Client custom data (external) for TransactionId instructionId string Instruction id 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "amount": { "value": 1337, "currency": "EUR" }, "dstAccountId": "ACC123", "debtor": { "iban": "FR791680810000000538", "bic": "FRGAILP1", "name": "John Doe", "country": "FR", "address": "88 rue du dôme", "zipCode": 92100 }, "mandate": { "reference": "string", "creditorRef": "string", "signatureDate": "2019-08-24T14:15:22Z", "type": "CORE", "recurrent": false, "originalMandate": { } }, "purpose": "string", "userReference": "string", "dueDate": "2019-08-24T14:15:22Z", "mode": "PREAUTH", "externalId": "EXT123456789", "externalData": { }, "accountingCode": "string" } Response samples 201400 Content type application/json Copy Expand all Collapse all { "accountingEntries": [ { } ], "contributions": [ { } ], "id": "string", "amount": { "value": 1337, "currency": "EUR" }, "type": "ACCOUNT_FROM_EXTERNAL", "localizedType": { "value": "ACCOUNT_FROM_EXTERNAL", "label": "string" }, "description": "string", "media": "API", "createdAt": "2019-08-24T14:15:22Z", "externalData": { }, "accountingCode": "string", "cancelledTransactionId": "string", "externalId": "EXT123456789", "instructionId": "string" } Internal transfer (Posting) POST /transactions/distributorPosting Internal transfer between TagPay Demo accounts AUTHORIZATIONS: OAuth2 (posting) REQUEST BODY SCHEMA: application/json Transaction information accounting required Array of objects (AccountingRequest) transaction accounting mode required string (TransactionMode) Enum: "PREAUTH" "TRANSACTION" operation string Type of the operation externalId string (TransactionExternalId) Client custom data (external) for TransactionId externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. accountingCode string Accounting code from the point of view of the calling system Responses 201 Success response RESPONSE SCHEMA: application/json accountingEntries required Array of objects (AccountingEntry) contributions required Array of objects (Contribution) id required string TagPay Demo transaction id amount required object (Amount) type required string Deprecated Enum: "ACCOUNT_FROM_EXTERNAL" "ACCOUNT_TO_ACCOUNT" "ACCOUNT_TO_DEDICATED" "ACCOUNT_TO_EXTERNAL" "ACCOUNT_TO_EXTERNAL_TRF" "ACCOUNT_TO_TRANSIT" "ADJUSTMENT" "AGENT_BALANCE" "AGENT_HISTORY" "AGIOS_PAYMENT" "AID_PAYMENT" "BANK_TO_WALLET" "BLOCK_ACCOUNT" "BUY_DEPOSIT" "CASHIN" "CASHIN_TO_TRANSIT" "CASHOUT" "CASHOUT_FROM_EXTERNAL_TRF" "CASHOUT_FROM_TRANSIT" "CASHOUT_FUNDS_RESERVATION" "CASH_TO_EXTERNAL_TRF" "CLIENT_BALANCE" "CLIENT_ENROLLMENT" "CLIENT_HISTORY" "CLIENT_VALIDATION" "CLOSE_ACCOUNT" "CREDIT_BLOCK_ACCOUNT" "CREDIT_TRANSFER_IN" "CREDIT_TRANSFER_OUT" "DEBIT_BLOCK_ACCOUNT" "DIRECT_DEBIT_IN" "DIRECT_DEBIT_OUT" "DISTRIBUTOR_POSTING" "EXTERNAL" "EXTERNAL_FROM_ACCOUNT" "EXTERNAL_FROM_MONEYPOT" "EXTERNAL_TO_ACCOUNT" "ETM_SCREENING" "ETM_SCREENING_SUCCESS" "ETM_SCREENING_FAIL" "ETM_SCREENING_FAIL_TO_SUCCESS" "EXTERNAL_TRF_TO_ACCOUNT" "EXTERNAL_TRF_WITHDRAW" "FOREX" "FUNDS_ISOLATION" "FUNDS_RELEASE" "MAINTENANCE_PAYMENT" "MARK" "ONLINE_PAYMENT" "OPEN_ACCOUNT" "PAYBILL_ACCOUNT" "PAYBILL_CASH" "PAYMENT" "PAYMENT_FUNDS_RESERVATION" "POSTING" "REVERSAL" "SALARY_DISBURSEMENT" "SALARY_TO_ACCOUNT" "SALARY_TO_CASH" "SELL_DEPOSIT" "SETTLEMENT_TO_ACCOUNT" "SETTLEMENT_TO_BANK" "SETTLEMENT_TO_CASH" "STANDING_ORDER_PAYMENT" "TRANSFER_DEPOSIT" "TRANSIT_TO_ACCOUNT" "UNBLOCK_ACCOUNT" "USER_CREATION" "WALLET_TO_BANK" "WALLET_TO_BANK_ARCHIVE" Transaction type description required string Human readable text about the transaction media required string Enum: "SMS" "USSD" "POS" "WEB" "BANK" "IVR" "API" "APP" "ONLINE" "ALL" "UNKNOWN" createdAt required string <date-time> localizedType object externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. accountingCode string Accounting code from the point of view of the calling system cancelledTransactionId string TagPay Demo transaction id externalId string (TransactionExternalId) Client custom data (external) for TransactionId 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "accounting": [ { } ], "operation": "string", "mode": "PREAUTH", "externalId": "EXT123456789", "externalData": { }, "accountingCode": "string" } Response samples 201400 Content type application/json Copy Expand all Collapse all { "accountingEntries": [ { } ], "contributions": [ { } ], "id": "string", "amount": { "value": 1337, "currency": "EUR" }, "type": "ACCOUNT_FROM_EXTERNAL", "localizedType": { "value": "ACCOUNT_FROM_EXTERNAL", "label": "string" }, "description": "string", "media": "API", "createdAt": "2019-08-24T14:15:22Z", "externalData": { }, "accountingCode": "string", "cancelledTransactionId": "string", "externalId": "EXT123456789" } Documents Retrieve a document GET /documents/{documentId} AUTHORIZATIONS: OAuth2 (document_management) PATH PARAMETERS documentId required string (DocumentId) Example: DOC123 TagPay Demo document id Responses 200 Example response (Status 200) RESPONSE SCHEMA: application/json id required string TagPay Demo document id ownerId required string TagPay Demo user id status required string (DocumentStatus) Enum: "NEW" "PENDING" "VALIDATED" "REFUSED" "UNKNOWN" type required string (DocumentType) Enum: "PORTRAIT" "SUBSCRIPTION_FORM" "SIGNATURE" "PROOF_OF_RESIDENCE" "PROOF_OF_BANK_DOMICILIATION" "PROOF_OF_TAXATION" "PROOF_OF_ACTIVITY" "PROOF_OF_RESOURCES" "PROOF_OF_STATUS" "PHOTO" "PROOF_OF_IDENTITY" "OTHER_DOCUMENTS" "INCORPORATION_CERTIFICATE" "OTHER_DOCUMENTS_LEGAL_ENTITY" links required Array of objects Document's content and preview urls content required string Document file content encoded in base64 format description string Custom description uploadDate string <date-time> lastUpdateDate string <date-time> metadata any externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. Response samples 200 Content type application/json Copy Expand all Collapse all { "id": "string", "ownerId": "string", "status": "NEW", "type": "PORTRAIT", "description": "Government ID user #XXX", "uploadDate": "2019-08-24T14:15:22Z", "lastUpdateDate": "2019-08-24T14:15:22Z", "metadata": { "type": "PORTRAIT", "addressLine1": "string", "addressLine2": "string", "city": "string", "country": "string", "deliveryDate": "2019-08-24", "denomination": "string", "legalForm": "string", "numberOfEmployees": "string", "registrationDate": "2019-08-24", "registrationNumber": "string", "registrationPlace": "string", "shareCapital": "string", "zipcode": "string" }, "externalData": { }, "links": [ { } ], "content": "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=" } Retrieve a document's content GET /documents/{documentId}/content AUTHORIZATIONS: OAuth2 (document_management) PATH PARAMETERS documentId required string (DocumentId) Example: DOC123 TagPay Demo document id Responses 200 The document content Retrieve a document's preview content, with a max width of 200px GET /documents/{documentId}/preview AUTHORIZATIONS: OAuth2 (document_management) PATH PARAMETERS documentId required string (DocumentId) Example: DOC123 TagPay Demo document id Responses 200 The document's preview content List user's documents GET /users/{userId}/documents AUTHORIZATIONS: OAuth2 (document_management) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id Responses 200 Example response (Status 200) RESPONSE SCHEMA: application/json items Array of objects collection of documents count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Send a document POST /users/{userId}/documents AUTHORIZATIONS: OAuth2 (document_management) PATH PARAMETERS userId required string (UserId) Example: USR42 TagPay Demo user id REQUEST BODY SCHEMA: application/json type required string (DocumentType) Enum: "PORTRAIT" "SUBSCRIPTION_FORM" "SIGNATURE" "PROOF_OF_RESIDENCE" "PROOF_OF_BANK_DOMICILIATION" "PROOF_OF_TAXATION" "PROOF_OF_ACTIVITY" "PROOF_OF_RESOURCES" "PROOF_OF_STATUS" "PHOTO" "PROOF_OF_IDENTITY" "OTHER_DOCUMENTS" "INCORPORATION_CERTIFICATE" "OTHER_DOCUMENTS_LEGAL_ENTITY" links required Array of objects Document's content and preview urls content required string Document file content encoded in base64 format description string Custom description externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. Responses 201 Success response RESPONSE SCHEMA: application/json id required string TagPay Demo document id ownerId required string TagPay Demo user id status required string (DocumentStatus) Enum: "NEW" "PENDING" "VALIDATED" "REFUSED" "UNKNOWN" type required string (DocumentType) Enum: "PORTRAIT" "SUBSCRIPTION_FORM" "SIGNATURE" "PROOF_OF_RESIDENCE" "PROOF_OF_BANK_DOMICILIATION" "PROOF_OF_TAXATION" "PROOF_OF_ACTIVITY" "PROOF_OF_RESOURCES" "PROOF_OF_STATUS" "PHOTO" "PROOF_OF_IDENTITY" "OTHER_DOCUMENTS" "INCORPORATION_CERTIFICATE" "OTHER_DOCUMENTS_LEGAL_ENTITY" links required Array of objects Document's content and preview urls description string Custom description uploadDate string <date-time> lastUpdateDate string <date-time> metadata any externalData object (ExternalData) Set of key-value pairs that you can attach to an object. This can be useful for storing your additional information about the object in a structured format. 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "type": "PORTRAIT", "description": "Government ID user #XXX", "metadata": { "type": "PORTRAIT", "addressLine1": "string", "addressLine2": "string", "city": "string", "country": "string", "deliveryDate": "2019-08-24", "denomination": "string", "legalForm": "string", "numberOfEmployees": "string", "registrationDate": "2019-08-24", "registrationNumber": "string", "registrationPlace": "string", "shareCapital": "string", "zipcode": "string" }, "externalData": { }, "links": [ { } ], "content": "R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=" } Response samples 201400 Content type application/json Copy Expand all Collapse all { "id": "string", "ownerId": "string", "status": "NEW", "type": "PORTRAIT", "description": "Government ID user #XXX", "uploadDate": "2019-08-24T14:15:22Z", "lastUpdateDate": "2019-08-24T14:15:22Z", "metadata": { "type": "PORTRAIT", "addressLine1": "string", "addressLine2": "string", "city": "string", "country": "string", "deliveryDate": "2019-08-24", "denomination": "string", "legalForm": "string", "numberOfEmployees": "string", "registrationDate": "2019-08-24", "registrationNumber": "string", "registrationPlace": "string", "shareCapital": "string", "zipcode": "string" }, "externalData": { }, "links": [ { } ] } Accounting List accounting entries GET /accounting AUTHORIZATIONS: OAuth2 (accounting_view) QUERY PARAMETERS id string (AccountingEntryId) Example: id=ACO4 TagPay Demo accounting entry id accountId string (AccountId) Example: accountId=ACC123 Id for an account type string (EntryType) Enum: "TRANSFER" "FEE" "COMMISSION" "TAX" "DISCOUNT" "INTEREST" startDate string <date-time> Nullable Start date endDate string <date-time> Nullable End date offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "accountId" "type" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Example response (Status 200) RESPONSE SCHEMA: application/json items Array of objects Array of accounting entries (srcAccount, dstAccount, amount) count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Export accounting entries GET /accounting/export AUTHORIZATIONS: OAuth2 (accounting_export) QUERY PARAMETERS id string (AccountingEntryId) Example: id=ACO4 TagPay Demo accounting entry id accountId string (AccountId) Example: accountId=ACC123 Id for an account type string (EntryType) Enum: "TRANSFER" "FEE" "COMMISSION" "TAX" "DISCOUNT" "INTEREST" startDate string <date-time> Nullable Start date endDate string <date-time> Nullable End date Responses 200 A CSV file with the requested export RESPONSE SCHEMA: text/csv string Events Subscriptions to events GET /hooks Search your subscriptions to Events AUTHORIZATIONS: OAuth2 (event_management) Responses 200 Success response RESPONSE SCHEMA: application/json items Array of objects collection of hooks count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order 400 An error occured Response samples 200400 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Subscribe to events POST /hooks Provide your third-party endpoint where to receive events, and what events types to receive Events will be sent as a POST request with this model of payload : //Client 359 status is now opened POST: { "id":"359", "type":"client", "event":"client.status.opened" } OR //Document 66 created POST: { "id":"66", "type":"document", "event":"identity.document.new" } AUTHORIZATIONS: OAuth2 (event_management) REQUEST BODY SCHEMA: application/json Event information name required string Something used to identify hook in a list url required string This url will be called (HTTP POST request) when a subscribed event occurs events required Array of strings (EventType) Items Enum: "client.status.pending" "client.status.opened" "client.status.blocked" "identity.document.new" "identity.document.verification_requested" "card.new" "card.status.pending" "card.status.opposed" "card.status.activated" "card.status.activation_requested" "card.status.blocked" "card.status.unblocked" "card.status.removed" "card.status.expired" "card.feature.change_requested" "kyc.package.added" "kyc.package.updated" "transaction.new" Responses 200 Success response RESPONSE SCHEMA: application/json id required string TagPay Demo hook id name required string Something used to identify hook in a list url required string This url will be called (HTTP POST request) when a subscribed event occurs events required Array of strings (EventType) Items Enum: "client.status.pending" "client.status.opened" "client.status.blocked" "identity.document.new" "identity.document.verification_requested" "card.new" "card.status.pending" "card.status.opposed" "card.status.activated" "card.status.activation_requested" "card.status.blocked" "card.status.unblocked" "card.status.removed" "card.status.expired" "card.feature.change_requested" "kyc.package.added" "kyc.package.updated" "transaction.new" 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "name": "string", "url": "https://your.domain.com/webhooks/endpoint", "events": [ "client.status.pending" ] } Response samples 200400 Content type application/json Copy Expand all Collapse all { "id": "string", "name": "string", "url": "https://your.domain.com/webhooks/endpoint", "events": [ "client.status.pending" ] } Unsubscribe to events DELETE /hooks/{hookId} AUTHORIZATIONS: OAuth2 (event_management) PATH PARAMETERS hookId required string (HookId) Example: HOK123 TagPay Demo hook id Responses 200 Subscription sucessfully removed RESPONSE SCHEMA: application/json object 404 Subscription was not found Response samples 200404 Content type application/json Copy Expand all Collapse all { } Cards List all cards GET /cards AUTHORIZATIONS: OAuth2 (card_view) QUERY PARAMETERS id string Nullable Card reference id embossedName string Nullable Card embossed name embossedReference string Nullable Card embossed reference number string Nullable Card support number truncatedPan string Nullable Card truncated PAN startConfirmationDate string <date-time> Nullable Confirmation date range start endConfirmationDate string <date-time> Nullable Confirmation date range end startExpirtationDate string <date-time> Nullable Expiration date range start endExpirationDate string <date-time> Nullable Expiration date range end anonymous boolean Nullable Get anonymous cards startActivationDate string <date-time> Nullable Activation date range start endActivationDate string <date-time> Nullable Activation date range end startAssociationDate string <date-time> Nullable Association date range start endAssociationDate string <date-time> Nullable Association date range end startCreationDate string <date-time> Nullable Creation date range start endCreationDate string <date-time> Nullable Creation date range end externalStatus string Nullable Card external status hasOperationInError boolean Nullable Get cards with an operation in error hasOperationBlocked boolean Nullable Get cards with last operation in pending block request hasOperationUnblocked boolean Nullable Get cards with last operation in pending unblock request hasPendingOppositionRequest boolean Nullable Get cards with last operation in pending opposition request productId string (ProductId) Example: productId=PRO123 TagPay Demo Product Id. status string Nullable Enum: "ACTIVE" "BLOCKED" "EXPIRED" "NEW" "OPPOSED" "PENDING" "REMOVED" Card status startStatusChangeDate string <date-time> Nullable Status change date range start endStatusChangeDate string <date-time> Nullable Status change date rand end userId string (UserId) Example: userId=USR42 TagPay Demo user id offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "embossedName" "embossedReference" "externalStatusConfirmationDate" "activationDate" "associationDate" "panDisplay" "number" "expirationDate" "creationDate" "productId" "status" "statusChangeDate" "userId" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Example response (Status 200) RESPONSE SCHEMA: application/json items Array of objects collection of cards count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Retrieve a card GET /cards/{cardId} AUTHORIZATIONS: OAuth2 (card_view) PATH PARAMETERS cardId required string Example: 0 card id Responses 200 Card information RESPONSE SCHEMA: application/json id required string Card id productId required string (ProductId) TagPay Demo Product Id. accountId string Id for an account externalId string (ExternalId) Nullable External id (from the calling system) userId string TagPay Demo user id contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. currency string Card and account currency productCode string Product Code productType string Product Type profileId string Id for a profile. List all profiles at GET /users/profiles embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account panDisplay string expirationDate string Card expiration date (YYYY-MM) status string Enum: "NEW" "PENDING" "ACTIVE" "EXPIRED" "REMOVED" "BLOCKED" "OPPOSED" externalStatus object Block, Unblock, Lost, Stolen, ... activationCode string Card's activation code limits object Card's limits anonymous boolean Is the card anonymous features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) lastUsageDate string <date-time> createdAt string <date-time> pendingManagementOperation object (PendingManagementOperation) 404 Requested card was not found Response samples 200404 Content type application/json Copy Expand all Collapse all { "id": "0", "productId": "PRO123", "accountId": "string", "externalId": "EXT123456789", "userId": "string", "contractId": "string", "currency": "EUR", "productCode": "PRD1", "productType": "DEBIT_CARD", "profileId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "panDisplay": "5119 77XX XXXX 4431", "expirationDate": "2022-12", "status": "NEW", "externalStatus": { "value": "string", "creationDate": "2019-08-24T14:15:22Z", "confirmationDate": "2019-08-24T14:15:22Z" }, "activationCode": 123456789, "limits": { }, "anonymous": true, "features": { "anonymous": false, "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "lastUsageDate": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Update a card PATCH /cards/{cardId} AUTHORIZATIONS: OAuth2 (card_update) PATH PARAMETERS cardId required string Example: 0 card id REQUEST BODY SCHEMA: application/json Card update request embossedName string Can be modified while status is NEW, default is account's holder name. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". Responses 200 Card successfully updated RESPONSE SCHEMA: application/json id required string Card id productId required string (ProductId) TagPay Demo Product Id. accountId string Id for an account externalId string (ExternalId) Nullable External id (from the calling system) userId string TagPay Demo user id contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. currency string Card and account currency productCode string Product Code productType string Product Type profileId string Id for a profile. List all profiles at GET /users/profiles embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account panDisplay string expirationDate string Card expiration date (YYYY-MM) status string Enum: "NEW" "PENDING" "ACTIVE" "EXPIRED" "REMOVED" "BLOCKED" "OPPOSED" externalStatus object Block, Unblock, Lost, Stolen, ... activationCode string Card's activation code limits object Card's limits anonymous boolean Is the card anonymous features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) lastUsageDate string <date-time> createdAt string <date-time> pendingManagementOperation object (PendingManagementOperation) 400 Card could not be updated 404 Requested card was not found Request samples Payload Content type application/json Copy Expand all Collapse all { "embossedName": "JOHN DOE" } Response samples 200400404 Content type application/json Copy Expand all Collapse all { "id": "0", "productId": "PRO123", "accountId": "string", "externalId": "EXT123456789", "userId": "string", "contractId": "string", "currency": "EUR", "productCode": "PRD1", "productType": "DEBIT_CARD", "profileId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "panDisplay": "5119 77XX XXXX 4431", "expirationDate": "2022-12", "status": "NEW", "externalStatus": { "value": "string", "creationDate": "2019-08-24T14:15:22Z", "confirmationDate": "2019-08-24T14:15:22Z" }, "activationCode": 123456789, "limits": { }, "anonymous": true, "features": { "anonymous": false, "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "lastUsageDate": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Deactivate a card DELETE /cards/{cardId} AUTHORIZATIONS: OAuth2 (card_deactivate) PATH PARAMETERS cardId required string Example: 0 card id Responses 200 Card successfully deactivated RESPONSE SCHEMA: application/json object 400 Card could not be deactivated 404 Requested card was not found Response samples 200400404 Content type application/json Copy Expand all Collapse all { } Change card feature PATCH /cards/{cardId}/features Enable or disable a card feature AUTHORIZATIONS: OAuth2 (card_option) PATH PARAMETERS cardId required string Example: 0 card id REQUEST BODY SCHEMA: application/json Card feature change request. Features availables depends on product configuration feature required string Enum: "NFC" "CASH_OPERATION" "EUR_WITHDRAWAL" "FOREIGN_WITHDRAWAL" "PAYMENT_AUTHORIZED" "EUR_PAYMENT" "FOREIGN_PAYMENT" "FOREIGN_ALL" "ONLINE_PAYMENT" "FOREIGN_ONLINE_PAYMENT" enabled required boolean Responses 200 Card feature change successfully requested RESPONSE SCHEMA: application/json id required string Card id productId required string (ProductId) TagPay Demo Product Id. accountId string Id for an account externalId string (ExternalId) Nullable External id (from the calling system) userId string TagPay Demo user id contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. currency string Card and account currency productCode string Product Code productType string Product Type profileId string Id for a profile. List all profiles at GET /users/profiles embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account panDisplay string expirationDate string Card expiration date (YYYY-MM) status string Enum: "NEW" "PENDING" "ACTIVE" "EXPIRED" "REMOVED" "BLOCKED" "OPPOSED" externalStatus object Block, Unblock, Lost, Stolen, ... activationCode string Card's activation code limits object Card's limits anonymous boolean Is the card anonymous features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) lastUsageDate string <date-time> createdAt string <date-time> pendingManagementOperation object (PendingManagementOperation) 400 Card feature could not be changed 404 Requested card was not found Request samples Payload Content type application/json Copy Expand all Collapse all { "feature": "NFC", "enabled": true } Response samples 200400404 Content type application/json Copy Expand all Collapse all { "id": "0", "productId": "PRO123", "accountId": "string", "externalId": "EXT123456789", "userId": "string", "contractId": "string", "currency": "EUR", "productCode": "PRD1", "productType": "DEBIT_CARD", "profileId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "panDisplay": "5119 77XX XXXX 4431", "expirationDate": "2022-12", "status": "NEW", "externalStatus": { "value": "string", "creationDate": "2019-08-24T14:15:22Z", "confirmationDate": "2019-08-24T14:15:22Z" }, "activationCode": 123456789, "limits": { }, "anonymous": true, "features": { "anonymous": false, "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "lastUsageDate": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Block a card PATCH /cards/{cardId}/block AUTHORIZATIONS: OAuth2 (card_block) PATH PARAMETERS cardId required string Example: 0 card id Responses 200 Card successfully blocked RESPONSE SCHEMA: application/json id required string Card id productId required string (ProductId) TagPay Demo Product Id. accountId string Id for an account externalId string (ExternalId) Nullable External id (from the calling system) userId string TagPay Demo user id contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. currency string Card and account currency productCode string Product Code productType string Product Type profileId string Id for a profile. List all profiles at GET /users/profiles embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account panDisplay string expirationDate string Card expiration date (YYYY-MM) status string Enum: "NEW" "PENDING" "ACTIVE" "EXPIRED" "REMOVED" "BLOCKED" "OPPOSED" externalStatus object Block, Unblock, Lost, Stolen, ... activationCode string Card's activation code limits object Card's limits anonymous boolean Is the card anonymous features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) lastUsageDate string <date-time> createdAt string <date-time> pendingManagementOperation object (PendingManagementOperation) 400 Card could not be blocked 404 Requested card was not found Response samples 200400404 Content type application/json Copy Expand all Collapse all { "id": "0", "productId": "PRO123", "accountId": "string", "externalId": "EXT123456789", "userId": "string", "contractId": "string", "currency": "EUR", "productCode": "PRD1", "productType": "DEBIT_CARD", "profileId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "panDisplay": "5119 77XX XXXX 4431", "expirationDate": "2022-12", "status": "NEW", "externalStatus": { "value": "string", "creationDate": "2019-08-24T14:15:22Z", "confirmationDate": "2019-08-24T14:15:22Z" }, "activationCode": 123456789, "limits": { }, "anonymous": true, "features": { "anonymous": false, "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "lastUsageDate": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Unblock a card PATCH /cards/{cardId}/unblock AUTHORIZATIONS: OAuth2 (card_unblock) PATH PARAMETERS cardId required string Example: 0 card id Responses 200 Card successfully unblocked RESPONSE SCHEMA: application/json id required string Card id productId required string (ProductId) TagPay Demo Product Id. accountId string Id for an account externalId string (ExternalId) Nullable External id (from the calling system) userId string TagPay Demo user id contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. currency string Card and account currency productCode string Product Code productType string Product Type profileId string Id for a profile. List all profiles at GET /users/profiles embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account panDisplay string expirationDate string Card expiration date (YYYY-MM) status string Enum: "NEW" "PENDING" "ACTIVE" "EXPIRED" "REMOVED" "BLOCKED" "OPPOSED" externalStatus object Block, Unblock, Lost, Stolen, ... activationCode string Card's activation code limits object Card's limits anonymous boolean Is the card anonymous features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) lastUsageDate string <date-time> createdAt string <date-time> pendingManagementOperation object (PendingManagementOperation) 400 Card could not be unblocked 404 Requested card was not found Response samples 200400404 Content type application/json Copy Expand all Collapse all { "id": "0", "productId": "PRO123", "accountId": "string", "externalId": "EXT123456789", "userId": "string", "contractId": "string", "currency": "EUR", "productCode": "PRD1", "productType": "DEBIT_CARD", "profileId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "panDisplay": "5119 77XX XXXX 4431", "expirationDate": "2022-12", "status": "NEW", "externalStatus": { "value": "string", "creationDate": "2019-08-24T14:15:22Z", "confirmationDate": "2019-08-24T14:15:22Z" }, "activationCode": 123456789, "limits": { }, "anonymous": true, "features": { "anonymous": false, "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "lastUsageDate": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Oppose a card PATCH /cards/{cardId}/oppose AUTHORIZATIONS: OAuth2 (card_oppose) PATH PARAMETERS cardId required string Example: 0 card id REQUEST BODY SCHEMA: application/json Card opposition request reason required string Enum: "ABUSE" "LOST" "STOLEN" "NOT_DISTRIBUTED" "COUNTERFEIT" Responses 200 Card successfully opposed RESPONSE SCHEMA: application/json id required string Card id productId required string (ProductId) TagPay Demo Product Id. accountId string Id for an account externalId string (ExternalId) Nullable External id (from the calling system) userId string TagPay Demo user id contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. currency string Card and account currency productCode string Product Code productType string Product Type profileId string Id for a profile. List all profiles at GET /users/profiles embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account panDisplay string expirationDate string Card expiration date (YYYY-MM) status string Enum: "NEW" "PENDING" "ACTIVE" "EXPIRED" "REMOVED" "BLOCKED" "OPPOSED" externalStatus object Block, Unblock, Lost, Stolen, ... activationCode string Card's activation code limits object Card's limits anonymous boolean Is the card anonymous features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) lastUsageDate string <date-time> createdAt string <date-time> pendingManagementOperation object (PendingManagementOperation) 400 Card could not be opposed 404 Requested card was not found Request samples Payload Content type application/json Copy Expand all Collapse all { "reason": "ABUSE" } Response samples 200400404 Content type application/json Copy Expand all Collapse all { "id": "0", "productId": "PRO123", "accountId": "string", "externalId": "EXT123456789", "userId": "string", "contractId": "string", "currency": "EUR", "productCode": "PRD1", "productType": "DEBIT_CARD", "profileId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "panDisplay": "5119 77XX XXXX 4431", "expirationDate": "2022-12", "status": "NEW", "externalStatus": { "value": "string", "creationDate": "2019-08-24T14:15:22Z", "confirmationDate": "2019-08-24T14:15:22Z" }, "activationCode": 123456789, "limits": { }, "anonymous": true, "features": { "anonymous": false, "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "lastUsageDate": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Activate a card PATCH /cards/{cardId}/activate AUTHORIZATIONS: OAuth2 (card_activate) PATH PARAMETERS cardId required string Example: 1234 card id REQUEST BODY SCHEMA: application/json Card activation options code string Optional activation code reason string Optional activation reason Responses 200 Activation was requested RESPONSE SCHEMA: application/json id required string Card id productId required string (ProductId) TagPay Demo Product Id. accountId string Id for an account externalId string (ExternalId) Nullable External id (from the calling system) userId string TagPay Demo user id contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. currency string Card and account currency productCode string Product Code productType string Product Type profileId string Id for a profile. List all profiles at GET /users/profiles embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account panDisplay string expirationDate string Card expiration date (YYYY-MM) status string Enum: "NEW" "PENDING" "ACTIVE" "EXPIRED" "REMOVED" "BLOCKED" "OPPOSED" externalStatus object Block, Unblock, Lost, Stolen, ... activationCode string Card's activation code limits object Card's limits anonymous boolean Is the card anonymous features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) lastUsageDate string <date-time> createdAt string <date-time> pendingManagementOperation object (PendingManagementOperation) 400 Card could not be activated 404 Requested card was not found Request samples Payload Content type application/json Copy Expand all Collapse all { "code": "123ABC", "reason": "Customer activated card in ATM" } Response samples 200400404 Content type application/json Copy Expand all Collapse all { "id": "0", "productId": "PRO123", "accountId": "string", "externalId": "EXT123456789", "userId": "string", "contractId": "string", "currency": "EUR", "productCode": "PRD1", "productType": "DEBIT_CARD", "profileId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "panDisplay": "5119 77XX XXXX 4431", "expirationDate": "2022-12", "status": "NEW", "externalStatus": { "value": "string", "creationDate": "2019-08-24T14:15:22Z", "confirmationDate": "2019-08-24T14:15:22Z" }, "activationCode": 123456789, "limits": { }, "anonymous": true, "features": { "anonymous": false, "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "lastUsageDate": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Create a card POST /accounts/{accountId}/cards AUTHORIZATIONS: OAuth2 (card_creation) PATH PARAMETERS accountId required string Example: 0 account id REQUEST BODY SCHEMA: application/json card to add to the system productId required string (ProductId) TagPay Demo Product Id. externalId string (ExternalId) Nullable External id (from the calling system) contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account pincode string Card's pincode. Must be 4 digits if defined activationCode string Card's activation code limits object Card's limits features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) pendingManagementOperation object (PendingManagementOperation) Responses 201 Card creation response. RESPONSE SCHEMA: application/json id required string Card id productId required string (ProductId) TagPay Demo Product Id. accountId string Id for an account externalId string (ExternalId) Nullable External id (from the calling system) userId string TagPay Demo user id contractId string Nullable Card contract associated with the card. Leave empty to create a card in a new contract. currency string Card and account currency productCode string Product Code productType string Product Type profileId string Id for a profile. List all profiles at GET /users/profiles embossedName string Nullable The card holder name, default is account's holder name. Can be modified while status is NEW. Can only contain "A-Z", "0-9", "'", "-", " ", and ".". embossedReference string Nullable Mandatory for anonymous cards, reference at the back of the card to link anonymous card with an account panDisplay string expirationDate string Card expiration date (YYYY-MM) status string Enum: "NEW" "PENDING" "ACTIVE" "EXPIRED" "REMOVED" "BLOCKED" "OPPOSED" externalStatus object Block, Unblock, Lost, Stolen, ... activationCode string Card's activation code limits object Card's limits anonymous boolean Is the card anonymous features object paymentBlockedCountries Array of strings Countries in which payment will be blocked for the card. Countries must be set with their ISO 2 code withdrawalBlockedCountries Array of strings Countries in which withdrawal will be blocked for the card. Countries must be set with their ISO 2 code mccRestrictionGroupId integer Group id for restrictions on merchant categories (MCC) merchantRestrictionGroupId integer Group id for restrictions on specific merchants (European Merchant ID) lastUsageDate string <date-time> createdAt string <date-time> pendingManagementOperation object (PendingManagementOperation) 400 An error occured Request samples Payload Content type application/json Copy Expand all Collapse all { "productId": "PRO123", "externalId": "EXT123456789", "contractId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "pincode": 1234, "activationCode": 123456789, "limits": { }, "features": { "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Response samples 201400 Content type application/json Copy Expand all Collapse all { "id": "0", "productId": "PRO123", "accountId": "string", "externalId": "EXT123456789", "userId": "string", "contractId": "string", "currency": "EUR", "productCode": "PRD1", "productType": "DEBIT_CARD", "profileId": "string", "embossedName": "JOHN DOE", "embossedReference": "string", "panDisplay": "5119 77XX XXXX 4431", "expirationDate": "2022-12", "status": "NEW", "externalStatus": { "value": "string", "creationDate": "2019-08-24T14:15:22Z", "confirmationDate": "2019-08-24T14:15:22Z" }, "activationCode": 123456789, "limits": { }, "anonymous": true, "features": { "anonymous": false, "cash": true, "foreign": false, "online": true, "nfc": false, "paymentAuthorized": false, "foreignWithdrawal": true, "foreignOnlinePayment": true, "foreignAll": true, "eurWithdrawal": true, "eurPayment": true }, "paymentBlockedCountries": [ "FR", "GB", "US" ], "withdrawalBlockedCountries": [ "FR", "GB", "US" ], "mccRestrictionGroupId": 0, "merchantRestrictionGroupId": 0, "lastUsageDate": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "pendingManagementOperation": { "operationType": "card_features_update", "featureId": "NFC" } } Get card outstandings GET /cards/{cardId}/outstandings AUTHORIZATIONS: OAuth2 (card_view) PATH PARAMETERS cardId required string Example: 1234 card id Responses 200 Card outstanding list RESPONSE SCHEMA: application/json outstandings required Array of objects (Outstanding) 400 Could not get card outsandings 404 Requested card was not found Response samples 200400404 Content type application/json Copy Expand all Collapse all { "outstandings": [ { } ] } Refabricate a card PATCH /cards/{cardId}/refabricate AUTHORIZATIONS: OAuth2 (card_refabrication) PATH PARAMETERS cardId required string Example: 1234 card id Responses 200 Refabrication was requested RESPONSE SCHEMA: application/json operationId required string Refabrication operation id 400 Card could not be refabricated 404 Requested card was not found Response samples 200400404 Content type application/json Copy Expand all Collapse all { "operationId": "1234" } List all card management operations GET /cards/{cardId}/operations AUTHORIZATIONS: OAuth2 (card_view) PATH PARAMETERS cardId required string Example: 1234 card id QUERY PARAMETERS id string (CardManagementOperationId) Example: id=123 TagPay Demo Operation Id. type string (CardManagementOperationType) Enum: "REFABRICATION" "CARD_CODE_REISSUING" "CARD_OPPOSITION" Example: type=REFABRICATION Operation type state string (CardManagementOperationState) Enum: "INITIATED" "CTRL_PASSED" "CTRL_FAILED" "ACCEPTED" "EXECUTED" "SETTLED" "EXT_ACCEPTED" "ERR_EXECUTED" "EXT_PENDING" "EXT_REFUSED" "ERR_EXT" "CANCELED" "IS_VALID" "IS_NOT_VALID" "REFUSED" Example: state=ACCEPTED Operation state offset integer >= 0 Nullable Default: 0 Pagination page number limit integer [ 1 .. 500 ] Nullable Default: 20 The number of items per page sort string Nullable Default: "id" Enum: "id" "type" "state" "creation_date" Field to define the sort order. To indicate sorting direction, ascending (oldest first) fields may be prefixed with +. Descending (newer first) fields may be prefixed with - Responses 200 Example response (Status 200) RESPONSE SCHEMA: application/json items Array of objects collection of operations count integer >= 0 the total count of objects in collection offset integer >= 0 Default: 0 Pagination start (from 0) limit integer [ 0 .. 100 ] Default: 20 Number of results to display (default 20) sort string Default: "id" Field to define sort order Response samples 200 Content type application/json Copy Expand all Collapse all { "items": [ { } ], "count": 0, "offset": 0, "limit": 20, "sort": "id" } Identities List available statuses GET /identities/{identityId}/available-statuses Returns the possible statuses to which the Identity can be switched to AUTHORIZATIONS: OAuth2 (identity_status_change) Responses 200 List of available statuses RESPONSE SCHEMA: application/json Array () id required string (IdentityStatusEnum) Enum: "INITIATED" "PENDING" "OPENED" "BLOCKED" "CLOSED" "INIBLOCKED" label required string a displayable label translated in the platform default language or the first available language in Accept-Language HTTP header default Request could not be processed Response samples 200default Content type application/json Copy Expand all Collapse all [ { "id": "INITIATED", "label": "string" } ] Change Identity status PUT /identities/{identityId}/actions/change-status AUTHORIZATIONS: OAuth2 (identity_status_change) REQUEST BODY SCHEMA: application/json status required string (IdentityStatusEnum) Enum: "INITIATED" "PENDING" "OPENED" "BLOCKED" "CLOSED" "INIBLOCKED" reason required string the reason of the change Responses 204 Identity status was successfully changed default Request could not be processed Request samples Payload Content type application/json Copy Expand all Collapse all { "status": "INITIATED", "reason": "string" } Response samples default Content type application/json Copy Expand all Collapse all { "code": 1234, "message": "something went wrong because requirement X was not met.", "hint": "string" } Open an Identity POST /identities/{identityId}/actions/open AUTHORIZATIONS: OAuth2 (open_identity) REQUEST BODY SCHEMA: application/json reason required string the reason of the opening Responses 204 Identity was successfully opened default Request could not be processed Request samples Payload Content type application/json Copy Expand all Collapse all { "reason": "my reason" } Response samples default Content type application/json Copy Expand all Collapse all { "code": 1234, "message": "something went wrong because requirement X was not met.", "hint": "string" }