Light v1 - Vendors API
The v1 - Vendors API from Light — 2 operation(s) for v1 - vendors.
The v1 - Vendors API from Light — 2 operation(s) for v1 - vendors.
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-vendors-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 - Vendors API
version: 1.0.0
security:
- apiKeyAuth: []
- bearerAuth: []
tags:
- name: v1 - Vendors
paths:
/v1/vendors:
get:
tags:
- v1 - Vendors
summary: List vendors
description: Returns a paginated list of vendors
operationId: listVendors
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`, `spendLastMtd`, `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: `id`, `status`, `type`, `ledgerAccountId`, `ledgerTaxId`, `spendLastMtd`, `createdAt`, `updatedAt`."
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/ExternalPaginatedResponseV1ModelExternalVendorV1Model'
post:
tags:
- v1 - Vendors
summary: Create vendor
description: Creates a new vendor
operationId: createVendor
requestBody:
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalCreateVendorRequestV1Model'
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalVendorV1Model'
/v1/vendors/{vendorId}:
get:
tags:
- v1 - Vendors
summary: Get vendor
description: Returns a vendor by ID
operationId: getVendor
parameters:
- name: vendorId
in: path
required: true
schema:
type: string
format: uuid
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalVendorV1Model'
put:
tags:
- v1 - Vendors
summary: Update vendor
description: Updates an existing vendor
operationId: updateVendor
parameters:
- name: vendorId
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalUpdateVendorRequestV1Model'
responses:
default:
description: default response
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExternalVendorV1Model'
components:
schemas:
SetCustomPropertyRequestV1Model:
type:
- object
- 'null'
properties:
groupId:
type: string
format: uuid
valueIds:
type: array
items:
type: string
format: uuid
inlineValues:
type: array
items:
type: string
description: List of custom properties to set on the vendor.
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.
ExternalUiClientExceptionErrorV1Model:
type: object
properties:
type:
type: string
description: A string code identifying the error type
message:
type: string
description: A human-readable message providing more details about the error
path:
type:
- array
- 'null'
description: Optional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object
items:
type:
- string
- 'null'
description: Optional path of the error when the error is for a specific field. Used mostly on BAD_REQUEST errors, that path will match the field name on the request object
context:
type:
- object
- 'null'
additionalProperties:
type:
- object
- 'null'
description: Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
description: Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
description: List of errors providing details about what went wrong
ExternalUpdateVendorRequestV1Model:
type: object
properties:
name:
type: string
description: Vendor name.
defaultCompanyEntity:
$ref: '#/components/schemas/ExternalUpdateDefaultVendorCompanyEntityRequestV1Model'
companyEntityIds:
uniqueItems: true
type: array
description: IDs of the company entities this vendor is associated with.
items:
type: string
description: IDs of the company entities this vendor is associated with.
format: uuid
vatId:
type:
- string
- 'null'
description: Vendor VAT ID.
businessRegistrationNumber:
type:
- string
- 'null'
description: Vendor business registration number.
identifier:
type:
- string
- 'null'
description: Vendor identifier (external/system identifier).
description:
type:
- string
- 'null'
description: Vendor description or memo.
avatarUrl:
type:
- string
- 'null'
description: Vendor avatar/logo URL.
email:
type:
- string
- 'null'
description: Vendor email address.
phoneNumber:
$ref: '#/components/schemas/PhoneNumber'
website:
type:
- string
- 'null'
description: Vendor website.
country:
type:
- string
- 'null'
description: 'Vendor country. Note: currently, updating country does not sync with the vendor in the ERP.
⚠️ This enum is not exhaustive; new values may be added in the future.'
deprecated: false
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
- 'null'
description: Vendor city.
address:
type:
- string
- 'null'
description: Vendor street address.
zipcode:
type:
- string
- 'null'
description: Vendor ZIP/postal code.
bankName:
type:
- string
- 'null'
description: Vendor bank name.
bankCountry:
type:
- string
- 'null'
description: 'Vendor bank country.
⚠️ This enum is not exhaustive; new values may be added in the future.'
deprecated: false
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
bankCity:
type:
- string
- 'null'
description: Vendor bank city.
bankAddress:
type:
- string
- 'null'
description: Vendor bank address.
bankZipcode:
type:
- string
- 'null'
description: Vendor bank ZIP/postal code.
bankAccountNumber:
type:
- string
- 'null'
description: Vendor bank account number (IBAN or local format).
bankAccountBic:
type:
- string
- 'null'
description: Vendor bank BIC/SWIFT code.
domesticBankAccountNumber:
type:
- string
- 'null'
description: Vendor domestic bank account number (country-specific format).
domesticBankAccountCode:
type:
- string
- 'null'
description: Vendor domestic bank account code (e.g. routing/sort code).
swedishBankgiroNumber:
type:
- string
- 'null'
description: Vendor Swedish Bankgiro number, if applicable.
swedishPlusgiroNumber:
type:
- string
- 'null'
description: Vendor Swedish Plusgiro number, if applicable.
bankRecipientName:
type:
- string
- 'null'
description: Name of the bank account holder. When set, this overrides the vendor name on the payment recipient for providers that consult it (currently Airwallex).
customProperties:
type:
- array
- 'null'
description: List of custom properties to set on the vendor. Replaces the existing set.
items:
$ref: '#/components/schemas/ExternalSetCustomPropertyRequestV1Model'
ExternalUiClientExceptionV1Model:
type:
- object
- 'null'
properties:
name:
type: string
description: The error name
type:
type: string
description: 'The error type
⚠️ This enum is not exhaustive; new values may be added in the future.'
deprecated: false
enum:
- BAD_REQUEST
- UNAUTHORIZED
- FORBIDDEN
- NOT_FOUND
- CONFLICT
- UNPROCESSABLE_CONTENT
errors:
type: array
description: List of errors providing details about what went wrong
items:
$ref: '#/components/schemas/ExternalUiClientExceptionErrorV1Model'
description: Failure context when vendor onboarding fails.
ExternalVendorApproverV1Model:
type: object
properties:
id:
type: string
description: ID of the vendor approver entry.
format: uuid
userId:
type: string
description: ID of the approver user.
format: uuid
vendorId:
type: string
description: ID of the vendor.
format: uuid
priority:
type: integer
description: Approval priority (lower means earlier).
format: int32
createdAt:
type: string
description: Timestamp when the approver entry was created.
format: date-time
description: List of vendor approvers.
ExternalVendorNoteV1Model:
type: object
properties:
id:
type: string
format: uuid
vendorId:
type: string
format: uuid
authorId:
type: string
format: uuid
companyId:
type: string
format: uuid
channel:
type: string
description: ⚠️ This enum is not exhaustive; new values may be added in the future.
enum:
- WEB_APP
- SLACK
content:
type: string
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
description: List of vendor notes.
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
ExternalCreateDefaultVendorCompanyEntityRequestV1Model:
type:
- object
- 'null'
properties:
companyEntityId:
type: string
description: ID of the company entity.
format: uuid
accountId:
type:
- string
- 'null'
description: ID of the ledger account to use for this vendor.
format: uuid
taxCodeId:
type:
- string
- 'null'
description: ID of the tax code to use for this vendor.
format: uuid
costCenterId:
type:
- string
- 'null'
description: ID of the cost center to use for this vendor.
format: uuid
senderBankAccountId:
type:
- string
- 'null'
description: ID of the sender bank account to use for payments to this vendor.
format: uuid
description: Default company entity configuration for this vendor, if any.
ExternalPaginatedResponseV1ModelExternalVendorV1Model:
type: object
properties:
records:
type: array
description: List of records for the current page
items:
$ref: '#/components/schemas/ExternalVendorV1Model'
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)
ExternalUpdateDefaultVendorCompanyEntityRequestV1Model:
type:
- object
- 'null'
properties:
companyEntityId:
type: string
description: ID of the company entity.
format: uuid
accountId:
type:
- string
- 'null'
description: ID of the ledger account to use for this vendor.
format: uuid
taxCodeId:
type:
- string
- 'null'
description: ID of the tax code to use for this vendor.
format: uuid
costCenterId:
type:
- string
- 'null'
description: ID of the cost center to use for this vendor.
format: uuid
senderBankAccountId:
type:
- string
- 'null'
description: ID of the sender bank account to use for payments to this vendor.
format: uuid
description: Default company entity configuration for this vendor, if any.
ExternalDefaultVendorCompanyEntityV1Model:
type:
- object
- 'null'
properties:
id:
type: string
description: ID of the default company entity configuration.
format: uuid
vendorId:
type: string
description: ID of the vendor.
format: uuid
companyEntityId:
type:
- string
- 'null'
description: ID of the company entity.
format: uuid
accountId:
type:
- string
- 'null'
description: ID of the ledger account to use for this vendor.
format: uuid
taxCodeId:
type:
- string
- 'null'
description: ID of the tax code to use for this vendor.
format: uuid
costCenterId:
type:
- string
- 'null'
description: ID of the cost center to use for this vendor.
format: uuid
senderBankAccountId:
type:
- string
- 'null'
description: ID of the sender bank account to use for payments to this vendor.
format: uuid
createdAt:
type: string
description: Timestamp when the configuration was created.
format: date-time
updatedAt:
type: string
description: Timestamp when the configuration was last updated.
format: date-time
description: Default company entity configuration for this vendor, if any.
PhoneNumber:
type:
- object
- 'null'
properties:
countryCode:
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
localNumber:
type: string
description: Vendor phone number.
ExternalVendorV1Model:
type: object
properties:
type:
type: string
description: 'Type of the vendor.
⚠️ This enum is not exhaustive; new values may be added in the future.'
deprecated: false
enum:
- EXTERNAL
- USER
vendorId:
type: string
description: External ID of the vendor.
format: uuid
companyId:
type: string
description: ID of the company this vendor belongs to.
format: uuid
companyEntityIds:
uniqueItems: true
type: array
description: ID
# --- truncated at 32 KB (59 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/light/refs/heads/main/openapi/light-v1-vendors-api-openapi.yml