Light v1 - Customers API

The v1 - Customers API from Light — 4 operation(s) for v1 - customers.

Operations 6

POST /v1/customers/{customerId}/activate Activate customer #
POST /v1/customers/{customerId}/archive Archive customer #
GET /v1/customers List customers #
POST /v1/customers Create customer #
GET /v1/customers/{customerId} Get customer #
PATCH /v1/customers/{customerId} Update customer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/light-v1-customers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

light-v1-customers-api-openapi.yml Raw ↑
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