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

# Open a lifecycle KYC verification session

> Opens one exact customer/task/session first-party link. The service validates lifecycle ownership and creates or refreshes a short-lived provider link without persisting or returning that provider URL in task JSON. Approved fake-host sandbox flows hand off to the first-party verification page. An exact session that already completed successfully returns 204 No Content.



## OpenAPI

````yaml /openapi.json get /kyc/redirect/{customerId}/{taskId}/{verificationSessionId}
openapi: 3.1.0
info:
  title: Swipelux API
  version: 3.1.0
servers:
  - url: https://platform.swipelux.com
    description: Production and sandbox; environment selected by API key
security:
  - apiKey: []
tags:
  - name: customers
    x-displayName: Customers
    description: >-
      Create, list, update, export, and archive individual and business
      customers and their related parties.
  - name: capabilities
    x-displayName: Capabilities
    description: >-
      Discover, request, inspect, and cancel customer capabilities and their
      institution applications.
  - name: accounts
    x-displayName: Accounts
    description: Create, inspect, update, and archive customer accounts.
  - name: recipients
    x-displayName: Recipients
    description: Create third-party recipients and their payout destinations.
  - name: Tasks
    x-displayName: Tasks
    description: Inspect customer, capability, application, account, and transfer tasks.
  - name: Task submissions
    x-displayName: Task submissions
    description: Submit and inspect immutable answers to customer tasks.
  - name: documents
    x-displayName: Documents
    description: Upload and inspect customer documents used in task submissions.
  - name: money-movement
    x-displayName: Money movement
    description: Create quotes, execute quote-backed transfers, and inspect transfer state.
  - name: rules
    x-displayName: Rules
    description: >-
      Standing instructions that act on incoming funds. A rule watches a
      custodial wallet account (`trigger`) and, when funds become available on
      it, transfers them to a target (`action`) — most commonly a sweep to a
      non-custodial wallet destination.


      Rules match at the account credit, not at the deposit rail: fiat deposits
      settle into the issued bank account's settlement wallet account, so a rule
      on that wallet account catches ACH/SEPA/SWIFT deposits, stablecoin
      deposits, and internal transfers alike.


      The action target reuses the money-movement vocabulary (`account` for the
      customer's own accounts, `destination` for recipient destinations). At
      most one non-archived rule may watch a given trigger account. Statuses:
      `active ⇄ paused → archived` — pause and resume through PATCH, archive
      (terminal) through DELETE.
  - name: sandbox
    x-displayName: Sandbox
    description: Simulate supported account, task, capability, and transfer outcomes.
  - name: institutions
    x-displayName: Institutions
    description: List institutions referenced by capabilities and applications.
  - name: webhooks
    x-displayName: Webhooks
    description: Configure webhook endpoints and inspect delivery activity.
externalDocs:
  description: Swipelux Documentation
  url: https://docs.swipelux.com
paths:
  /kyc/redirect/{customerId}/{taskId}/{verificationSessionId}:
    get:
      tags:
        - Tasks
      summary: Open a lifecycle KYC verification session
      description: >-
        Opens one exact customer/task/session first-party link. The service
        validates lifecycle ownership and creates or refreshes a short-lived
        provider link without persisting or returning that provider URL in task
        JSON. Approved fake-host sandbox flows hand off to the first-party
        verification page. An exact session that already completed successfully
        returns 204 No Content.
      operationId: startKycVerificationSession
      parameters:
        - name: customerId
          in: path
          required: true
          description: Owning customer identifier.
          schema:
            type: string
            pattern: ^cus_[0-9A-Za-z]{18}$
        - name: taskId
          in: path
          required: true
          description: Lifecycle-owned task identifier.
          schema:
            type: string
            pattern: ^tsk_[0-9A-Za-z]{18}$
        - name: verificationSessionId
          in: path
          required: true
          description: Exact hosted verification-session identifier.
          schema:
            type: string
            pattern: ^vfy_[0-9A-Za-z]{18}$
      responses:
        '204':
          description: >-
            The exact verification session already completed successfully; no
            provider redirect is required.
          headers:
            Cache-Control:
              description: Prevents storage of the verification redirect response.
              schema:
                type: string
                enum:
                  - no-store
            Referrer-Policy:
              description: Prevents the verification URL from leaking in referrers.
              schema:
                type: string
                enum:
                  - no-referrer
            X-Request-Id:
              description: Request correlation identifier.
              schema:
                type: string
        '302':
          description: >-
            Redirect to a short-lived provider-hosted verification URL or the
            same-origin sandbox verification page.
          headers:
            Cache-Control:
              description: Prevents storage of the verification redirect response.
              schema:
                type: string
                enum:
                  - no-store
            Referrer-Policy:
              description: Prevents the verification URL from leaking in referrers.
              schema:
                type: string
                enum:
                  - no-referrer
            X-Request-Id:
              description: Request correlation identifier.
              schema:
                type: string
            Location:
              description: Short-lived HTTPS provider URL or same-origin first-party path.
              schema:
                type: string
                format: uri-reference
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                  - retryable
                properties:
                  type:
                    type: string
                    format: uri
                    enum:
                      - https://docs.swipelux.com/errors/not-found
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    enum:
                      - 404
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - not_found
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  retryable:
                    type: boolean
                    enum:
                      - false
                    description: Whether retrying the same request may succeed.
          headers:
            Cache-Control:
              description: Prevents storage of the verification redirect response.
              schema:
                type: string
                enum:
                  - no-store
            Referrer-Policy:
              description: Prevents the verification URL from leaking in referrers.
              schema:
                type: string
                enum:
                  - no-referrer
            X-Request-Id:
              description: Request correlation identifier.
              schema:
                type: string
        '409':
          description: Request conflict.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                  - retryable
                properties:
                  type:
                    type: string
                    format: uri
                    enum:
                      - https://docs.swipelux.com/errors/kyc-process-conflict
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    enum:
                      - 409
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - kyc_process_conflict
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  retryable:
                    type: boolean
                    enum:
                      - true
                    description: Whether retrying the same request may succeed.
          headers:
            Cache-Control:
              description: Prevents storage of the verification redirect response.
              schema:
                type: string
                enum:
                  - no-store
            Referrer-Policy:
              description: Prevents the verification URL from leaking in referrers.
              schema:
                type: string
                enum:
                  - no-referrer
            X-Request-Id:
              description: Request correlation identifier.
              schema:
                type: string
        '410':
          description: Request failed.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                  - retryable
                properties:
                  type:
                    type: string
                    format: uri
                    enum:
                      - https://docs.swipelux.com/errors/kyc-session-terminal
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    enum:
                      - 410
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - kyc_session_terminal
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  retryable:
                    type: boolean
                    enum:
                      - false
                    description: Whether retrying the same request may succeed.
          headers:
            Cache-Control:
              description: Prevents storage of the verification redirect response.
              schema:
                type: string
                enum:
                  - no-store
            Referrer-Policy:
              description: Prevents the verification URL from leaking in referrers.
              schema:
                type: string
                enum:
                  - no-referrer
            X-Request-Id:
              description: Request correlation identifier.
              schema:
                type: string
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                  - retryable
                properties:
                  type:
                    type: string
                    format: uri
                    enum:
                      - https://docs.swipelux.com/errors/internal-error
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    enum:
                      - 500
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - internal_error
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  retryable:
                    type: boolean
                    enum:
                      - true
                    description: Whether retrying the same request may succeed.
          headers:
            Cache-Control:
              description: Prevents storage of the verification redirect response.
              schema:
                type: string
                enum:
                  - no-store
            Referrer-Policy:
              description: Prevents the verification URL from leaking in referrers.
              schema:
                type: string
                enum:
                  - no-referrer
            X-Request-Id:
              description: Request correlation identifier.
              schema:
                type: string
        '502':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                  - retryable
                properties:
                  type:
                    type: string
                    format: uri
                    enum:
                      - >-
                        https://docs.swipelux.com/errors/kyc-provider-unavailable
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    enum:
                      - 502
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - kyc_provider_unavailable
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  retryable:
                    type: boolean
                    enum:
                      - true
                    description: Whether retrying the same request may succeed.
          headers:
            Cache-Control:
              description: Prevents storage of the verification redirect response.
              schema:
                type: string
                enum:
                  - no-store
            Referrer-Policy:
              description: Prevents the verification URL from leaking in referrers.
              schema:
                type: string
                enum:
                  - no-referrer
            X-Request-Id:
              description: Request correlation identifier.
              schema:
                type: string
        '503':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - type
                  - title
                  - status
                  - code
                  - detail
                  - correlationId
                properties:
                  type:
                    type: string
                    format: uri
                    description: Documentation URL for this stable problem code.
                  title:
                    type: string
                    description: Short human-readable problem title.
                  status:
                    type: integer
                    enum:
                      - 503
                    description: HTTP status code.
                  code:
                    type: string
                    enum:
                      - verification_collection_mapping_invalid
                      - kyc_configuration_unavailable
                      - kyc_level_configuration_invalid
                    description: Stable snake_case error code.
                  detail:
                    type: string
                    description: Actionable problem detail for legitimate callers.
                  correlationId:
                    type: string
                    description: Request correlation id. Mirrors `X-Request-Id`.
                  transferId:
                    type: string
                    description: >-
                      Existing transfer that consumed the quote. Present on
                      `quote_already_executed`.
                  retryable:
                    type: boolean
                    description: Whether retrying the same request may succeed.
                  errors:
                    type: array
                    description: Field-level validation errors.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - pointer
                        - code
                        - message
                      properties:
                        pointer:
                          type: string
                          description: JSON Pointer into the request body.
                        code:
                          type: string
                          description: Machine-readable field error code.
                        message:
                          type: string
                          description: Human-readable field error message.
                  statusReason:
                    type: object
                    description: >-
                      Structured reason for a state conflict when the failed
                      operation depends on the resource's current status.
                    required:
                      - code
                      - message
                      - actor
                      - retryable
                    properties:
                      code:
                        type: string
                        description: >-
                          Stable snake_case reason code from the documented
                          catalog.
                        example: sanctions_screening_failed
                      message:
                        type: string
                        description: Human-readable explanation of the current status.
                      actor:
                        type: string
                        enum:
                          - customer
                          - developer
                          - provider
                          - network
                          - swipelux
                        description: >-
                          Party whose action moves the resource forward: the end
                          customer, the developer integrating the API, the
                          underlying provider, payment network or rail, or
                          Swipelux. Closed enum — exhaustive; additions would be
                          a breaking change.
                      retryable:
                        type: boolean
                        description: >-
                          Whether retrying the blocked operation without
                          changing its inputs or state may succeed.
                  reviewAnswer:
                    type: string
                    nullable: true
                    description: Verification review answer when supplied by the verifier.
                  capabilities:
                    type: array
                    minItems: 1
                    items:
                      type: string
                    description: Capability ids that satisfy the failed operation.
                  blockingResources:
                    type: array
                    minItems: 1
                    description: >-
                      Customer resources that must be resolved before the
                      requested operation can proceed, sorted by type and id.
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - type
                        - id
                        - requiredAction
                      properties:
                        type:
                          type: string
                          enum:
                            - account
                            - transfer
                        id:
                          type: string
                          description: Public id of the blocking resource.
                        requiredAction:
                          type: string
                          enum:
                            - archive_account
                            - cancel_transfer
                            - wait_for_transfer
                            - resolve_transfer
                          description: Next action required before retrying the operation.
                oneOf:
                  - type: object
                    additionalProperties: false
                    required:
                      - type
                      - title
                      - status
                      - code
                      - detail
                      - correlationId
                      - retryable
                    properties:
                      type:
                        type: string
                        format: uri
                        enum:
                          - >-
                            https://docs.swipelux.com/errors/verification-collection-mapping-invalid
                        description: Documentation URL for this stable problem code.
                      title:
                        type: string
                        description: Short human-readable problem title.
                      status:
                        type: integer
                        enum:
                          - 503
                        description: HTTP status code.
                      code:
                        type: string
                        enum:
                          - verification_collection_mapping_invalid
                        description: Stable snake_case error code.
                      detail:
                        type: string
                        description: Actionable problem detail for legitimate callers.
                      correlationId:
                        type: string
                        description: Request correlation id. Mirrors `X-Request-Id`.
                      errors:
                        type: array
                        description: Field-level validation errors.
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - pointer
                            - code
                            - message
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer into the request body.
                            code:
                              type: string
                              description: Machine-readable field error code.
                            message:
                              type: string
                              description: Human-readable field error message.
                      retryable:
                        type: boolean
                        enum:
                          - false
                        description: Whether retrying the same request may succeed.
                  - type: object
                    additionalProperties: false
                    required:
                      - type
                      - title
                      - status
                      - code
                      - detail
                      - correlationId
                      - retryable
                    properties:
                      type:
                        type: string
                        format: uri
                        enum:
                          - >-
                            https://docs.swipelux.com/errors/kyc-configuration-unavailable
                        description: Documentation URL for this stable problem code.
                      title:
                        type: string
                        description: Short human-readable problem title.
                      status:
                        type: integer
                        enum:
                          - 503
                        description: HTTP status code.
                      code:
                        type: string
                        enum:
                          - kyc_configuration_unavailable
                        description: Stable snake_case error code.
                      detail:
                        type: string
                        description: Actionable problem detail for legitimate callers.
                      correlationId:
                        type: string
                        description: Request correlation id. Mirrors `X-Request-Id`.
                      errors:
                        type: array
                        description: Field-level validation errors.
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - pointer
                            - code
                            - message
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer into the request body.
                            code:
                              type: string
                              description: Machine-readable field error code.
                            message:
                              type: string
                              description: Human-readable field error message.
                      retryable:
                        type: boolean
                        enum:
                          - false
                        description: Whether retrying the same request may succeed.
                  - type: object
                    additionalProperties: false
                    required:
                      - type
                      - title
                      - status
                      - code
                      - detail
                      - correlationId
                      - retryable
                    properties:
                      type:
                        type: string
                        format: uri
                        enum:
                          - >-
                            https://docs.swipelux.com/errors/kyc-level-configuration-invalid
                        description: Documentation URL for this stable problem code.
                      title:
                        type: string
                        description: Short human-readable problem title.
                      status:
                        type: integer
                        enum:
                          - 503
                        description: HTTP status code.
                      code:
                        type: string
                        enum:
                          - kyc_level_configuration_invalid
                        description: Stable snake_case error code.
                      detail:
                        type: string
                        description: Actionable problem detail for legitimate callers.
                      correlationId:
                        type: string
                        description: Request correlation id. Mirrors `X-Request-Id`.
                      errors:
                        type: array
                        description: Field-level validation errors.
                        items:
                          type: object
                          additionalProperties: false
                          required:
                            - pointer
                            - code
                            - message
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer into the request body.
                            code:
                              type: string
                              description: Machine-readable field error code.
                            message:
                              type: string
                              description: Human-readable field error message.
                      retryable:
                        type: boolean
                        enum:
                          - false
                        description: Whether retrying the same request may succeed.
          headers:
            Cache-Control:
              description: Prevents storage of the verification redirect response.
              schema:
                type: string
                enum:
                  - no-store
            Referrer-Policy:
              description: Prevents the verification URL from leaking in referrers.
              schema:
                type: string
                enum:
                  - no-referrer
            X-Request-Id:
              description: Request correlation identifier.
              schema:
                type: string
      security: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key

````

## Related topics

- [Capabilities and tasks](/integration/onboarding/capabilities-and-requirements.md)
- [KYC status and workflow](/knowledge-base/individual-onboarding/status-and-workflow.md)
- [KYC verification levels](/knowledge-base/individual-onboarding/verification-levels.md)
- [Errors and retries](/integration/errors.md)
- [Get customer task detail](/api-reference/tasks/get-customer-task.md)
