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

# Retrieve certificate

> Fetch an exemption certificate by ID.

Returns one exemption certificate. Use the `certificate_id` from a customer's `exemption.jurisdictions` rows, or the `id` from [List certificates](https://apidocs.taxwire.com/api-reference/certificates/list.md).

* A certificate that List certificates leaves out returns `404`: one belonging to a deleted customer, or an emailed one not yet linked to a customer.
* `status` is `needs_review` until the certificate is reviewed. It then becomes `rejected`, with the reason in `review_reason`, or a date status: `valid`, `not_yet_active` or `expired`.


## OpenAPI

````yaml GET /certificates/{certificate_id}
openapi: 3.1.0
info:
  title: Taxwire Public API
  version: 0.1.0
servers: []
security: []
paths:
  /certificates/{certificate_id}:
    get:
      tags:
        - Certificates
      summary: Retrieve Certificate
      description: Fetch an exemption certificate by ID.
      operationId: get_certificate_certificates__certificate_id__get
      parameters:
        - name: certificate_id
          in: path
          required: true
          schema:
            type: string
            description: Unique identifier for the certificate.
            title: Certificate Id
          description: Unique identifier for the certificate.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CertificateResource'
              example:
                id: cexc_01J9Z8Q4E7K2M3N4P5R6S7T8U9
                customer_id: cust_01J9Z8Q4E7K2M3N4P5R6S7T8U9
                exemption_number: SR-1234567
                exemption_type: resale
                jurisdictions:
                  - jurisdiction: USA.S-CA
                    jurisdiction_name: California
                status: valid
                starts_at: '2025-04-01'
                expires_at: '2027-03-31'
                created_at: '2026-09-14T20:00:00Z'
                updated_at: '2026-09-14T20:00:00Z'
        '404':
          description: >-
            No certificate with this ID exists in your organization, or it is
            not shown by List Certificates.
        '422':
          description: Validation Error - Invalid query parameter
          content:
            application/json:
              example:
                errors:
                  - status: '422'
                    code: validation_error
                    title: Validation Error
                    detail: >-
                      Input should be 'valid', 'expired', 'not_yet_active',
                      'needs_review' or 'rejected'
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded. Try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                errors:
                  - status: '429'
                    code: rate_limit_error
                    title: Too Many Requests
                    detail: Rate limit exceeded
          headers:
            Retry-After:
              schema:
                type: string
              description: Time in seconds until the rate limit resets
            X-RateLimit-Limit:
              schema:
                type: string
              description: The rate limit ceiling for the given request
            X-RateLimit-Remaining:
              schema:
                type: string
              description: The number of requests remaining in the time window
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                errors:
                  - status: '500'
                    code: system_internal_error
                    title: Internal Error
                    detail: An unexpected error occurred. Our team has been notified.
      security:
        - APIKeyHeader: []
        - HTTPBearer: []
components:
  schemas:
    CertificateResource:
      properties:
        id:
          type: string
          title: Id
          description: Unique identifier for the certificate.
          examples:
            - cexc_01J9Z8Q4E7K2M3N4P5R6S7T8U9
        customer_id:
          type: string
          title: Customer Id
          description: The customer the certificate belongs to.
          examples:
            - cust_01J9Z8Q4E7K2M3N4P5R6S7T8U9
        exemption_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Exemption Number
          description: The exemption or registration number on the certificate.
          examples:
            - SR-1234567
        exemption_type:
          anyOf:
            - type: string
              enum:
                - agriculture
                - direct_pay
                - driveaway
                - govt_exempt_org
                - manufacturing
                - resale
                - other
            - type: 'null'
          description: >-
            The kind of exemption the certificate claims. Null only on a
            `needs_review` certificate whose type is not filled in yet.
          examples:
            - resale
        exemption_type_other:
          anyOf:
            - type: string
            - type: 'null'
          title: Exemption Type Other
          description: >-
            The certificate's own description of the exemption. Set only when
            `exemption_type` is `other`.
          examples:
            - null
            - Tribal sales
        jurisdictions:
          items:
            $ref: '#/components/schemas/CertificateJurisdiction'
          type: array
          title: Jurisdictions
          description: The jurisdictions the certificate covers.
        status:
          type: string
          description: >-
            `valid`: approved and in its date window today (UTC). `expired`:
            approved and its expiration date has passed. `not_yet_active`:
            approved and its start date is in the future. `needs_review`: not
            reviewed yet, so it exempts nothing. `rejected`: reviewed and turned
            down, so it exempts nothing. More values may be added; treat an
            unknown one as not valid.
          examples:
            - valid
        review_reason:
          anyOf:
            - type: string
            - type: 'null'
          title: Review Reason
          description: Why the certificate was rejected. Null otherwise.
          examples:
            - null
            - Certificate is unsigned
        starts_at:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Starts At
          description: >-
            The first day the certificate covers. Null only on a `needs_review`
            certificate whose start date is not filled in yet.
          examples:
            - '2025-04-01'
        expires_at:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Expires At
          description: The last day the certificate covers. Null when it never expires.
          examples:
            - '2027-03-31'
            - null
        created_at:
          type: string
          format: date-time
          title: Created At
          description: Date at which the certificate was created in Taxwire.
          examples:
            - '2026-09-14T20:00:00Z'
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: Date at which the certificate was last updated.
          examples:
            - '2026-09-14T20:00:00Z'
      additionalProperties: false
      type: object
      required:
        - id
        - customer_id
        - jurisdictions
        - status
        - created_at
        - updated_at
      title: CertificateResource
      description: An exemption certificate on file for one of your customers.
    ErrorResponse:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/Error'
          type: array
          title: Errors
      type: object
      required:
        - errors
      title: ErrorResponse
      description: Standardized JSON:API error response model.
    CertificateJurisdiction:
      properties:
        jurisdiction:
          type: string
          title: Jurisdiction
          description: >-
            The jurisdiction's political path: a US state (`USA.S-CA`), a city
            (`USA.S-IL.M-CHICAGO`), a Canadian province (`CAN.P-ON`) or a
            country code.
          examples:
            - USA.S-CA
        jurisdiction_name:
          type: string
          title: Jurisdiction Name
          description: The jurisdiction's readable name.
          examples:
            - California
      additionalProperties: false
      type: object
      required:
        - jurisdiction
        - jurisdiction_name
      title: CertificateJurisdiction
      description: One jurisdiction a certificate covers.
    Error:
      properties:
        status:
          type: string
          title: Status
        code:
          type: string
          title: Code
        title:
          type: string
          title: Title
        detail:
          type: string
          title: Detail
        source:
          anyOf:
            - $ref: '#/components/schemas/ErrorSource'
            - type: 'null'
        meta:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Meta
      type: object
      required:
        - status
        - code
        - title
        - detail
      title: Error
      description: Individual JSON:API error object.
    ErrorSource:
      properties:
        pointer:
          anyOf:
            - type: string
            - type: 'null'
          title: Pointer
      type: object
      title: ErrorSource
      description: Identifies the source of the error, e.g., via a JSON Pointer.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    HTTPBearer:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.