> ## Documentation Index
> Fetch the complete documentation index at: https://kapso-1adbad2d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List setup links

> Get all setup links for a customer



## OpenAPI

````yaml api/legacy/openapi-platform.yaml get /customers/{customer_id}/setup_links
openapi: 3.0.3
info:
  title: Kapso Platform API
  description: >-
    Build WhatsApp automation into your SaaS. Let your customers connect their
    own WhatsApp Business accounts.
  version: 1.0.0
  contact:
    name: Kapso Support
servers:
  - url: https://app.kapso.ai/api/v1
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /customers/{customer_id}/setup_links:
    get:
      tags:
        - Setup Links
      summary: List setup links
      description: Get all setup links for a customer
      operationId: listPlatformSetupLinks
      parameters:
        - name: customer_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: per_page
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
      responses:
        '200':
          description: List of setup links
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SetupLink'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    SetupLink:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: 7f8a9b1c-2d3e-4f5a-6b7c-8d9e0f1a2b3c
        status:
          type: string
          enum:
            - active
            - used
            - expired
            - revoked
          example: active
        expires_at:
          type: string
          format: date-time
          description: Link expires after 30 days
        url:
          type: string
          format: uri
          example: https://app.kapso.ai/whatsapp/setup/aBcD123...
          description: Setup URL for your customer
        success_redirect_url:
          type: string
          format: uri
          example: https://your-app.com/whatsapp/success
          nullable: true
        failure_redirect_url:
          type: string
          format: uri
          example: https://your-app.com/whatsapp/failed
          nullable: true
        allowed_connection_types:
          type: array
          items:
            type: string
            enum:
              - coexistence
              - dedicated
          example:
            - coexistence
            - dedicated
          description: Connection types shown to customer. Single option auto-selects.
          default:
            - coexistence
            - dedicated
        provision_phone_number:
          type: boolean
          example: false
          description: Whether to provision a new phone number for the customer
        phone_number_area_code:
          type: string
          example: '415'
          nullable: true
          description: >-
            Area code for provisioned phone number (if provision_phone_number is
            true)
        phone_number_country_isos:
          type: array
          items:
            type: string
          example:
            - US
          description: >-
            Array of supported ISO country codes for phone number provisioning.
            Defaults to ["US"] if not specified. Non-US countries require custom
            Twilio credentials.
        provisioned_phone_number:
          type: object
          nullable: true
          description: Details of the provisioned phone number (if applicable)
          properties:
            id:
              type: string
              format: uuid
            phone_number:
              type: string
              example: '+14155551234'
            area_code:
              type: string
              example: '415'
            status:
              type: string
              enum:
                - active
                - released
        theme_config:
          type: object
          description: Customize the setup page appearance
          properties:
            primary_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#3b82f6'
              description: Primary buttons and accents
            primary_foreground_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#ffffff'
              description: Text on primary buttons
            background_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#ffffff'
              description: Page background
            text_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#0f172a'
              description: Main text
            muted_text_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#64748b'
              description: Secondary text
            card_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#f8fafc'
              description: Card backgrounds
            muted_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#f1f5f9'
              description: Muted backgrounds
            border_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#e2e8f0'
              description: Borders
            secondary_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#f1f5f9'
              description: Secondary buttons
            secondary_foreground_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#0f172a'
              description: Text on secondary buttons
            destructive_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#ef4444'
              description: Error states
            destructive_foreground_color:
              type: string
              pattern: ^#[0-9A-Fa-f]{6}$
              example: '#fef2f2'
              description: Text on error backgrounds
          nullable: true
        created_at:
          type: string
          format: date-time
    PaginationMeta:
      type: object
      properties:
        page:
          type: integer
          example: 1
        per_page:
          type: integer
          example: 20
        total_pages:
          type: integer
          example: 5
        total_count:
          type: integer
          example: 100
    Error:
      type: object
      properties:
        error:
          type: string
          example: Resource not found
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your project API key

````