Light v1 - Customers API
The v1 - Customers API from Light — 4 operation(s) for v1 - customers.
The v1 - Customers API from Light — 4 operation(s) for v1 - customers.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/light-v1-customers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Light v1 - Customers API
version: 1.0.0
security:
- apiKeyAuth: []
- bearerAuth: []
tags:
- name: v1 - Customers
paths:
/v1/customers/{customerId}/activate:
post:
tags:
- v1 - Customers
summary: Activate customer
description: Activate the given customer
operationId: activateCustomer
parameters:
- name: customerId
in: path
required: true
schema:
type: string
format: uuid
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalCustomerV1Model'
/v1/customers/{customerId}/archive:
post:
tags:
- v1 - Customers
summary: Archive customer
description: Archive the given customer
operationId: archiveCustomer
parameters:
- name: customerId
in: path
required: true
schema:
type: string
format: uuid
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalCustomerV1Model'
/v1/customers:
get:
tags:
- v1 - Customers
summary: List customers
description: Returns a paginated list of customers
operationId: listCustomers
parameters:
- name: sort
in: query
schema:
type: string
description: "Sort string in the format `field:direction`. To provide multiple sort fields, separate them with commas.\n\nAvailable directions: `asc`, `desc`. \n\nAvailable fields: `name`, `email`, `createdAt`, `updatedAt`."
example: amount:desc,createdAt:asc
- name: filter
in: query
schema:
type: string
description: "Filter string in the format `field:operator:value`. To provide multiple filters, separate them with commas.\n\nAvailable operators: `eq`, `ne`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`.\n - For `in` and `not_in` operators, provide multiple values separated by the pipe character (`|`). \n\nAvailable fields: `billingAddressCity`, `billingAddressCountry`, `businessRegistrationNumber`, `createdAt`, `description`, `email`, `id`, `name`, `status`, `updatedAt`, `vatNumber`."
example: state:in:IN_DRAFT|SCHEDULED|PAID,amount:gte:500,vendorId:ne:null
- name: searchTerm
in: query
description: Search term to filter results by. Performs a case-insensitive partial match across searchable fields.
schema:
type: string
- name: limit
in: query
description: Maximum number of items to return. Default is 50, maximum is 200.
schema:
maximum: 200
type: integer
format: int32
- name: offset
in: query
description: Number of items to skip before starting to collect the result set. Deprecated, use 'cursor' instead.
deprecated: true
schema:
type: integer
format: int64
- name: cursor
in: query
description: 'The cursor position to start returning results from.
To opt-in into cursor-based pagination, provide `0` for the initial request.
For subsequent requests, use `nextCursor` and `prevCursor` from the previous response to navigate.
Cursor values are opaque and should not be constructed manually.'
schema:
type: string
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalPaginatedResponseV1ModelExternalCustomerV1Model'
post:
tags:
- v1 - Customers
summary: Create customer
description: Creates a new customer
operationId: createCustomer
parameters:
- name: X-Idempotency-Key
in: header
schema:
type: string
requestBody:
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalCreateCustomerRequestV1Model'
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalCustomerV1Model'
/v1/customers/{customerId}:
get:
tags:
- v1 - Customers
summary: Get customer
description: Returns a customer by ID
operationId: getCustomerById
parameters:
- name: customerId
in: path
required: true
schema:
type: string
format: uuid
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalCustomerV1Model'
patch:
tags:
- v1 - Customers
summary: Update customer
description: Updates an existing customer
operationId: updateCustomer
parameters:
- name: X-Idempotency-Key
in: header
schema:
type: string
- name: customerId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalUpdateCustomerRequestV1Model'
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalCustomerV1Model'
components:
schemas:
Address:
type: object
properties:
country:
type: string
description: ⚠️ This enum is not exhaustive; new values may be added in the future.
enum:
- UNDEFINED
- AC
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AN
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BU
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CP
- CR
- CS
- CU
- CV
- CW
- CX
- CY
- CZ
- DE
- DG
- DJ
- DK
- DM
- DO
- DZ
- EA
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- EU
- EZ
- FI
- FJ
- FK
- FM
- FO
- FR
- FX
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- IC
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NT
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SF
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SU
- SV
- SX
- SY
- SZ
- TA
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TP
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UK
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XI
- XU
- XK
- YE
- YT
- YU
- ZA
- ZM
- ZR
- ZW
city:
type: string
state:
type: string
zipcode:
type: string
street:
type: string
street2:
type: string
ExternalUpdateCustomerRequestV1Model:
type: object
properties:
name:
type:
- string
- 'null'
email:
type:
- string
- 'null'
address:
$ref: '#/components/schemas/Address'
billingAddress:
$ref: '#/components/schemas/Address'
customProperties:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ExternalSetCustomPropertyRequestV1Model'
shippingAddress:
$ref: '#/components/schemas/Address'
domain:
type:
- string
- 'null'
description:
type:
- string
- 'null'
vatNumber:
type:
- string
- 'null'
businessRegistrationNumber:
type:
- string
- 'null'
easCode:
type:
- string
- 'null'
einvoiceAddress:
type:
- string
- 'null'
einvoiceNetwork:
type:
- string
- 'null'
description: '- `MYDATA` - Greece myDATA e-invoice network
- `NEMHANDEL` - NemHandel e-invoice network
- `PEPPOL` - Peppol e-invoice network
- `PORTUGUESE_TAX_REPORTING` - Portuguese tax reporting (ATCUD) e-invoice network
- `SDI` - SDI (Sistema di Interscambio) e-invoice network
- `VERIFACTU` - Spain VERI*FACTU tax reporting e-invoice network
⚠️ This enum is not exhaustive; new values may be added in the future.'
enum:
- MYDATA
- NEMHANDEL
- PEPPOL
- PORTUGUESE_TAX_REPORTING
- SDI
- VERIFACTU
type:
type:
- string
- 'null'
description: '- `BUSINESS` - Business customer
- `CONSUMER` - Consumer customer
- `GOVERNMENT` - Government customer
⚠️ This enum is not exhaustive; new values may be added in the future.'
enum:
- BUSINESS
- CONSUMER
- GOVERNMENT
logoUrl:
type:
- string
- 'null'
recipientEmails:
type:
- array
- 'null'
description: Billing email recipients ("Send to"). Omit to leave unchanged; send an empty list to clear.
items:
type:
- string
- 'null'
description: Billing email recipients ("Send to"). Omit to leave unchanged; send an empty list to clear.
ccEmails:
type:
- array
- 'null'
description: Billing email CC recipients. Omit to leave unchanged; send an empty list to clear.
items:
type:
- string
- 'null'
description: Billing email CC recipients. Omit to leave unchanged; send an empty list to clear.
ExternalCustomPropertyValueV1Model:
type: object
properties:
id:
type: string
description: Unique identifier for the object
format: uuid
groupId:
type: string
description: ID of the custom property group
format: uuid
groupInternalName:
type: string
description: Internal name of the custom property group
companyId:
type: string
description: ID of the company
format: uuid
internalName:
type: string
description: Internal name of the custom property value
label:
type: string
description: Label of the custom property value
context:
type:
- string
- 'null'
description: Context/description of the custom property value
createdAt:
type: string
description: Timestamp when the custom property value was created
format: date-time
updatedAt:
type: string
description: Timestamp when the custom property value was last updated
format: date-time
description: List of values. Note that this will be a single value unless the group input type supports multiple values
ExternalCustomerV1Model:
type: object
properties:
id:
type: string
description: Unique identifier for the object
format: uuid
name:
type: string
description: Name of the customer
email:
type:
- string
- 'null'
description: Email address of the customer
address:
$ref: '#/components/schemas/Address'
billingAddress:
$ref: '#/components/schemas/Address'
shippingAddress:
$ref: '#/components/schemas/Address'
status:
type: string
description: 'Current status of the customer
- `ACTIVE` - The customer is active and can be used in invoices and contracts
- `ARCHIVED` - The customer is archived and cannot be used in new invoices or contracts
⚠️ This enum is not exhaustive; new values may be added in the future.'
deprecated: false
enum:
- ACTIVE
- ARCHIVED
description:
type:
- string
- 'null'
description: Description or notes about the customer
vatNumber:
type:
- string
- 'null'
description: VAT number of the customer
businessRegistrationNumber:
type:
- string
- 'null'
description: Business registration number of the customer
easCode:
type:
- string
- 'null'
description: Electronic Address Scheme code used for sending e-invoices
einvoiceAddress:
type:
- string
- 'null'
description: E-invoice address for the customer
einvoiceNetwork:
type:
- string
- 'null'
description: 'E-invoice network the customer is registered on
- `MYDATA` - Greece myDATA e-invoice network
- `NEMHANDEL` - NemHandel e-invoice network
- `PEPPOL` - Peppol e-invoice network
- `PORTUGUESE_TAX_REPORTING` - Portuguese tax reporting (ATCUD) e-invoice network
- `SDI` - SDI (Sistema di Interscambio) e-invoice network
- `VERIFACTU` - Spain VERI*FACTU tax reporting e-invoice network
⚠️ This enum is not exhaustive; new values may be added in the future.'
deprecated: false
enum:
- MYDATA
- NEMHANDEL
- PEPPOL
- PORTUGUESE_TAX_REPORTING
- SDI
- VERIFACTU
type:
type:
- string
- 'null'
description: 'Type of customer
- `BUSINESS` - Business customer
- `CONSUMER` - Consumer customer
- `GOVERNMENT` - Government customer
⚠️ This enum is not exhaustive; new values may be added in the future.'
deprecated: false
enum:
- BUSINESS
- CONSUMER
- GOVERNMENT
logoUrl:
type:
- string
- 'null'
description: URL to the customer's logo
domain:
type:
- string
- 'null'
description: Domain of the customer's website
externalSource:
$ref: '#/components/schemas/ExternalApiExternalSourceV1Model'
createdAt:
type: string
description: Timestamp when the customer was created
format: date-time
updatedAt:
type: string
description: Timestamp when the customer was last updated
format: date-time
customProperties:
type:
- array
- 'null'
description: List of custom properties associated with the customer
items:
$ref: '#/components/schemas/ExternalCustomPropertyV1Model'
recipientEmails:
type: array
description: Billing email recipients ("Send to") used when sending invoices to this customer
items:
type: string
description: Billing email recipients ("Send to") used when sending invoices to this customer
ccEmails:
type: array
description: Billing email CC recipients used when sending invoices to this customer
items:
type: string
description: Billing email CC recipients used when sending invoices to this customer
ExternalCreateCustomerRequestV1Model:
type: object
properties:
name:
type: string
email:
type:
- string
- 'null'
address:
$ref: '#/components/schemas/Address'
billingAddress:
$ref: '#/components/schemas/Address'
shippingAddress:
$ref: '#/components/schemas/Address'
domain:
type:
- string
- 'null'
description:
type:
- string
- 'null'
vatNumber:
type:
- string
- 'null'
businessRegistrationNumber:
type:
- string
- 'null'
easCode:
type:
- string
- 'null'
einvoiceAddress:
type:
- string
- 'null'
einvoiceNetwork:
type:
- string
- 'null'
description: '- `MYDATA` - Greece myDATA e-invoice network
- `NEMHANDEL` - NemHandel e-invoice network
- `PEPPOL` - Peppol e-invoice network
- `PORTUGUESE_TAX_REPORTING` - Portuguese tax reporting (ATCUD) e-invoice network
- `SDI` - SDI (Sistema di Interscambio) e-invoice network
- `VERIFACTU` - Spain VERI*FACTU tax reporting e-invoice network
⚠️ This enum is not exhaustive; new values may be added in the future.'
enum:
- MYDATA
- NEMHANDEL
- PEPPOL
- PORTUGUESE_TAX_REPORTING
- SDI
- VERIFACTU
type:
type:
- string
- 'null'
description: '- `BUSINESS` - Business customer
- `CONSUMER` - Consumer customer
- `GOVERNMENT` - Government customer
⚠️ This enum is not exhaustive; new values may be added in the future.'
enum:
- BUSINESS
- CONSUMER
- GOVERNMENT
logoUrl:
type:
- string
- 'null'
customProperties:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ExternalSetCustomPropertyRequestV1Model'
recipientEmails:
type:
- array
- 'null'
description: Billing email recipients ("Send to") used when sending invoices to this customer
items:
type:
- string
- 'null'
description: Billing email recipients ("Send to") used when sending invoices to this customer
ccEmails:
type:
- array
- 'null'
description: Billing email CC recipients used when sending invoices to this customer
items:
type:
- string
- 'null'
description: Billing email CC recipients used when sending invoices to this customer
ExternalCustomPropertyV1Model:
type:
- object
- 'null'
properties:
groupId:
type: string
description: ID of the custom property group
format: uuid
groupInternalName:
type: string
description: Internal name of the custom property group
values:
type: array
description: List of values. Note that this will be a single value unless the group input type supports multiple values
items:
$ref: '#/components/schemas/ExternalCustomPropertyValueV1Model'
description: Custom properties set on the vendor.
ExternalApiExternalSourceV1Model:
type:
- object
- 'null'
properties:
name:
type: string
description: 'The name of the external source
- `CHARGEBEE` - Data synced from Chargebee
- `HUBSPOT` - Data synced from HubSpot
- `SALESFORCE` - Data synced from Salesforce
- `STRIPE` - Data synced from Stripe
⚠️ This enum is not exhaustive; new values may be added in the future.'
deprecated: false
enum:
- CHARGEBEE
- HUBSPOT
- SALESFORCE
- STRIPE
externalId:
type: string
description: The ID of the object in the external source system
description: The external system where this product was synced from
ExternalSetCustomPropertyRequestV1Model:
type:
- object
- 'null'
properties:
groupId:
type: string
description: ID of the custom property group.
format: uuid
valueIds:
type: array
description: IDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.
items:
type: string
description: IDs of the selected custom property values. It behaves as a PUT operation, so if empty the existing ones will be effectively deleted.
format: uuid
inlineValues:
type:
- array
- 'null'
description: Inline custom property values (used for TEXT/NUMERIC/DATE/etc. groups). It behaves as a PUT operation, so if empty or null the existing ones will be effectively deleted.
items:
type:
- string
- 'null'
description: Inline custom property values (used for TEXT/NUMERIC/DATE/etc. groups). It behaves as a PUT operation, so if empty or null the existing ones will be effectively deleted.
description: List of custom properties to set on the vendor. Replaces the existing set.
ExternalPaginatedResponseV1ModelExternalCustomerV1Model:
type: object
properties:
records:
type: array
description: List of records for the current page
items:
$ref: '#/components/schemas/ExternalCustomerV1Model'
hasMore:
type: boolean
description: Boolean flag indicating if there are more records available
total:
type:
- integer
- 'null'
description: Total number of records (only for offset pagination). This field is not guaranteed to be returned and only available for offset pagination, please do not rely on it and migrate to cursor pagination.
format: int64
deprecated: true
nextCursor:
type:
- string
- 'null'
description: Cursor for fetching the next page (only for cursor pagination)
prevCursor:
type:
- string
- 'null'
description: Cursor for fetching the previous page (only for cursor pagination)
securitySchemes:
apiKeyAuth:
type: apiKey
description: Basic authentication header of the form **Basic** **<api_key>**, where **<api_key>** is your api key.
name: Authorization
in: header
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT