Veengu Platform Frontend API (2.5.11)

Download OpenAPI specification:Download

General info

Veengu API provides key methods and attributes for managing a digital financial service by Tenants (service providers).

Authentication

Veengu Tenant code

Also as a part of tenant onboarding, Veengu assignes an unique string code for the Tenant. You should always send your code in v-tenant header. # Note your API keys carry many privileges, so be sure to keep them secure! Do not share your API keys in publicly accessible areas such as GitHub, client-side code, and so forth. # All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Access Token structure

Veengu Access Token is JSON Web Token (JWT, tools.ietf.org). It consists of three concatenated Base64url-encoded strings, separated by dots .:

  • Header: contains metadata about the type of the token and cryptographic algorithms used to secure its contents.

  • Payload: contains verifiable security statements, such as an identity of the user and permissions they are allowed.

  • Signature: used to validate that the token is trustworthy and has not been tampered with.

Request identifiers

Each API request has an associated request identifier. You can find this value in response headers, under V-Request-Id. If you need to contact us about a specific request, providing the request identifier will ensure the fastest possible resolution.

Fields special formats

Date and time formats

All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. You can find more information on Veengu Developer Guide API Overview. To get transaction created date in customer local time you use createdAt attribute in transaction response and transaction history.

During transaction initiation you can define transaction local timezone on application client site with sending localUTCOffset attribute as an offset of user mobile device with the locale time zone in ISO 8601 as an offset from UTC formats:

  • ±hh:mm
  • ±hhmm
  • ±hh

In case localUTCOffset attribute is not specified in transaction request Veengu processing core stores and responses createdAt value as server time with Tenant timezone defines in settings.

Money format

All money in API defined as amount object with mandatory fields value and currency. Currency should be present as currency code in ISO 4217 alfa-3 format. The value field should be present as the float number of monetary units specified in an appropriate currency. Field pattern applies based on currency ISO 4217 definition.

Versioning

When we make backwards-incompatible changes to the API, we release new, dated versions. The current version is 2.X.Y. Read our API changelog to learn more about backwards compatibility. Some versions could be deprecated which means you cannot choose this version in API settings and all requests return an API format error. To set the API version for a specific request use V-Version header. As a precaution, use API versioning to test a new API version before committing to an upgrade.

Errors

For error handling Veengu uses conventional HTTP response codes to indicate success or failure of an API request. In general, error codes in the 2xx range indicate success. Codes in the 4xx range indicate errors that failed given the information provided (e.g., a required parameter is missing, a failed transaction, etc.). Codes in the 5xx range indicate errors with Veengu servers (these are rare). Some 4xx errors that could be handled programmatically (e.g., a transaction is declined) include an error code that briefly explains the error reported.

HTTP code description
200 Request processed successfully.
201 Request processed successfully.
400 The request cannot be not accepted, often due to missing a required parameter.
401 Not authenticated
402 The parameters were valid but the request failed.
403 The API key doesn't have permissions to perform the request.
404 The requested resource does not exist.
409 The request is conflicting with another request (perhaps due to using the same idempotent key)
429 Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.
500 Something went wrong on Veengu's end. (These are rare.)
504 Where an API is deprecated and no longer operationally supported by an Veengu.

Pagination

The Veengu API implements cursor-based pagination via the next and prev parameters. Both parameters take a unique key element that identifies the next or previous page. The prev parameter returns objects listed before the current page. The next parameter returns objects listed after the current page. Only one parameter next or prev should be used in the request. If both parameters are provided, only next is used. The returned object includes cursor object with next/prev parameters if there are more objects (for example, transactions) than the defined limit value in response. If the objects list fits in one page cursor object is empty.

All top-level API resources have support request to get object list via API methods. For instance, you can get customers, accounts, and transactions. These API methods share a common structure, taking at least these three parameters: limit, next and prev.

Individual Customer

The following parameters shall be provided to create a new Individual Customer profile with account:

  • Personal phone number,
  • Solution id.

Business Customer

For creating a new Business Customer account, the following setup parameters should be provided:

  • Solution id i.e. the name marketed to the merchants. Identification is the unique id created by the Tenant to internally define the solution

Solution Specific Handbooks

Specific parameters

Get solution-specific parameters

Retrieves solution-specific parameters

Authorizations:
(VeenguApiKeyVeenguSolution)

Responses

Response samples

Content type
{
  • "countries": [
    ],
  • "kycLevels": [
    ],
  • "currencies": [
    ],
  • "industries": [
    ],
  • "localizations": [
    ],
  • "merchantCategoryCodes": [
    ]
}

Country-Specific Handbooks

Country-specific parameters

Get country-specific parameters

Retrieves country-specific parameters

Authorizations:
(VeenguApiKeyVeenguSolution)
path Parameters
id
required
string

country code

Responses

Response samples

Content type
{
  • "id": "AE",
  • "name": "United Arab Emirates",
  • "nameLocalized": "لإمارات العربية المتحدة",
  • "businessLegalTypes": [
    ],
  • "individualDocuments": [
    ]
}

Authentication management

Set or change user password

Define or change the user password. To set a password use V-Access-Token received by sms or/and email OTP authentication and skip oldPassword field.

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
newPassword
required
string
oldPassword
string

Responses

Request samples

Content type
application/json
{
  • "newPassword": "kxpworyewh234423",
  • "oldPassword": "kxpworyewh234423"
}

Set or change secret word

Define or change the user secret word. To set a secret word use V-Access-Token received by sms or/and email OTP authentication and skip oldSecretWord field.

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
newSecretWord
required
string
oldSecretWord
string

Responses

Request samples

Content type
application/json
{
  • "newSecretWord": "secret",
  • "oldSecretWord": "oldsecret"
}

Check if secret word is available for reset

Check if it is possible to reset the secret word

Authorizations:
(VeenguApiKeyAccessToken)

Responses

Response samples

Content type
application/json
{
  • "available": true
}

The list of questions to reset secret word

The user must answer all the questions from the list in order to reset the secret word

Authorizations:
(VeenguApiKeyAccessToken)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Reset secret word

Reset the user's secret word.

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
Array
id
required
string
value
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Set authentication key

As for now we allow only one key for one identity. Multiple keys may be allowed lately. Only tweetnacl key type is supported.

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
keyType
required
string <base64>
key
required
string
required
object (device)

Responses

Request samples

Content type
application/json
{
  • "keyType": "tweetnacl",
  • "key": "a6d735273f96",
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "keyId": "1a76a6a8-c706-44b3-b008-a6d735273f96"
}

Delete authentication key and push token

Upon logout mobile application should delete and clear its authentication key and push token.

Authorizations:
VeenguApiKey
path Parameters
id
required
string

An authentication key ID

Responses

Response samples

Content type
application/json
{
  • "keyId": "1a76a6a8-c706-44b3-b008-a6d735273f96"
}

The list of user identity defined by phone number or/and email.

User can have several identities, for example, user has individual wallet and employee account in business wallet.

Authorizations:
(VeenguApiKeyAccessToken)

Responses

Response samples

Content type
application/json
{
  • "emailAddress": "sival14584@soowz.com",
  • "username": "sival14584@soowz.com",
  • "hasPassword": true,
  • "hasSecretWord": true,
  • "name": "Kate Maison",
  • "phoneNumber": "+447930954405",
  • "roles": {
    }
}

End session

Close user session.

Authorizations:
(VeenguApiKeyAccessToken)

Responses

Authenticate with One-time Password

Users authentication flow with one-tome password

One-time password via sms challenge generation

First step for authentication by one-time password delivered by sms

Authorizations:
VeenguApiKey
Request Body schema: application/json
phoneNumber
string

Responses

Request samples

Content type
application/json
{
  • "phoneNumber": "+44987654321"
}

Response samples

Content type
application/json
{
  • "challengeToken": "45603924-194d-4b47-b6be-1e0705b5218b"
}

One-time password via sms verification

One-time password verification

Authorizations:
VeenguApiKey
Request Body schema: application/json
challengeToken
required
string
otp
required
string
name
string

Responses

Request samples

Content type
application/json
{
  • "challengeToken": "45603924-194d-4b47-b6be-1e0705b5218b",
  • "otp": "96240",
  • "name": "David James"
}

One-time password via email

First step for authentication by one-time password delivered by email

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
email
required
string
name
string

Responses

Request samples

Content type
application/json
{
  • "email": "gfbriemann@superpay.com",
  • "name": "Georg Friedrich Bernhard"
}

Response samples

Content type
application/json
{
  • "challengeToken": "45603924-194d-4b47-b6be-1e0705b5218b"
}

One-time password via email verification step

One-time password verification.

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
challengeToken
required
string
otp
required
string

Responses

Request samples

Content type
application/json
{
  • "challengeToken": "45603924-194d-4b47-b6be-1e0705b5218b",
  • "otp": "96240"
}

Key Authentication

Users authentication flow with mobile application key

Begin key challenge

Begin key challenge

Authorizations:
VeenguApiKey
Request Body schema: application/json
keyId
string
object (device)

Responses

Request samples

Content type
application/json
{
  • "keyId": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "challengeToken": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "challengeData": "1a76a6a8-c706-44b3-b008-a6d735273f96"
}

Authenticate with key

Authenticate with key

Authorizations:
VeenguApiKey
Request Body schema: application/json
challengeToken
string
signedChallengeData
string

Responses

Request samples

Content type
application/json
{
  • "challengeToken": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "signedChallengeData": "1a76a6a8-c706-44b3-b008-a6d735273f96"
}

Password Authentication

Users authentication flow with password

Static password authentication

Authentication by static password

Authorizations:
VeenguApiKey
Request Body schema: application/json
username
required
string

A user login assigned by the Platform depending on a user registration flow

password
required
string

A user password. For an employee, it is a five digits Access code provided by a manager via the Business Portal or Customer Support or delivered to a personal phone number via SMS.

Responses

Request samples

Content type
application/json
{
  • "username": "45603924-194d-4b47-b6be-1e0705b5218b",
  • "password": "12345"
}

Secret word authentication

Authenticate with secret word

Authentication by secret word

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
secretWord
required
string

Responses

Request samples

Content type
application/json
{
  • "secretWord": "secret"
}

User profiles

Get profiles list for authenticated user

Retrieves profiles list for authenticated user.

Authorizations:
(VeenguApiKeyAccessToken)

Responses

Response samples

Content type
application/json
Example
[
  • {
    }
]

Get profile limits

Retrieves profile limits for authenticated user.

Authorizations:
(VeenguApiKeyAccessToken)
path Parameters
id
required
string

The ID of the profile

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Locations

Get all location

Get all locations within a tenant's space

Authorizations:
VeenguApiKey

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Images and Media Files Uploads

Add image or media data

Uploads files, for example user avatar or business logo

Authorizations:
(VeenguApiKeyAccessTokenProfile)
Request Body schema: multipart/form-data
mimeType
string
data
required
string <binary>
name
string

Responses

Response samples

Content type
application/json
{
  • "type": "ACCESS_ERROR",
  • "code": "ADDITIONAL_AUTHENTICATION_REQUIRED",
  • "message": "Additional authentication required",
  • "details": {
    }
}

Get an image or media file by id

Retrieves files by id

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

file id

Responses

Response samples

Content type
application/json
{
  • "type": "ACCESS_ERROR",
  • "code": "ADDITIONAL_AUTHENTICATION_REQUIRED",
  • "message": "Additional authentication required",
  • "details": {
    }
}

Individual Profile

Create individual profile

Creates a new individual customer profile with specified phone number within Tenant's space. New account will be created if default product is configured in Onboarding feature of the specified Solution. Phone number shall not be used yet by another individual profile within the same Tenant space.

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
id
string <uuid>

Profile identifier

phoneNumber
required
string

Individual consumer phone number

solutionId
required
string <uuid>

Solution id should be specified for individual customer on-boarding

country
string

Individual consumer address Country in ISO 3166-1 alpha-2 . Value from country handbook.

firstName
string

Individual consumer First name

lastName
string

Individual consumer Last name

addNames
Array of strings
birthDate
string <date>

Individual consumer date of birth

gender
string
Enum: "MALE" "FEMALE"

Individual consumer gender

status
string
Enum: "ACTIVE" "BLOCKED"

Individual consumer status

Array of objects
object (file)
kycLevel
string

Individual consumer KYC level. Tenant's handbook could be customized by Veengu team.

kycStatus
string

Individual consumer KYC state defines the current state of a user KYC process

kycState
string

Individual consumer KYC state defines the current state of a user KYC process

Array of objects (document)
object (address)
object [ 0 .. 10 ] properties

Any other extra profile properties may appear in this section

Responses

Request samples

Content type
application/json
{
  • "phoneNumber": "+441234563421",
  • "solutionId": "0db95881-2968-40e8-b194-d50e2b9c20a3",
  • "country": "AE",
  • "firstName": "Leonhard",
  • "lastName": "Euler",
  • "birthDate": "1983-09-18",
  • "gender": "MALE"
}

Response samples

Content type
application/json
{
  • "lastName": "Euler",
  • "firstName": "Leonhard",
  • "kycLevel": "basic",
  • "phoneNumber": "+441234563421",
  • "gender": "MALE",
  • "createdAt": "2020-03-10T12:45:02+02:00",
  • "solutionId": "0db95881-2968-40e8-b194-d50e2b9c20a3",
  • "country": "AE",
  • "id": "95e656f0-68d7-475f-9429-f7a6e0263ad4",
  • "status": "ACTIVE"
}

Get individual profile

Retrieves full individual profile data by individual customer id.

Authorizations:
(VeenguApiKeyAccessToken)
path Parameters
id
required
string

individual profile id

Responses

Response samples

Content type
application/json
{
  • "id": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "phoneNumber": "+441234563421",
  • "solutionId": "0db95881-2968-40e8-b194-d50e2b9c20a3",
  • "country": "AE",
  • "firstName": "Leonhard",
  • "lastName": "Euler",
  • "addNames": [
    ],
  • "birthDate": "1983-09-18",
  • "gender": "MALE",
  • "status": "ACTIVE",
  • "contacts": [
    ],
  • "icon": {
    },
  • "kycLevel": "basic",
  • "kycStatus": "ACTIVE",
  • "kycState": "VERIFIED",
  • "documents": [
    ],
  • "address": {
    },
  • "additionalProperties": {
    }
}

Edit individual customer profile

Updates individual customer profile. To update a particular field or a subset of fields all other fields in the request body with current values shall be provided, otherwise the current values will be erased.

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Individual customer profile id

Request Body schema: application/json
id
string <uuid>

Profile identifier

phoneNumber
required
string

Individual consumer phone number

solutionId
required
string <uuid>

Solution id should be specified for individual customer on-boarding

country
string

Individual consumer address Country in ISO 3166-1 alpha-2 . Value from country handbook.

firstName
string

Individual consumer First name

lastName
string

Individual consumer Last name

addNames
Array of strings
birthDate
string <date>

Individual consumer date of birth

gender
string
Enum: "MALE" "FEMALE"

Individual consumer gender

status
string
Enum: "ACTIVE" "BLOCKED"

Individual consumer status

Array of objects
object (file)
kycLevel
string

Individual consumer KYC level. Tenant's handbook could be customized by Veengu team.

kycStatus
string

Individual consumer KYC state defines the current state of a user KYC process

kycState
string

Individual consumer KYC state defines the current state of a user KYC process

Array of objects (document)
object (address)
object [ 0 .. 10 ] properties

Any other extra profile properties may appear in this section

Responses

Request samples

Content type
application/json
{
  • "lastName": "Euler",
  • "firstName": "Leonhard",
  • "kycLevel": "basic",
  • "phoneNumber": "+441234563421",
  • "gender": "MALE",
  • "createdAt": "2020-03-10T12:45:02+02:00",
  • "solutionId": "0db95881-2968-40e8-b194-d50e2b9c20a3",
  • "country": "AE",
  • "id": "95e656f0-68d7-475f-9429-f7a6e0263ad4",
  • "status": "ACTIVE"
}

Response samples

Content type
application/json
{
  • "lastName": "Euler",
  • "firstName": "Leonhard",
  • "kycLevel": "basic",
  • "phoneNumber": "+441234563421",
  • "gender": "MALE",
  • "createdAt": "2020-03-10T12:45:02+02:00",
  • "solutionId": "0db95881-2968-40e8-b194-d50e2b9c20a3",
  • "country": "AE",
  • "id": "95e656f0-68d7-475f-9429-f7a6e0263ad4",
  • "status": "ACTIVE"
}

Business Profile

Business customer

Create a business profile

Create a business customer profile

Authorizations:
(VeenguApiKeyAccessToken)
Request Body schema: application/json
id
string <uuid>

Profile identifier

email
string

Primary business profile email

required
object
solutionId
required
string

Solution id should be specified for business customer

country
required
string
Enum: "GB" "FR" "SA" "AE" "CH"

Business consumer address Country in ISO 3166-1 alpha-2 . Value from country handbook.

status
string
Enum: "ACTIVE" "BLOCKED"

Business consumer status

localizations
string

Value from country handbook. English is default lagnuage.

legalName
string

Business consumer legalName name

legalType
required
string

Business consumer legal type. Available legal types are defined in country handbook

tradeName
string

Business consumer trade name

tradeNameLocalized
string

Business consumer trade name in local language

Array of objects
description
string

Business entity description

industry
string

Business entity industry

merchantCategoryCode
string

Merchant Category Code

kycLevel
string

Business consumer KYC level. Tenant's handbook could be customized by Veengu team.

Array of objects (document)
object (address)
object
object [ 0 .. 10 ] properties

Any other extra profile properties may appear in this section

Responses

Request samples

Content type
application/json
{
  • "legalType": "LLC",
  • "solutionId": "6ea5263a-0226-4281-b71f-c10cf2d68eb8",
  • "primaryDocument": {
    },
  • "email": "gfbriemann@superpay.com",
  • "country": "AE",
  • "legalName": "Costa Coffee XVIII",
  • "phoneNumber": 447930954444
}

Response samples

Content type
application/json
{
  • "id": "a00dd671-6217-43ce-83c9-c5d4d75f9c42",
  • "solutionId": "6ea5263a-0226-4281-b71f-c10cf2d68eb8",
  • "kycLevel": "bronze",
  • "status": "active",
  • "createdAt": "2020-10-20T09:38:44.705654Z",
  • "country": "AE",
  • "legalName": "Costa Coffee XVIII",
  • "legalType": "LLC",
  • "phoneNumber": "+447930954444",
  • "primaryDocument": {
    }
}

Get business profile by business profile id

Get business customer profile info

Authorizations:
(VeenguApiKeyAccessToken)
path Parameters
id
required
string

Business customer profile id

Responses

Response samples

Content type
application/json
{
  • "id": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "email": "gfbriemann@superpay.com",
  • "primaryDocument": {
    },
  • "solutionId": "0db95881-2968-40e8-b194-d50e2b9c20a3",
  • "country": "AE",
  • "status": "ACTIVE",
  • "localizations": "ar",
  • "legalName": "BigNumbersCorporation Ltd.",
  • "legalType": "LTD",
  • "tradeName": "Big Numbers",
  • "tradeNameLocalized": "أعداد كبيرة",
  • "contacts": [
    ],
  • "description": "Super Company",
  • "industry": "Finance",
  • "merchantCategoryCode": 780,
  • "kycLevel": "basic",
  • "documents": [
    ],
  • "address": {
    },
  • "branding": {
    },
  • "additionalProperties": {
    }
}

Edit business profile

Edit business customer profile.

Authorizations:
(VeenguApiKeyAccessToken)
path Parameters
id
required
string

Business customer profile id

Request Body schema: application/json
id
string <uuid>

Profile identifier

email
string

Primary business profile email

required
object
solutionId
required
string

Solution id should be specified for business customer

country
required
string
Enum: "GB" "FR" "SA" "AE" "CH"

Business consumer address Country in ISO 3166-1 alpha-2 . Value from country handbook.

status
string
Enum: "ACTIVE" "BLOCKED"

Business consumer status

localizations
string

Value from country handbook. English is default lagnuage.

legalName
string

Business consumer legalName name

legalType
required
string

Business consumer legal type. Available legal types are defined in country handbook

tradeName
string

Business consumer trade name

tradeNameLocalized
string

Business consumer trade name in local language

Array of objects
description
string

Business entity description

industry
string

Business entity industry

merchantCategoryCode
string

Merchant Category Code

kycLevel
string

Business consumer KYC level. Tenant's handbook could be customized by Veengu team.

Array of objects (document)
object (address)
object
object [ 0 .. 10 ] properties

Any other extra profile properties may appear in this section

Responses

Request samples

Content type
application/json
{
  • "id": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "email": "gfbriemann@superpay.com",
  • "primaryDocument": {
    },
  • "solutionId": "0db95881-2968-40e8-b194-d50e2b9c20a3",
  • "country": "AE",
  • "status": "ACTIVE",
  • "localizations": "ar",
  • "legalName": "BigNumbersCorporation Ltd.",
  • "legalType": "LTD",
  • "tradeName": "Big Numbers",
  • "tradeNameLocalized": "أعداد كبيرة",
  • "contacts": [
    ],
  • "description": "Super Company",
  • "industry": "Finance",
  • "merchantCategoryCode": 780,
  • "kycLevel": "basic",
  • "documents": [
    ],
  • "address": {
    },
  • "branding": {
    },
  • "additionalProperties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "email": "gfbriemann@superpay.com",
  • "primaryDocument": {
    },
  • "solutionId": "0db95881-2968-40e8-b194-d50e2b9c20a3",
  • "country": "AE",
  • "status": "ACTIVE",
  • "localizations": "ar",
  • "legalName": "BigNumbersCorporation Ltd.",
  • "legalType": "LTD",
  • "tradeName": "Big Numbers",
  • "tradeNameLocalized": "أعداد كبيرة",
  • "contacts": [
    ],
  • "description": "Super Company",
  • "industry": "Finance",
  • "merchantCategoryCode": 780,
  • "kycLevel": "basic",
  • "documents": [
    ],
  • "address": {
    },
  • "branding": {
    },
  • "additionalProperties": {
    }
}

Location

Location for business customer profile

Create location

Create new location for business customer

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
Request Body schema: application/json
id
string <uuid>
businessId
required
string <uuid>
name
required
string
status
string
Enum: "ACTIVE" "BLOCKED" "CLOSED"
merchantCategoryCode
string
object (address)
object [ 0 .. 10 ] properties

Any other extra profile properties may appear in this section

Responses

Request samples

Content type
application/json
{
  • "businessId": "d5c641c5-6678-4a92-970c-295f7777d",
  • "name": "Bright Flowers",
  • "merchantCategoryCode": "0780",
  • "address": {
    },
  • "additionalProperties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "b34a0a7a-a748-48b5-8e8d-7b44aa27b5d1",
  • "businessId": "d5c641c5-6678-4a92-970c-295f7777d",
  • "name": "Bright Flowers",
  • "status": "ACTIVE",
  • "merchantCategoryCode": "0780",
  • "address": {
    },
  • "additionalProperties": {
    }
}

Get locations for business profile

Get all locations for a business customer

Authorizations:
(VeenguApiKeyAccessTokenProfile)
query Parameters
status
string
Example: status=active

Location status

city
string

Full context search by location address city

region
string

Full context search by location address region

name
string

Full context search by location name

ids
string

The list of locations could be filtered by the list of ids. If ids parameter is used in the query, pagination is not applicable

page
required
string
Example: page=1

For pagination is supported offset-based pagination - page a number of the requested page. The number of pages could be retrieved and calculated from the response Content-Range header. The simple REST client expects the API to include a Content-Range header in the response to getList calls. The value must be the total number of resources in the collection. This allows react-admin to know how many pages of resources there are in total, and build the pagination controls. Example: Content-Range: locations 0-24/319

perPage
required
string
Example: perPage=10

Number of rows on one page to be returned. Number of rows can range between 1 and 100, and the default is 10.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get location in business profile by business location id

Get location for business customer

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

business location id

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessId": "50092e54-cd12-4059-9828-e8c4ee9a3cf5",
  • "name": "string",
  • "status": "ACTIVE",
  • "merchantCategoryCode": "string",
  • "address": {
    },
  • "additionalProperties": {
    }
}

Edit location

Edit location details

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Location ID

Request Body schema: application/json
id
string <uuid>
businessId
required
string <uuid>
name
required
string
status
string
Enum: "ACTIVE" "BLOCKED" "CLOSED"
merchantCategoryCode
string
object (address)
object [ 0 .. 10 ] properties

Any other extra profile properties may appear in this section

Responses

Request samples

Content type
application/json
{
  • "id": "b34a0a7a-a748-48b5-8e8d-7b44aa27b5d1",
  • "businessId": "d5c641c5-6678-4a92-970c-295f7777d",
  • "name": "Bright Flowers",
  • "status": "NOT_ACTIVATED",
  • "merchantCategoryCode": "0780",
  • "address": {
    },
  • "additionalProperties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessId": "50092e54-cd12-4059-9828-e8c4ee9a3cf5",
  • "name": "string",
  • "status": "ACTIVE",
  • "merchantCategoryCode": "string",
  • "address": {
    },
  • "additionalProperties": {
    }
}

Close location

Change location status to closed and marked as deleted true

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

Business location id

Responses

Response samples

Content type
application/json
{
  • "type": "ACCESS_ERROR",
  • "code": "ADDITIONAL_AUTHENTICATION_REQUIRED",
  • "message": "Additional authentication required",
  • "details": {
    }
}

Terminal

Terminal for business customer profile

Create terminal for business profile

Create a terminal for a business customer

Authorizations:
(VeenguApiKeyAccessTokenProfile)
Request Body schema: application/json
id
string <uuid>
businessId
required
string <uuid>
locationId
string <uuid>
accountId
required
string <uuid>
label
required
string
object (device)
status
string
Enum: "NOT_ACTIVATED" "ACTIVE" "BLOCKED" "CLOSED"
linkedPhone
string
object [ 0 .. 10 ] properties

Any other extra profile properties may appear in this section

Responses

Request samples

Content type
application/json
{
  • "locationId": "b34a0a7a-a748-48b5-8e8d-7b44aa27b5d1",
  • "label": "T0001",
  • "linkedPhone": "+445755748793",
  • "additionalProperties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "d5c641c5-6678-4a92-970c-66666667d",
  • "businessId": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "locationId": "b34a0a7a-a748-48b5-8e8d-7b44aa27b5d1",
  • "label": "T0001",
  • "status": "NOT_ACTIVATED",
  • "linkedPhone": "+445755748793",
  • "additionalProperties": {
    }
}

Get terminals for business profile

Get all terminals for a business customer

Authorizations:
(VeenguApiKeyAccessTokenProfile)
query Parameters
status
string
Example: status=active
page
required
string
Example: page=1

For pagination is supported offset-based pagination - page a number of the requested page. The number of pages could be retrieved and calculated from the response Content-Range header. The simple REST client expects the API to include a Content-Range header in the response to getList calls. The value must be the total number of resources in the collection. This allows react-admin to know how many pages of resources there are in total, and build the pagination controls. Example: Content-Range: locations 0-24/319

perPage
required
string
Example: perPage=10

Number of rows on one page to be returned. Number of rows can range between 1 and 100, and the default is 10.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Edit terminal

Edit terminal details

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Business terminal id

Request Body schema: application/json
id
string <uuid>
businessId
required
string <uuid>
locationId
string <uuid>
accountId
required
string <uuid>
label
required
string
object (device)
status
string
Enum: "NOT_ACTIVATED" "ACTIVE" "BLOCKED" "CLOSED"
linkedPhone
string
object [ 0 .. 10 ] properties

Any other extra profile properties may appear in this section

Responses

Request samples

Content type
application/json
{
  • "id": "d5c641c5-6678-4a92-970c-66666667d",
  • "businessId": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "locationId": "b34a0a7a-a748-48b5-8e8d-7b44aa27b5d1",
  • "label": "T0001",
  • "status": "NOT_ACTIVATED",
  • "linkedPhone": "+445755778354",
  • "additionalProperties": {
    }
}

Response samples

Content type
application/json
{
  • "id": "d5c641c5-6678-4a92-970c-66666667d",
  • "businessId": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "locationId": "b34a0a7a-a748-48b5-8e8d-7b44aa27b5d1",
  • "label": "T0001",
  • "status": "NOT_ACTIVATED",
  • "linkedPhone": "+445755778354",
  • "additionalProperties": {
    }
}

Get terminal details by terminal id

Get business terminal details by terminal id

Authorizations:
(VeenguApiKeyAccessToken) (VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Business terminal id

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "businessId": "50092e54-cd12-4059-9828-e8c4ee9a3cf5",
  • "locationId": "1a5515a3-ba81-4a42-aee7-ad9ffc090a54",
  • "accountId": "3d07c219-0a88-45be-9cfc-91e9d095a1e9",
  • "label": "T-0001",
  • "device": {
    },
  • "status": "NOT_ACTIVATED",
  • "linkedPhone": "+445755748793",
  • "additionalProperties": {
    }
}

Get business terminal currencies list

Get list of currencies for purchase acceptance available for specified terminal

Authorizations:
(VeenguApiKeyAccessToken) (VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Business terminal id

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Temporary block terminal

Change terminal status to blocked

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Business terminal id

Responses

Response samples

Content type
application/json
{
  • "id": "d5c641c5-6678-4a92-970c-66666667d",
  • "businessId": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "locationId": "b34a0a7a-a748-48b5-8e8d-7b44aa27b5d1",
  • "label": "T0001",
  • "device": {
    },
  • "status": "BLOCKED"
}

Close terminal

Change terminal status to CLOSED and marked as deleted true

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Business terminal id

Responses

Create activation code for not activated terminal

Create activation code for terminal activation on cashier device

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Business terminal id

Request Body schema: application/json
phone
string

Responses

Request samples

Content type
application/json
{
  • "phone": "+445755748793"
}

Response samples

Content type
application/json
{
  • "id": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "businessId": "1a76a6a8-c706-44b3-b008-a6d735273f96",
  • "value": "8560864289978243",
  • "terminalId": "d5c641c5-6678-4a92-970c-22222227d",
  • "expires": "2020-05-10T00:00:00.000Z",
  • "createdAt": "2020-11-26T21:35:20.33227Z",
  • "status": "VALID",
  • "phone": "+445755748793"
}

Enrol mobile device as terminal

Activate terminal on cashier device

Authorizations:
VeenguApiKey
Request Body schema: application/json
code
required
string
keyType
required
string

As for now we allow only one key for one identity. Multiple keys may be allowed lately. Only tweetnacl key type is supported.

key
required
string <byte>

base-64 key

required
object (device)

Responses

Request samples

Content type
application/json
{
  • "code": "AED48-DHE39-P3802-026JU",
  • "keyType": "tweetnacl",
  • "key": "U3dhZ2dlciByb2Nrcw==",
  • "device": {
    }
}

Response samples

Content type
application/json
{
  • "keyId": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJleUp3Y205MmFXUmxja2xFSWpvaWRtVmxibWQxSWl3aWNISnZkbWxrWlhKTFpYa2lPaUpZVkVOZlZrNUhWUzh5SW4wPSIsImlzcyI6InBsYXktc2lsaG91ZXR0ZSIsImV4cCI6MTU4MzQ3MzI0OSwiaWF0IjoxNTgzNDMwMDQ5LCJqdGkiOiIyY2RmOTljNzA2NjNhMjU2NTczZGU4MDlhYWRkMzA4Mjc2ODYyYzEyZmVmOWM0YTYxNDc4MDBhMDUxOWUwNmU0ZWJhYmVmNTAwYmUwOTU1MjgyMGUzNjlmYjQ3YzgyZTdkZmVjMGJkODQyODcxMjg5OTc3YjhlMGZiYTg3MWI1MDE5MWQ3Yzc3OGU5ZGI2YjkyZjRjNGQwZDFhM2I4NTU5ODQ3MmM0MWU4ZTJhMDEwYmY1ZDUxMGVmODVjZDlkNmIyYzFkYTVmYzI5OTE5MTNlMmFlZGEwYjA1NTVhMTAxZDkxZGM3YWM4MjY0NmM2NzA2MGQzMTkzZDAwZDdlYTkyIn0.fc8Ls7z1F9SXzJuR7s667qBxIitAmgVK2Rdtk36reBw",
  • "terminalId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Get employee list linked to the terminal

Retrieve Cashiers list for activated Terminal

Authorizations:
(VeenguApiKeyAccessToken)
path Parameters
id
required
string

Business terminal id

query Parameters
page
required
string
Example: page=1

For pagination is supported offset-based pagination - page a number of the requested page. The number of pages could be retrieved and calculated from the response Content-Range header. The simple REST client expects the API to include a Content-Range header in the response to getList calls. The value must be the total number of resources in the collection. This allows react-admin to know how many pages of resources there are in total, and build the pagination controls. Example: Content-Range: employees 0-24/319

perPage
required
string
Example: perPage=10

Number of rows on one page to be returned. Number of rows can range between 1 and 100, and the default is 10.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Terminal transactions history

Get transactions history for a specified terminal

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Terminal id

query Parameters
fromCreatedAt
string
Example: fromCreatedAt=2020-03-01T12:45:02+02:00

Datetime in the past or today to define beginning for requested period.

toCreatedAt
string
Example: toCreatedAt=2020-03-04T12:45:02+02:00

Datetime in the past or today to define end for requested period. Sysdate is used in case the value is not specified.

next
string
Example: next=eyJsYXN0RHQiOiIyMDIwLTA0LTEwVDEzOjM1OjA5LjMyMVoiLCJvZmZzZXQiOjEsImZyb20iOiIyMDIwLTA0LTEwVDE4OjAzOjQ2LjQ2NVoiLCJhY2NvdW50T3duZXJJZCI6IjAyZjRmNmIxLWYxYzMtNDA3MS05Mzg1LTMzYzkyNTZhNGMwNiJ9

For pagination is supported cursor/limit-based pagination - next a unique key element identifies the next page. Use next string from the response to point to the next page. If next parameter is missed the latest transactions are returned in the response. Only one parameter next or prev should be used in the request.

prev
string

For pagination is supported cursor/limit-based pagination - prev a unique key element identifies the previous page. Use prev string from the response to point to the previous page.

limit
string
Example: limit=10

Number of rows on one page to be returned. Limit can range between 1 and 100, and the default is 10.

Responses

Response samples

Content type
application/json
{
  • "cursors": {
    },
  • "transactions": [
    ]
}

Employee

Employee person for business customer profile

Create a employee for business profile

Create new employees for business customer

Authorizations:
(VeenguApiKeyAccessTokenProfile)
Request Body schema: application/json
id
string <uuid>
businessId
required
string <uuid>
firstName
required
string
lastName
required
string
phoneNumber
string
email
string
Array of objects (document)
object
roles
required
Array of strings
Items Enum: "BUSINESS_ADMINISTRATOR" "BUSINESS_MANAGER" "BUSINESS_CASHIER"
terminalId
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "businessId": "d5c641c5-6678-4a92-970c-295f7777d",
  • "firstName": "Georg Friedrich Bernhard",
  • "lastName": "Riemann",
  • "phoneNumber": "+44985585843",
  • "email": "gfbriemann@superpay.com",
  • "document": {
    },
  • "authority": {
    },
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "90907d70-8770-4a0c-a53c-8bb7e3e5d4e1",
  • "businessId": "d5c641c5-6678-4a92-970c-295f7777d",
  • "firstName": "Georg Friedrich Bernhard",
  • "lastName": "Riemann",
  • "phoneNumber": "+44985585843",
  • "email": "gfbriemann@superpay.com",
  • "document": {
    },
  • "authority": {
    },
  • "roles": [
    ]
}

Get employees for business profile

Get all employees for business customer

Authorizations:
(VeenguApiKeyAccessTokenProfile)
query Parameters
role
string

Employee role enum value

owner
boolean

The flag to filter employees with owner property

executive
boolean

The flag to filter employees with executive property

name
string

Full context search by employees's fist name and last name

ids
string

The list of employees could be filtered by the list of ids. If ids parameter is used in the query, pagination is not applicable

page
required
string
Example: page=1

For pagination is supported offset-based pagination - page a number of the requested page. The number of pages could be retrieved and calculated from the response Content-Range header. The simple REST client expects the API to include a Content-Range header in the response to getList calls. The value must be the total number of resources in the collection. This allows react-admin to know how many pages of resources there are in total, and build the pagination controls. Example: Content-Range: employee 0-24/319

perPage
required
string
Example: perPage=10

Number of rows on one page to be returned. Number of rows can range between 1 and 100, and the default is 10.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get a employee by employee id

Get a employee by employee id

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

Employee id

Responses

Response samples

Content type
application/json
{
  • "id": "d5c641c5-6678-4a92-970c-295f7777d",
  • "businessId": "35873485973052",
  • "firstName": "Georg Friedrich Bernhard",
  • "lastName": "Riemann",
  • "phoneNumber": "+44985585843",
  • "email": "gfbriemann@superpay.com",
  • "document": {
    },
  • "authority": {
    },
  • "roles": [
    ]
}

Edit employee

Edit employees details

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Employee id

Request Body schema: application/json
id
string <uuid>
businessId
required
string <uuid>
firstName
required
string
lastName
required
string
phoneNumber
string
email
string
Array of objects (document)
object
roles
required
Array of strings
Items Enum: "BUSINESS_ADMINISTRATOR" "BUSINESS_MANAGER" "BUSINESS_CASHIER"
terminalId
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "id": "d5c641c5-6678-4a92-970c-295f7777d",
  • "businessId": "b6c8556c-b678-42d6-bec8-8452ed69c303",
  • "firstName": "Georg Friedrich Bernhard",
  • "lastName": "Riemann",
  • "phoneNumber": "+44985585843",
  • "email": "gfbriemann@superpay.com",
  • "documents": [
    ],
  • "authority": {
    },
  • "roles": [
    ],
  • "terminalId": "d5c641c5-6678-4a92-970c-295f7777d"
}

Response samples

Content type
application/json
{
  • "id": "d5c641c5-6678-4a92-970c-295f7777d",
  • "businessId": "b6c8556c-b678-42d6-bec8-8452ed69c303",
  • "firstName": "Georg Friedrich Bernhard",
  • "lastName": "Riemann",
  • "phoneNumber": "+44985585843",
  • "email": "gfbriemann@superpay.com",
  • "documents": [
    ],
  • "authority": {
    },
  • "roles": [
    ],
  • "terminalId": "d5c641c5-6678-4a92-970c-295f7777d"
}

Delete a employee

Delete a employee within specified employee id

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

Employee id

Responses

Response samples

Content type
application/json
{
  • "type": "ACCESS_ERROR",
  • "code": "ADDITIONAL_AUTHENTICATION_REQUIRED",
  • "message": "Additional authentication required",
  • "details": {
    }
}

Create a new access code for an employee

Create new access code for an employee. After successful creation previous access code is not valid anymore.

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Employee id

Request Body schema: application/json
accessCode
required
string

Responses

Request samples

Content type
application/json
{
  • "accessCode": "12345"
}

Response samples

Content type
application/json
{
  • "type": "ACCESS_ERROR",
  • "code": "ADDITIONAL_AUTHENTICATION_REQUIRED",
  • "message": "Additional authentication required",
  • "details": {
    }
}

Get employee list linked to the terminal

Retrieve Cashiers list for activated Terminal

Authorizations:
(VeenguApiKeyAccessToken)
path Parameters
id
required
string

Business terminal id

query Parameters
page
required
string
Example: page=1

For pagination is supported offset-based pagination - page a number of the requested page. The number of pages could be retrieved and calculated from the response Content-Range header. The simple REST client expects the API to include a Content-Range header in the response to getList calls. The value must be the total number of resources in the collection. This allows react-admin to know how many pages of resources there are in total, and build the pagination controls. Example: Content-Range: employees 0-24/319

perPage
required
string
Example: perPage=10

Number of rows on one page to be returned. Number of rows can range between 1 and 100, and the default is 10.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Static Payment Details

Static payment details generated by the Platform via Dashboard or Business Portal

Create new static payment details (QR) for business customer

Authorizations:
(VeenguApiKeyAccessTokenProfile)
Request Body schema: application/json
id
required
string <uui>
object (amount)

Money object specified by value and currency

businessId
required
string <uuid>
comment
string
createdAt
string <date-time>
name
required
string
operationType
required
string
Enum: "PURCHASE" "CASH_DEPOSIT" "CASH_WITHDRAWAL" "P2P_TRANSFER"
solutionId
required
string <uuid>
terminalId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "amount": {
    },
  • "businessId": "f5b9cd97-ca4f-463d-9430-ad555b996789",
  • "comment": "Cappuccino Large",
  • "name": "Cappuccino L",
  • "operationType": "PURCHASE",
  • "solutionId": "6ea5263a-0226-4281-b71f-c10cf2d68eb8",
  • "terminalId": "877e2ce6-887b-480c-9c9c-e73851a833ab"
}

Response samples

Content type
application/json
{
  • "amount": {
    },
  • "businessId": "f5b9cd97-ca4f-463d-9430-ad555b996789",
  • "comment": "Cappuccino Large",
  • "createdAt": "2020-11-02T06:53:59.557829Z",
  • "id": "cd8c69d8-557b-4484-9280-5bc13e08b714",
  • "name": "Cappuccino L",
  • "operationType": "PURCHASE",
  • "solutionId": "6ea5263a-0226-4281-b71f-c10cf2d68eb8",
  • "terminalId": "877e2ce6-887b-480c-9c9c-e73851a833ab"
}

Get static payment details (QR) for business profile

Get all static payment details (QR) for business customer

Authorizations:
(VeenguApiKeyAccessTokenProfile)
query Parameters
terminalId
string

Search static payment details (QR) by terminal id

page
required
string
Example: page=1

For pagination is supported offset-based pagination - page a number of the requested page. The number of pages could be retrieved and calculated from the response Content-Range header. The simple REST client expects the API to include a Content-Range header in the response to getList calls. The value must be the total number of resources in the collection. This allows react-admin to know how many pages of resources there are in total, and build the pagination controls. Example: Content-Range: staticPaymentDetails 0-24/319

perPage
required
string
Example: perPage=10

Number of rows on one page to be returned. Number of rows can range between 1 and 100, and the default is 10.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get a static payment details (QR) by id

Get a static payment details (QR) by id

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

Static payment details (QR) id

Responses

Response samples

Content type
application/json
{
  • "amount": {
    },
  • "businessId": "f5b9cd97-ca4f-463d-9430-ad555b996789",
  • "comment": "Cappuccino Large",
  • "createdAt": "2020-11-02T06:53:59.557829Z",
  • "id": "cd8c69d8-557b-4484-9280-5bc13e08b714",
  • "name": "Cappuccino L",
  • "operationType": "PURCHASE",
  • "solutionId": "6ea5263a-0226-4281-b71f-c10cf2d68eb8",
  • "terminalId": "877e2ce6-887b-480c-9c9c-e73851a833ab"
}

Edit static payment details (QR)

Edit static payment details (QR)

Authorizations:
(VeenguApiKeyAccessTokenProfile)
path Parameters
id
required
string

Static Payment Details id

Request Body schema: application/json
id
required
string <uui>
object (amount)

Money object specified by value and currency

businessId
required
string <uuid>
comment
string
createdAt
string <date-time>
name
required
string
operationType
required
string
Enum: "PURCHASE" "CASH_DEPOSIT" "CASH_WITHDRAWAL" "P2P_TRANSFER"
solutionId
required
string <uuid>
terminalId
required
string <uuid>

Responses

Request samples

Content type
application/json
{
  • "id": "cd8c69d8-557b-4484-9280-5bc13e08b714",
  • "amount": {
    },
  • "businessId": "f5b9cd97-ca4f-463d-9430-ad555b996789",
  • "comment": "Cappuccino Large",
  • "createdAt": "2020-11-02T06:53:59.557829Z",
  • "name": "Cappuccino L",
  • "operationType": "PURCHASE",
  • "solutionId": "6ea5263a-0226-4281-b71f-c10cf2d68eb8",
  • "terminalId": "877e2ce6-887b-480c-9c9c-e73851a833ab"
}

Response samples

Content type
application/json
{
  • "id": "cd8c69d8-557b-4484-9280-5bc13e08b714",
  • "amount": {
    },
  • "businessId": "f5b9cd97-ca4f-463d-9430-ad555b996789",
  • "comment": "Cappuccino Large",
  • "createdAt": "2020-11-02T06:53:59.557829Z",
  • "name": "Cappuccino L",
  • "operationType": "PURCHASE",
  • "solutionId": "6ea5263a-0226-4281-b71f-c10cf2d68eb8",
  • "terminalId": "877e2ce6-887b-480c-9c9c-e73851a833ab"
}

Delete a static payment details (QR) by id

Delete a static payment details (QR) by id

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

Static payment details (QR) id

Responses

Response samples

Content type
application/json
{
  • "type": "ACCESS_ERROR",
  • "code": "ADDITIONAL_AUTHENTICATION_REQUIRED",
  • "message": "Additional authentication required",
  • "details": {
    }
}

Accounts

Individual and business customer profile

Get accounts list by profile id

Retrieves the list of all accounts owned by profile with specified id.

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)

Responses

Response samples

Content type
application/json
Example
[
  • {
    }
]

Individual transactions history

Get transactions history for a specified individual customer account

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

Customer account id

query Parameters
fromCreatedAt
string
Example: fromCreatedAt=2020-03-01T12:45:02+02:00

Datetime in the past or today to define beginning for requested period.

toCreatedAt
string
Example: toCreatedAt=2020-03-04T12:45:02+02:00

Datetime in the past or today to define end for requested period. Sysdate is used in case the value is not specified.

next
string
Example: next=eyJsYXN0RHQiOiIyMDIwLTA0LTEwVDEzOjM1OjA5LjMyMVoiLCJvZmZzZXQiOjEsImZyb20iOiIyMDIwLTA0LTEwVDE4OjAzOjQ2LjQ2NVoiLCJhY2NvdW50T3duZXJJZCI6IjAyZjRmNmIxLWYxYzMtNDA3MS05Mzg1LTMzYzkyNTZhNGMwNiJ9

For pagination is supported cursor/limit-based pagination - next a unique key element identifies the next page. Use next string from the response to point to the next page. If next parameter is missed the latest transactions are returned in the response. Only one parameter next or prev should be used in the request.

prev
string

For pagination is supported cursor/limit-based pagination - prev a unique key element identifies the previous page. Use prev string from the response to point to the previous page.

limit
string
Example: limit=10

Number of rows on one page to be returned. Limit can range between 1 and 100, and the default is 10.

Responses

Response samples

Content type
application/json
Example
{
  • "cursors": {
    },
  • "transactions": [
    ]
}

Account or profile limits

Get the list of limits for a specified account

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

Customer account id

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Cards issuing

Issuing plastic or virtual cards for individuals or businesses

Get card types available to issue

Retrieves the list of available card types id, name and payment system.

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Instant card issuing

Instant card issuing for the profile with specified id in v-profile header. This option is available only if card management system supports.

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
Request Body schema: application/json
cardType
required
string
accountId
required
string
alias
string

Responses

Request samples

Content type
application/json
{
  • "cardType": "mastercard.gold",
  • "accountId": "df3cb043-d835-4351-8124-3b07bd60d9c5",
  • "alias": "My first card"
}

Response samples

Content type
application/json
{
  • "id": "cd070b80-9ec8-4421-bf45-bf4fcae0b6ec",
  • "profileId": "9356eeb8-d2fe-4bb6-892f-2e62373ccd72",
  • "accountId": "df3cb043-d835-4351-8124-3b07bd60d9c5",
  • "paymentSystem": "MASTERCARD",
  • "cardType": "mastercard.gold",
  • "lastFour": 1028,
  • "alias": "My first card",
  • "cardholderName": "DIGITAL CARD",
  • "expirationDate": "23-11",
  • "status": "ACTIVE"
}

Get cards list for the profile

Retrieves the list of all cards owned by profile with specified id in v-profile header.

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Defile custom name by the user

User can define some custom name for the card

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

The ID of the card

Request Body schema: application/json
alias
required
string

Responses

Request samples

Content type
application/json
{
  • "alias": "My first card"
}

Response samples

Content type
application/json
{
  • "id": "cd070b80-9ec8-4421-bf45-bf4fcae0b6ec",
  • "profileId": "9356eeb8-d2fe-4bb6-892f-2e62373ccd72",
  • "accountId": "df3cb043-d835-4351-8124-3b07bd60d9c5",
  • "paymentSystem": "MASTERCARD",
  • "cardType": "mastercard.gold",
  • "lastFour": 1028,
  • "alias": "My first card",
  • "cardholderName": "DIGITAL CARD",
  • "expirationDate": "23-11",
  • "status": "ACTIVE"
}

Remove card

Send request to card management system to close the card

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

The ID of the card

Responses

Response samples

Content type
application/json
{
  • "type": "ACCESS_ERROR",
  • "code": "ADDITIONAL_AUTHENTICATION_REQUIRED",
  • "message": "Additional authentication required",
  • "details": {
    }
}

Get full card number

Retrieves the full card number.

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

The ID of the card

Responses

Response samples

Content type
text/plain
5453283806463942

Get card security value

Retrieves the card security value (cvv/cvc2).

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

The ID of the card

Responses

Response samples

Content type
text/plain
890

Temporary block card

Temporary block card

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

The ID of the card

Responses

Response samples

Content type
application/json
{
  • "id": "cd070b80-9ec8-4421-bf45-bf4fcae0b6ec",
  • "accountId": "df3cb043-d835-4351-8124-3b07bd60d9c5",
  • "paymentSystem": "MASTERCARD",
  • "cardType": "mastercard.gold",
  • "lastFour": 1028,
  • "alias": "My first card",
  • "cardholderName": "DIGITAL CARD",
  • "expirationDate": "23-11",
  • "status": "BLOCKED"
}

Unblock blocked card

Make blocked card active

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

The ID of the card

Responses

Response samples

Content type
application/json
{
  • "id": "cd070b80-9ec8-4421-bf45-bf4fcae0b6ec",
  • "profileId": "9356eeb8-d2fe-4bb6-892f-2e62373ccd72",
  • "accountId": "df3cb043-d835-4351-8124-3b07bd60d9c5",
  • "paymentSystem": "MASTERCARD",
  • "cardType": "mastercard.gold",
  • "lastFour": 1028,
  • "alias": "My first card",
  • "cardholderName": "DIGITAL CARD",
  • "expirationDate": "23-11",
  • "status": "ACTIVE"
}

Request to change card PIN

Send request to card management system to create new card PIN

Authorizations:
(VeenguApiKeyVeenguSolutionAccessTokenProfile)
path Parameters
id
required
string

The ID of the card

Responses

Response samples

Content type
application/json
{
  • "type": "ACCESS_ERROR",
  • "code": "ADDITIONAL_AUTHENTICATION_REQUIRED",
  • "message": "Additional authentication required",
  • "details": {
    }
}

Services groups

Get a list of payment services groups

Retrieves a list of payment groups. Each group contains a list of payment services.

Authorizations:
VeenguApiKeyAccessToken

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get payments group by id

Retrieves the specific payment group by id.

Authorizations:
VeenguApiKeyAccessToken
path Parameters
id
required
string
Example: CM

Payment group id

Responses