---
title: "List vendors"
method: GET
path: "/v1/vendors"
tags: ["v1 - Vendors"]
---

# List vendors

`GET /v1/vendors`

## Request

- Base URL: `https://light.inc` (the document declares no server; this is the origin it was published from)
- URL: `https://light.inc/v1/vendors`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Returns a paginated list of vendors

## Query parameters

- `sort` string: Sort string in the format `field:direction`. To provide multiple sort fields, separate them with commas. Available directions: `asc`, `desc`. Available fields: `name`, `spendLastMtd`, `createdAt`, `updatedAt`.
- `filter` string: Filter string in the format `field:operator:value`. To provide multiple filters, separate them with commas. Available operators: `eq`, `ne`, `in`, `not_in`, `gt`, `gte`, `lt`, `lte`. - For `in` and `not_in` operators, provide multiple values separated by the pipe character (`|`). Available fields: `id`, `status`, `type`, `ledgerAccountId`, `ledgerTaxId`, `spendLastMtd`, `createdAt`, `updatedAt`.
- `searchTerm` string
- `limit` integer
- `offset` integer
- `cursor` string

## Response `default`

default response

- ExternalPaginatedResponseV1ModelExternalVendorV1Model
  - `records` ExternalVendorV1Model[]: List of records for the current page
    - `type` 'EXTERNAL' | 'USER': Type of the vendor. ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `vendorId` string, uuid: External ID of the vendor.
    - `companyId` string, uuid: ID of the company this vendor belongs to.
    - `companyEntityIds` string[]: IDs of the company entities this vendor is associated with.
    - `defaultCompanyEntity` ExternalDefaultVendorCompanyEntityV1Model, nullable: Default company entity configuration for this vendor, if any.
      - `id` string, uuid: ID of the default company entity configuration.
      - `vendorId` string, uuid: ID of the vendor.
      - `companyEntityId` string, uuid, nullable: ID of the company entity.
      - `accountId` string, uuid, nullable: ID of the ledger account to use for this vendor.
      - `taxCodeId` string, uuid, nullable: ID of the tax code to use for this vendor.
      - `costCenterId` string, uuid, nullable: ID of the cost center to use for this vendor.
      - `senderBankAccountId` string, uuid, nullable: ID of the sender bank account to use for payments to this vendor.
      - `createdAt` string, date-time: Timestamp when the configuration was created.
      - `updatedAt` string, date-time: Timestamp when the configuration was last updated.
    - `vatId` string, nullable: Vendor VAT ID.
    - `businessRegistrationNumber` string, nullable: Vendor business registration number.
    - `identifier` string, nullable: Vendor identifier (external/system identifier).
    - `name` string: Vendor name.
    - `description` string, nullable: Vendor description or memo.
    - `avatarUrl` string, nullable: Vendor avatar/logo URL.
    - `email` string, nullable: Vendor email address.
    - `phoneNumber` PhoneNumber
      - `countryCode` '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': ⚠️ This enum is not exhaustive; new values may be added in the future.
      - `localNumber` string
    - `website` string, nullable: Vendor website.
    - `country` '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', nullable: Vendor country. ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `city` string, nullable: Vendor city.
    - `address` string, nullable: Vendor street address.
    - `zipcode` string, nullable: Vendor ZIP/postal code.
    - `bankName` string, nullable: Vendor bank name.
    - `bankCountry` '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', nullable: Vendor bank country. ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `bankCity` string, nullable: Vendor bank city.
    - `bankAddress` string, nullable: Vendor bank address.
    - `bankZipcode` string, nullable: Vendor bank ZIP/postal code.
    - `bankAccountNumber` string, nullable: Vendor bank account number (IBAN or local format).
    - `bankAccountBic` string, nullable: Vendor bank BIC/SWIFT code.
    - `domesticBankAccountNumber` string, nullable: Vendor domestic bank account number (country-specific format).
    - `domesticBankAccountCode` string, nullable: Vendor domestic bank account code (e.g. routing/sort code).
    - `swedishBankgiroNumber` string, nullable: Vendor Swedish Bankgiro number, if applicable.
    - `swedishPlusgiroNumber` string, nullable: Vendor Swedish Plusgiro number, if applicable.
    - `bankRecipientName` string, nullable: Name of the bank account holder. When set, this overrides the vendor name on the payment recipient for providers that consult it (currently Airwallex).
    - `isWithholdingSubject` boolean: Whether the vendor's invoices are expected to carry a withholding tax. The withholding tax code itself is the vendor's default tax code on the company entity.
    - `vendorCreatedAt` string, date-time: Timestamp when the vendor was created.
    - `approvers` ExternalVendorApproverV1Model[]: List of vendor approvers.
      - `id` string, uuid: ID of the vendor approver entry.
      - `userId` string, uuid: ID of the approver user.
      - `vendorId` string, uuid: ID of the vendor.
      - `priority` integer: Approval priority (lower means earlier).
      - `createdAt` string, date-time: Timestamp when the approver entry was created.
    - `notes` ExternalVendorNoteV1Model[]: List of vendor notes.
      - `id` string, uuid
      - `vendorId` string, uuid
      - `authorId` string, uuid
      - `companyId` string, uuid
      - `channel` 'WEB_APP' | 'SLACK': ⚠️ This enum is not exhaustive; new values may be added in the future.
      - `content` string
      - `createdAt` string, date-time
      - `updatedAt` string, date-time
    - `currency` string
    - `contractValue` integer, nullable: Vendor contract value in cents.
    - `createdBy` string, uuid, nullable: ID of the user who created the vendor.
    - `status` 'ONBOARDING' | 'IN_REVIEW' | 'ACTIVE' | 'FAILED': Vendor onboarding/status. ⚠️ This enum is not exhaustive; new values may be added in the future.
    - `failureContext` ExternalUiClientExceptionV1Model, nullable: Failure context when vendor onboarding fails.
      - `name` string: The error name
      - `type` 'BAD_REQUEST' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'NOT_FOUND' | 'CONFLICT' | 'UNPROCESSABLE_CONTENT': The error type ⚠️ This enum is not exhaustive; new values may be added in the future.
      - `errors` ExternalUiClientExceptionErrorV1Model[]: List of errors providing details about what went wrong
        - `type` string: A string code identifying the error type
        - `message` string: A human-readable message providing more details about the error
        - `path` string[], nullable: 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` object, nullable: Optional context providing additional information about the error. This can include any relevant data that might help in understanding or resolving the error
    - `version` integer: Vendor record version.
    - `updatedAt` string, date-time: Timestamp when the vendor was last updated.
    - `customProperties` ExternalCustomPropertyV1Model[], nullable: Custom properties set on the vendor.
      - `groupId` string, uuid: ID of the custom property group
      - `groupInternalName` string: Internal name of the custom property group
      - `values` ExternalCustomPropertyValueV1Model[]: List of values. Note that this will be a single value unless the group input type supports multiple values
        - `id` string, uuid: Unique identifier for the object
        - `groupId` string, uuid: ID of the custom property group
        - `groupInternalName` string: Internal name of the custom property group
        - `companyId` string, uuid: ID of the company
        - `internalName` string: Internal name of the custom property value
        - `label` string: Label of the custom property value
        - `context` string, nullable: Context/description of the custom property value
        - `createdAt` string, date-time: Timestamp when the custom property value was created
        - `updatedAt` string, date-time: Timestamp when the custom property value was last updated
    - `representedCompanyEntityId` string, uuid, nullable: ID of the company entity this business partner represents. Set when Light creates the partner for intercompany invoicing, or when a user links an existing one; null for ordinary vendors.
    - `lastMtdSpendInGroupCurrency` integer, nullable: Last month-to-date spend in group currency.
    - `groupCurrency` string
  - `hasMore` boolean: Boolean flag indicating if there are more records available
  - `total` integer, nullable: 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.
  - `nextCursor` string, nullable: Cursor for fetching the next page (only for cursor pagination)
  - `prevCursor` string, nullable: Cursor for fetching the previous page (only for cursor pagination)

---

[API](https://skmtc.dev/light/apis/light-api.md) - [All operations](https://skmtc.dev/light/apis/light-api/llms.txt) - [OpenAPI document](https://skmtc.dev/light/apis/light-api/revisions/84f51306f648?raw)
