> ## Documentation Index
> Fetch the complete documentation index at: https://docs.commenda.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List exemption certificates

> Get a paginated list of all exemption certificates for a specific customer

## Query parameters

<ParamField query="customer_id" type="string" required>
  The unique identifier of the customer whose exemption certificates you want to retrieve.
</ParamField>

<ParamField query="limit" type="integer" default="10">
  Number of exemption certificates to return per page. Must be between 1 and 100.
</ParamField>

<ParamField query="cursor" type="string">
  Pagination cursor for fetching the next page of results. Obtained from the previous response.
</ParamField>

## Response

<ResponseField name="data" type="object">
  <Expandable title="Response object">
    <ResponseField name="exemption_certificates" type="array">
      Array of exemption certificate objects.

      <Expandable title="ExemptionCertificate object">
        <ResponseField name="id" type="string">
          Unique identifier for the exemption certificate.
        </ResponseField>

        <ResponseField name="customer_id" type="string">
          The customer ID this certificate belongs to.
        </ResponseField>

        <ResponseField name="file_id" type="string">
          The file ID associated with this certificate, if any.
        </ResponseField>

        <ResponseField name="type" type="string">
          The type of exemption certificate (SINGLE\_STATE, MULTI\_STATE, or BLANKET).
        </ResponseField>

        <ResponseField name="verification_status" type="string">
          Current verification status of the certificate: `NOT_READY`, `VERIFICATION_PENDING`, `VERIFICATION_SUCCESS`, or `VERIFICATION_FAILED`.
        </ResponseField>

        <ResponseField name="exemption_certificate_number" type="string">
          The certificate number, if provided.
        </ResponseField>

        <ResponseField name="effective_date" type="string">
          The effective date of the certificate (ISO 8601 date).
        </ResponseField>

        <ResponseField name="created_at" type="integer">
          Unix timestamp when the certificate was created.
        </ResponseField>

        <ResponseField name="jurisdictions" type="array">
          Array of jurisdiction exemptions associated with this certificate.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="total_exemption_certificates" type="integer">
      Total count of exemption certificates for this customer.
    </ResponseField>

    <ResponseField name="cursor" type="string">
      Cursor for fetching the next page of results. Empty if no more results.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="message" type="string">
  Success message.
</ResponseField>


## OpenAPI

````yaml GET /exemption-certificates
openapi: 3.0.1
info:
  title: Commenda Public APIs
  description: >-
    APIs for Commenda entity management, partner incorporation, indirect tax,
    compliance, and corporate operations.
  license:
    name: NONE
    url: NONE
  version: 1.0.0
servers:
  - url: https://api.prod.commenda.io/api/v1
    description: Commenda platform APIs, including Partner Incorporation and Commenda OS.
  - url: https://transaction-tax.api.in.commenda.io/api/v1
    description: Global Indirect Tax API.
security:
  - bearerAuth: []
paths:
  /exemption-certificates:
    get:
      summary: List all exemption certificates.
      description: Get a list of all exemption certificates.
      operationId: listAllExemptionCertificates
      parameters:
        - in: query
          name: customer_id
          required: true
          schema:
            type: string
          description: >-
            The unique identifier of the customer whose exemption certificate
            you want to fetch.
        - name: cursor
          in: query
          description: Cursor for pagination
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: Number of items to return per page
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
      responses:
        '200':
          description: Sales tax exemption certificate response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      exemption_certificates:
                        type: array
                        items:
                          $ref: '#/components/schemas/ExemptionCertificateResponse'
                      cursor:
                        type: string
                        description: Pagination cursor for the next set of results.
                      total_exemptions:
                        type: number
                        description: Total number of exemption certificates.
                  message:
                    type: string
                    example: Successfully fetched exemption certificates.
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ExemptionCertificateResponse:
      type: object
      properties:
        customer_id:
          type: string
          format: uuid
          description: The unique identifier of the customer.
        file_id:
          type: string
          format: uuid
          nullable: true
          description: Identifier of the file to use as the exemption certificate.
        type:
          $ref: '#/components/schemas/ExemptionCertificateType'
        verification_status:
          type: string
          description: Verification status of the exemption certificate.
        exemption_certificate_number:
          type: string
          description: The exemption certificate number.
        effective_date:
          type: string
          format: date
          description: ISO 8601 formatted date string indicating the effective date.
        created_at:
          type: integer
          format: int64
          description: Timestamp in UTC when this exemption certificate was created.
        jurisdictions:
          type: array
          items:
            $ref: '#/components/schemas/JurisdictionExemption'
          description: List of jurisdictions where the exemption is applicable.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              description: 'Specific Error type. Example: CLIENT_INVALID_REQUEST_BODY.'
              example: CLIENT_INVALID_REQUEST_BODY
            doc_url:
              type: string
              description: >-
                A link to the docs with details about this error. Example:
                https://sales-tax-docs.commenda.io/
              example: https://sales-tax-docs.commenda.io/
            title:
              type: string
              description: >-
                A short title describing the error. Example: Missing query
                parameters.
              example: Failed to validate the request body
            detail:
              type: string
              description: >-
                A json string with a description on how to fix the error.
                Example {"description":"Please pass in a valid corporation_id"}
            status:
              type: number
              description: >-
                The status code. It should be the same as the HTTP protocol
                status code. Example: 200
              example: 400
            instance:
              type: string
              description: >-
                The relative path that was hit by the user. Example:
                /api/v1/corporations/1
            Errors:
              type: array
              items:
                type: object
                properties:
                  details:
                    type: string
                    description: More details on how to solve this particular error.
                  pointer:
                    type: string
                    description: >-
                      Relative reference to missing or invalid piece of passed
                      information.
    ExemptionCertificateType:
      type: string
      enum:
        - SINGLE_STATE
        - SST
        - MTC
      description: >-
        Enum representing the type of the exemption certificate (Streamlined
        Sales Tax, Multistate Tax Commission, or single state). More details
        [here](/api-reference/global-indirect-tax/exemptions/exemption-certificates/exemption-certificates#certificate-types).
    JurisdictionExemption:
      type: object
      properties:
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code.
        state:
          type: string
          description: ISO 3166-2 subdivision code.
        reason:
          $ref: '#/components/schemas/ExemptionReason'
        is_active:
          $ref: '#/components/schemas/IsExemptionActive'
        end_date:
          type: string
          format: date
          nullable: true
          description: >-
            ISO 8601 formatted date string indicating the expiration date of
            this particular exemption. For multistate exemption certificates,
            the expiration date can be different in different states..
        identification_type:
          $ref: '#/components/schemas/ExemptionIdentificationType'
        identification_number:
          type: string
          description: Identification number for the exemption.
        is_expired:
          type: boolean
          description: Indicates if the exemption is expired.
        created_at:
          type: integer
          format: int64
          description: Timestamp in UTC when this jurisdiction exemption was created.
    ExemptionReason:
      type: string
      enum:
        - PURPOSE_RESALE
        - ENTITY_TYPE_NONPROFIT
        - GOVERNMENT
        - MANUFACTURER
        - AGRICULTURAL
        - OTHER
        - EXEMPT_PRODUCT
      description: Enum representing the reason for the exemption.
    IsExemptionActive:
      type: boolean
      description: >
        Indicates whether the exemption should be taken into account when
        performing tax calculations.  When `true`, applicable transactions will
        be exempted from tax (unless the certificate is expired).
    ExemptionIdentificationType:
      type: string
      enum:
        - FEIN
        - TIN
        - DL
        - OTHER
      description: >-
        Enum representing the type of identification number used for the
        exemption. Federal EIN, Taxpayer Id Number, or Drivers License are
        common values for this field. "Other" is also accepted.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````