> ## 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 jurisdiction catalog

> Retrieve the informational catalog of supported incorporation countries and country-specific options. This endpoint helps clients render valid choices, but the create endpoint remains the source of truth for validation.

Returns the currently supported incorporation countries and country-specific option fields.

Use this endpoint as an informational catalog for rendering choices in your UI. The create incorporation endpoint remains the source of truth for validation.

Field keys map directly to paths inside `countryOptions`. Simple keys become direct properties, such as `countryOptions.corporationType`. Dotted keys, such as `corporationTypeOptions.freeZone`, represent nested objects inside `countryOptions`.

## Supported countries

The catalog currently includes `AE`, `CA`, `GB`, `IE`, `IN`, `KY`, `NZ`, `SG`, and `US`.

## Field format

Each country returns a list of fields:

```json theme={null}
{
  "country": "US",
  "fields": [
    {
      "key": "state",
      "type": "select",
      "required": false,
      "options": ["AL", "AK", "AZ"]
    },
    {
      "key": "corporationType",
      "type": "select",
      "required": true,
      "options": ["CORPORATION", "LLC"]
    }
  ]
}
```

Use `key` as the path inside `countryOptions`. For example, `corporationTypeOptions.freeZone` should be sent as:

```json theme={null}
{
  "countryOptions": {
    "corporationTypeOptions": {
      "freeZone": "DMCC"
    }
  }
}
```

For Singapore private limited companies, the catalog returns a simple `corporationType` field:

```json theme={null}
{
  "country": "SG",
  "fields": [
    {
      "key": "corporationType",
      "type": "select",
      "required": true,
      "options": ["PRIVATE_LIMITED_COMPANY"]
    }
  ]
}
```

Send that selection in `countryOptions` as:

```json theme={null}
{
  "country": "SG",
  "countryOptions": {
    "corporationType": "PRIVATE_LIMITED_COMPANY"
  }
}
```

For GET endpoints that use query parameters, send the same shape with deep-object query syntax:

```text theme={null}
GET /partner/incorporation/requirements?country=SG&countryOptions[corporationType]=PRIVATE_LIMITED_COMPANY
```

This endpoint is informational only. It is safe to use for UI rendering, but clients should still handle validation errors from `POST /partner/incorporation/customers/{customerId}/incorporations`.


## OpenAPI

````yaml GET /partner/incorporation/jurisdiction-catalog
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:
  /partner/incorporation/jurisdiction-catalog:
    get:
      summary: List supported incorporation jurisdictions
      description: >-
        Retrieve the informational catalog of supported incorporation countries
        and country-specific options. This endpoint helps clients render valid
        choices, but the create endpoint remains the source of truth for
        validation.
      operationId: getPartnerIncorporationJurisdictionCatalog
      responses:
        '200':
          description: Jurisdiction catalog retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerJurisdictionCatalogResponse'
        '401':
          description: Missing or invalid partner API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AffiliatePublicError'
      security:
        - xApiKeyAuth: []
      servers:
        - url: https://api.prod.commenda.io/api/v1
components:
  schemas:
    PartnerJurisdictionCatalogResponse:
      type: object
      required:
        - countries
      properties:
        countries:
          type: array
          items:
            $ref: '#/components/schemas/PartnerJurisdictionCatalogCountry'
    AffiliatePublicError:
      type: object
      required:
        - statusCode
        - message
        - error
      properties:
        statusCode:
          type: integer
          example: 403
        message:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          example: Company does not belong to this affiliate firm
        error:
          type: string
          example: Forbidden
    PartnerJurisdictionCatalogCountry:
      type: object
      required:
        - country
        - fields
      properties:
        country:
          $ref: '#/components/schemas/PartnerIncorporationCountry'
        fields:
          type: array
          items:
            $ref: '#/components/schemas/PartnerJurisdictionCatalogField'
    PartnerIncorporationCountry:
      type: string
      description: ISO 3166-1 alpha-2 country code for the incorporation jurisdiction.
      example: SG
      enum:
        - AE
        - CA
        - GB
        - IE
        - IN
        - KY
        - NZ
        - SG
        - US
    PartnerJurisdictionCatalogField:
      type: object
      required:
        - key
        - type
        - required
      properties:
        key:
          type: string
          description: >-
            Path to send inside `countryOptions`. Simple keys become direct
            properties, such as `countryOptions.corporationType`; dotted keys
            represent nested objects, such as
            `countryOptions.corporationTypeOptions.freeZone`.
          example: corporationType
        type:
          type: string
          enum:
            - select
          example: select
        required:
          type: boolean
          example: true
        options:
          type: array
          description: Accepted values for this field.
          items:
            type: string
          example:
            - CORPORATION
            - LLC
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    xApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````