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

# Request KYC Link



## OpenAPI

````yaml POST /smart-accounts/{smart_account_address}/kyc
openapi: 3.1.0
info:
  title: Grid API
  description: Grid API Documentation
  license:
    name: ''
  version: 1.0.0
servers:
  - url: https://grid.squads.xyz/api/v0/grid
    description: Production Server
security:
  - bearerAuth: []
tags:
  - name: smart-accounts
    description: Smart Accounts
paths:
  /smart-accounts/{smart_account_address}/kyc:
    post:
      tags:
        - Smart Accounts
      operationId: handler
      parameters:
        - name: smart_account_address
          in: path
          description: The address of the smart account to request KYC link for
          required: true
          schema:
            type: string
        - name: X-Grid-Environment
          in: header
          description: The environment you’re using. Can be `sandbox` or `production`.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestKycLinkRequestPayload'
        required: true
      responses:
        '200':
          description: Successfully requested KYC link
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KycLink'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GridError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GridError'
        '404':
          description: Smart account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GridError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GridError'
      security:
        - bearerAuth: []
components:
  schemas:
    RequestKycLinkRequestPayload:
      type: object
      required:
        - grid_user_id
        - type
        - email
        - full_name
        - endorsements
      properties:
        email:
          type: string
          example: john.doe@example.com
        endorsements:
          type: array
          items:
            type: string
          example: '["ach", "sepa"]'
        full_name:
          type: string
          example: John Doe
        grid_user_id:
          type: string
          format: uuid
          example: 123e4567-e89b-12d3-a456-426614174000
        redirect_uri:
          type:
            - string
            - 'null'
          example: https://example.com/redirect
        type:
          $ref: '#/components/schemas/CustomerType'
    KycLink:
      type: object
      required:
        - id
        - full_name
        - email
        - type
        - kyc_link
        - tos_link
        - kyc_status
        - tos_status
        - created_at
        - customer_id
        - persona_inquiry_type
      properties:
        created_at:
          type: string
          format: date-time
          example: '2025-04-01T16:51:23.773Z'
        customer_id:
          type: string
        email:
          type: string
        full_name:
          type: string
        id:
          type: string
        kyc_link:
          type: string
        kyc_status:
          $ref: '#/components/schemas/KycStatus'
        persona_inquiry_type:
          type: string
        rejection_reasons: {}
        tos_link:
          type: string
        tos_status:
          $ref: '#/components/schemas/TosStatus'
        type:
          $ref: '#/components/schemas/CustomerType'
    GridError:
      type: object
      required:
        - message
        - details
        - timestamp
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/Detail'
        message:
          type: string
        timestamp:
          type: string
    CustomerType:
      type: string
      enum:
        - individual
        - business
    KycStatus:
      type: string
      enum:
        - not_started
        - under_review
        - incomplete
        - approved
        - rejected
    TosStatus:
      type: string
      enum:
        - pending
        - approved
    Detail:
      type: object
      required:
        - field
        - code
        - message
      properties:
        code:
          type: string
        field:
          type: string
        message:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: API Key for authentication

````