Solvimon customers API
The customers API from Solvimon — 10 operation(s) for customers.
The customers API from Solvimon — 10 operation(s) for customers.
openapi: 3.1.0
info:
title: Configuration alertRules customers API
version: 1.0.0
servers:
- url: https://test.api.solvimon.com
description: The TEST environment for our API
- url: https://api.solvimon.com
description: The live environment for our API
tags:
- name: customers
paths:
/v{version}/customers:
get:
operationId: getCustomers
summary: Get a list of all customers
description: Requires the CUSTOMER.VIEW permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: limit
in: query
description: The amount of records shown in the list
required: false
schema:
type: integer
- name: page
in: query
description: The page which is going to be shown
required: false
schema:
type: integer
- name: order_by
in: query
description: The parameter by which the response is ordered.
required: false
schema:
type: string
- name: custom_field
in: query
description: Filter the response by a custom field value.
required: false
schema:
type: string
- name: order_direction
in: query
description: The order direction by which the response is ordered.
required: false
schema:
type: string
- name: reference
in: query
description: The reference by which the resource will be filtered.
required: false
schema:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResponseWrapper'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
post:
operationId: postCustomers
summary: Create a customer
description: Requires the CUSTOMER.CREATE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerCreateRequest'
put:
operationId: putCustomers
summary: Update or create a customer (upsert)
description: Requires the CUSTOMER.CREATE, CUSTOMER.UPDATE or CUSTOMER.STATUS.DRAFT.UPDATE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: identifier_field
in: query
description: Which field to use to identify whether the resource exists or not
required: false
schema:
type: string
- name: custom_field_reference
in: query
description: Which custom field to use to identify whether the resource exists or not
required: false
schema:
type: string
- name: field_actions
in: query
description: The list of actions for specific fields.
required: false
schema:
type: object
additionalProperties:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerCreateRequest'
/v{version}/customers/{resourceIdOrReference}:
get:
operationId: getCustomersByResourceIdOrReference
summary: Get a customer by ID or reference
description: Requires the CUSTOMER.VIEW permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
delete:
operationId: deleteCustomersByResourceIdOrReference
summary: Delete a customer by ID or reference
description: Requires the CUSTOMER.DELETE or CUSTOMER.STATUS.DRAFT.DELETE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
patch:
operationId: patchCustomersByResourceIdOrReference
summary: Update a customer by ID or reference
description: Requires the CUSTOMER.UPDATE or CUSTOMER.STATUS.DRAFT.UPDATE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerUpdateRequest'
/v{version}/customers/{resourceIdOrReference}/entitlements:
get:
operationId: getCustomersByResourceIdOrReferenceEntitlements
summary: Get a customer its entitlements
description: Requires the CUSTOMER.VIEW permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Entitlements'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/customers/{resourceIdOrReference}/activate:
post:
operationId: postCustomersByResourceIdOrReferenceActivate
summary: Activate a customer
description: Requires the CUSTOMER.UPDATE or CUSTOMER.STATUS.DRAFT.UPDATE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/customers/{resourceIdOrReference}/deprecate:
post:
operationId: postCustomersByResourceIdOrReferenceDeprecate
summary: Deprecate a customer
description: Requires the CUSTOMER.UPDATE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/customers/{resourceIdOrReference}/archive:
post:
operationId: postCustomersByResourceIdOrReferenceArchive
summary: Archive a customer
description: Requires the CUSTOMER.UPDATE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/customers/{resourceIdOrReference}/forget:
post:
operationId: postCustomersByResourceIdOrReferenceForget
summary: Forget a customer
description: Requires the CUSTOMER.UPDATE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
/v{version}/customers/{resourceIdOrReference}/wallets/balance:
post:
operationId: postCustomersByResourceIdOrReferenceWalletsBalance
summary: Get the balance of all wallets of a customer
description: Requires the CUSTOMER.VIEW or WALLET.VIEW permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: resourceIdOrReference
in: path
description: The ID or reference of the resource.
required: true
schema:
type: string
default: ''
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerWalletBalancesStatus'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WalletBalanceStatusRequestCreateRequest'
/v{version}/customers/search:
post:
operationId: postCustomersSearch
summary: Search customers
description: Requires the CUSTOMER.VIEW permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: expand[]
in: query
description: The id fields of the resources that are going to be expanded.
required: false
schema:
type: array
items:
type: string
- name: limit
in: query
description: The amount of records shown in the list
required: false
schema:
type: integer
- name: page
in: query
description: The page which is going to be shown
required: false
schema:
type: integer
- name: order_by
in: query
description: The parameter by which the response is ordered. default = name
required: false
schema:
type: string
- name: order_direction
in: query
description: The parameter for the response ordering direction (asc, desc) default asc
required: false
schema:
type: string
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerResponseWrapper'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchCreateRequest'
/v{version}/customers/validate-tax-id:
post:
operationId: postCustomersValidateTaxId
summary: Validate tax id values
description: Requires the CUSTOMER.CREATE permission.
tags:
- customers
parameters:
- name: version
in: path
description: version
required: true
schema:
type: string
default: '1'
- name: X-API-KEY
in: header
required: true
schema:
type: string
- name: x-platform-id
in: header
description: Platform ID.
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TaxIdValidationWrapper'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerCreateRequest'
components:
schemas:
IndividualCreateRequest:
type: object
properties:
name:
$ref: '#/components/schemas/Name'
residential_address:
$ref: '#/components/schemas/Address'
title: IndividualCreateRequest
CustomerWalletBalanceStatus:
type: object
properties:
wallet_id:
type:
- string
- 'null'
wallet_balance:
oneOf:
- $ref: '#/components/schemas/WalletBalanceStatus'
- type: 'null'
title: CustomerWalletBalanceStatus
TaxIdValidationValid:
type: string
enum:
- VALID
- NOT_VALID
- UNKNOWN
title: TaxIdValidationValid
TaxIdValidation:
type: object
properties:
id:
type: string
validation_date:
type: string
source:
type: string
valid:
$ref: '#/components/schemas/TaxIdValidationValid'
message:
type:
- string
- 'null'
title: TaxIdValidation
LinkedIntegration:
type: object
properties:
id:
type: string
link_details:
type: array
items:
$ref: '#/components/schemas/LinkDetail'
title: LinkedIntegration
WalletBalanceStatus:
type: object
properties:
balance:
oneOf:
- $ref: '#/components/schemas/WalletBalanceValue'
- type: 'null'
reserved_balance:
oneOf:
- $ref: '#/components/schemas/WalletBalanceValue'
- type: 'null'
open_balance:
oneOf:
- $ref: '#/components/schemas/WalletBalanceValue'
- type: 'null'
balance_at:
type:
- string
- 'null'
title: WalletBalanceStatus
IntegrationDetails:
type: object
properties:
id:
type:
- string
- 'null'
reference:
type:
- string
- 'null'
payment_gateway_variant:
$ref: '#/components/schemas/IntegrationDetailsPaymentGatewayVariant'
adyen:
$ref: '#/components/schemas/AdyenIntegrationDetails'
stripe:
$ref: '#/components/schemas/StripeIntegrationDetails'
title: IntegrationDetails
PricingPlanSubscriptionSelectorRuleType:
type: string
enum:
- EQUALS
- NOT_EQUALS
- IN
- NOT_IN
- GREATER_THAN
- GREATER_THAN_OR_EQUALS
- LESS_THAN
- LESS_THAN_OR_EQUALS
- EMPTY
- NOT_EMPTY
- CONTAINS
- NOT_CONTAINS
title: PricingPlanSubscriptionSelectorRuleType
PricingPlanSubscriptionSelectorDataField:
type: string
enum:
- BILLING_ENTITY_REGISTERED_ADDRESS_COUNTRY
- PRICING_PLAN_REFERENCE
title: PricingPlanSubscriptionSelectorDataField
PricingPlanSubscriptionSelectorFilterField:
type: string
enum:
- BILLING_ENTITY_REGISTERED_ADDRESS_COUNTRY
- PRICING_PLAN_REFERENCE
title: PricingPlanSubscriptionSelectorFilterField
TaxRegistration:
type: object
properties:
id:
type:
- string
- 'null'
description: The id of this tax registration
description:
type:
- string
- 'null'
description: The description of this tax registration
tax_id:
type:
- string
- 'null'
description: The tax id of this tax registration, e.g. a TIN, VAT id or other tax number
tax_ids:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/TaxId'
description: Tax IDs used for tax purposes of the tax registration, e.g. TINs, VAT ids, or other tax number
registration_number:
type:
- string
- 'null'
description: The registration number of this tax registration, e.g. a company registration number
registered_address:
$ref: '#/components/schemas/Address'
description: The address of this tax registration, if different from the billing entity. Currently, only the address will be used for tax calculations
title: TaxRegistration
PricingPlanSubscriptionSelector:
type: object
properties:
data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/PricingPlanSubscriptionSelectorData'
rules:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/PricingPlanSubscriptionSelectorRule'
filters:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/PricingPlanSubscriptionSelectorFilter'
fallback:
oneOf:
- $ref: '#/components/schemas/PricingPlanSubscriptionSelectorFallback'
- type: 'null'
description: The fallback logic what to do when no subscription is found. By default it is LATEST
title: PricingPlanSubscriptionSelector
ApiErrorType:
type: string
enum:
- API_ERROR
- INVALID_REQUEST
title: ApiErrorType
CustomerSellerDetailsUpdateRequest:
type: object
# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/solvimon/refs/heads/main/openapi/solvimon-customers-api-openapi.yml