Skip to main content

Create a new customer

POST https://pos.paysera.com/eapi/v1/customers

Add a new customer record to the authenticated tenant.

Authorization​

This endpoint requires a Personal Access Token, sent as a Bearer token.

To obtain one, your account needs API permission. Once granted, go to /user/settings in your POS account and create a personal access token.

Authorization Header Format:

Authorization: Bearer YOUR_ACCESS_TOKEN

Example:

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

For more details, see the Authentication section.

Request Body​

FieldTypeRequiredDescription
firstNamestringCustomer's first name. At least one of firstName or companyName is required.
lastNamestring
companyNamestringCompany name. At least one of firstName or companyName is required.
emailstringEmail address. Does not need to be unique.
phonestring
companyCodestringCompany registration code. Saved to billing addresses.
vatCodestringVAT code. Saved to billing addresses.
isBuyerboolean
isSupplierboolean
addressesarrayList of customer addresses (max 10)

Errors​

This endpoint may return the following errors:

400 - Bad Request​

Invalid request

This error is resulted by incorrectly providing one of the parameters.

401 - Unauthorized​

Unauthorized

This error was produced by providing incorrect credentials.

403 - Forbidden​

Forbidden

This error indicates you don't have permission to access this resource.

422 - Unprocessable Entity​

Unprocessable entity

429 - Too Many Requests​

You have exceeded the rate limit. Please try again in a minute.

500 - Internal Server Error​

Internal server error

Example​

Request​

POST https://pos.paysera.com/eapi/v1/customers
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"firstName": "Jonas",
"lastName": "Jonaitis",
"companyName": "UAB Testas",
"email": "jonas@test.lt",
"phone": "+37060000000",
"companyCode": "123456789",
"vatCode": "LT123456789",
"isBuyer": true,
"isSupplier": true,
"addresses": [
{
"type": "billing",
"address1": "Gedimino pr. 1",
"address2": "2 aukštas",
"city": "Vilnius",
"zip": "01103",
"country": "LT",
"phone": "+37060000000"
}
]
}

Response​

{
"id": 123,
"firstName": "Jonas",
"lastName": "Jonaitis",
"email": "jonas@test.lt",
"phone": "+37060000000",
"companyName": "UAB Testas",
"companyCode": "123456789",
"vatCode": "LT123456789",
"isBuyer": true,
"isSupplier": false,
"addresses": [
{
"id": 456,
"type": "billing",
"address1": "Gedimino pr. 1",
"address2": "2 aukštas",
"city": "Vilnius",
"zip": "01103",
"country": "LT",
"state": null,
"phone": "+37060000000"
}
],
"updatedAt": "2026-05-05T12:00:00Z",
"createdAt": "2026-05-05T12:00:00Z"
}

AUTHORIZATION: HTTP

REQUEST

Base URL
https://pos.paysera.com
Body REQUIRED
{
"firstName": "Jonas",
"lastName": "Jonaitis",
"companyName": "UAB Testas",
"email": "jonas@test.lt",
"phone": "+37060000000",
"companyCode": "123456789",
"vatCode": "LT123456789",
"isBuyer": true,
"isSupplier": true,
"addresses": [
{
"type": "billing",
"address1": "Gedimino pr. 1",
"address2": "2 aukštas",
"city": "Vilnius",
"zip": "01103",
"country": "LT",
"phone": "+37060000000"
}
]
}

RESPONSE

Customer created successfully
{
"id": 123,
"firstName": "Jonas",
"lastName": "Jonaitis",
"email": "jonas@test.lt",
"phone": "+37060000000",
"companyName": "UAB Testas",
"companyCode": "123456789",
"vatCode": "LT123456789",
"isBuyer": true,
"isSupplier": false,
"addresses": [
{
"id": 456,
"type": "billing",
"address1": "Gedimino pr. 1",
"address2": "2 aukštas",
"city": "Vilnius",
"zip": "01103",
"country": "LT",
"state": null,
"phone": "+37060000000"
}
],
"updatedAt": "2026-05-05T12:00:00Z",
"createdAt": "2026-05-05T12:00:00Z"
}