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

# Get Verification Requirements

> Get the user's verification state and ordered required actions. The `user_action_required` field is true only when the user or partner can complete an action now. A `wait` action is non-actionable.



## OpenAPI

````yaml /api-reference/openapi_v3_pws.json get /v1/users/{user_id}/verifications/requirements
openapi: 3.1.0
info:
  title: Payward Services API
  description: >-
    The Payward Services (PWS) public API.


    PWS exposes Swaps (institutional FX-style trading), Conversion rules
    (rule-driven fiat ↔ crypto value movement), retail-style Quotes and Price
    Trigger Swaps, end-user Users / Verifications, Travel Rule address ownership
    verification, Funds (deposits, withdrawals, addresses, transactions),
    Portfolio, Earn, Reports, Webhooks, and Ramp (hosted fiat-to-crypto on-ramp
    checkout).


    All requests must be authenticated. All monetary values are decimal strings;
    all timestamps are ISO 8601 UTC. List endpoints are cursor-paginated. Errors
    follow a uniform shape (see `*ErrorResponse` schemas).
  version: v1
  contact:
    name: Payward Services API Support
    url: https://docs.payward.com
    email: api-support@payward.com
servers:
  - url: https://api.services.payward.com
    description: Production
security:
  - ApiKey: []
    ApiSign: []
    ApiNonce: []
tags:
  - name: Users
    description: >-
      User onboarding and status flows that the partner manages.


      - **Create User** provisions a user with an email and external reference.

      - **Get User** retrieves the user's profile, verification status, and
      required actions.


      Use the returned user `id` for calls that require the user's identifier.
  - name: Assets
    description: >-
      Catalog of assets available on the platform with retail-display metadata
      (logos, market data, descriptions).
  - name: Conversion rules
    x-group: Users
    description: >-
      Rule-driven fiat ↔ crypto value movement, including conversion rules and
      deposits.
  - name: On-demand conversions
    x-group: Users
    description: One-off conversions from an account balance to a wallet destination.
  - name: Earn
    description: >-
      Manage auto-earn preferences and retrieve allocation and reward
      information.
  - name: Funds
    description: >-
      Deposits, withdrawals, addresses, methods, and the consolidated
      funding-transactions ledger.
  - name: Bank Links
    description: >-
      Link US bank accounts to an account through a Kraken-hosted widget, then
      reference them for money movement.


      Two resources model a connection:


      - A **Bank Link** is the connection between one account and one banking
      institution. Create it to get a hosted-widget URL, and send the user there
      to choose their institution and approve access. One account can hold many
      Bank Links.

      - An **Account Link** is one bank account — a checking account, for
      example — that the user shared through that connection. One Bank Link owns
      one or more Account Links. Use `account_link_id` to reference the bank
      account when you move money.


      Both ids are opaque handles. Provider identifiers, access tokens, owner
      names, and raw bank numbers are never exposed.


      Eligibility is evaluated on every read, and ownership must match: the bank
      account's holder must match the account's verified holder. An account that
      fails ownership validation reports `ineligible` with the reason
      `name_mismatch`.


      Unlinking is permanent. Linking the same bank account again creates a new
      Bank Link and a new `account_link_id`; old ids stay valid only for reading
      history.
  - name: Portfolio
    description: End-user portfolio summary, history, and transaction views.
  - name: Price Trigger Swaps
    description: Limit-style orders that execute when a configured price trigger is met.
  - name: On-chain Swaps
    description: >-
      Wallet-funded onchain quote trading for xStock and USDC pairs. On-chain
      quotes settle on-chain through the Payward on-chain proxy contract.
  - name: Ramp
    description: >-
      Hosted fiat-to-crypto on-ramp checkout: country / fiat / payment-method /
      cryptocurrency-asset discovery, transaction limits and prospective quotes,
      and the hosted checkout URL.
  - name: Reports
    description: Settlement and reconciliation reports for the partner.
  - name: Swaps
    description: >-
      Direct partner-to-Payward swap quotes and executions (institutional
      FX-style trading).
  - name: Travel Rule Verifications
    description: Travel Rule address ownership verification flows.
  - name: Verifications
    description: Identity verification (KYC) submission and status for end users.
  - name: Webhooks
    description: Manage webhook subscriptions for asynchronous event delivery.
paths:
  /v1/users/{user_id}/verifications/requirements:
    get:
      tags:
        - Verifications
      summary: Get Verification Requirements
      description: >-
        Get the user's verification state and ordered required actions. The
        `user_action_required` field is true only when the user or partner can
        complete an action now. A `wait` action is non-actionable.
      operationId: getVerificationRequirements
      parameters:
        - $ref: '#/components/parameters/UserIdPath'
      responses:
        '200':
          description: Verification requirements returned.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    oneOf:
                      - $ref: '#/components/schemas/VerificationStatusOk'
                      - $ref: '#/components/schemas/VerificationStatusDisabled'
                      - $ref: '#/components/schemas/VerificationStatusClosed'
                    discriminator:
                      propertyName: state
                      mapping:
                        ok:
                          $ref: '#/components/schemas/VerificationStatusOk'
                        disabled:
                          $ref: '#/components/schemas/VerificationStatusDisabled'
                        closed:
                          $ref: '#/components/schemas/VerificationStatusClosed'
                required:
                  - data
              examples:
                verification-required:
                  summary: User action is required
                  value:
                    data:
                      state: disabled
                      user_action_required: true
                      required_actions:
                        - action_type: verification
                          verification_type: identity
                          reasons:
                            - initial_onboarding
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
        '404':
          description: Verification requirements not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerificationRequirementsNotFoundError'
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceExhaustedError'
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
            Retry-After:
              $ref: '#/components/headers/RetryAfter'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalError'
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableError'
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
        '504':
          description: Deadline exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeadlineExceededError'
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            X-Content-Type-Options:
              $ref: '#/components/headers/XContentTypeOptions'
            Content-Security-Policy:
              $ref: '#/components/headers/ContentSecurityPolicy'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
      security:
        - ApiKey: []
          ApiSign: []
          ApiNonce: []
      x-codeSamples:
        - lang: bash
          label: curl
          source: >-
            curl -X GET
            "https://api.services.payward.com/v1/users/AA45N8G4MLDYWAR7/verifications/requirements"
            \
              -H "API-Key: $PWS_API_KEY" \
              -H "API-Nonce: $PWS_API_NONCE" \
              -H "API-Sign: $PWS_API_SIGN"
components:
  parameters:
    UserIdPath:
      in: path
      name: user_id
      required: true
      description: >-
        ID of the user the request applies to. For partners operating in the
        B2B2C model, this is the Sub-User the request is acting on behalf of.
      schema:
        $ref: '#/components/schemas/UserId'
      example: AA45N8G4MLDYWAR7
  schemas:
    VerificationStatusOk:
      title: Active
      type: object
      additionalProperties: false
      description: The user is active.
      properties:
        state:
          type: string
          enum:
            - ok
        user_action_required:
          type: boolean
          description: Whether the user or partner can complete a required action now.
        required_actions:
          type: array
          description: Ordered actions associated with the current verification state.
          items:
            $ref: '#/components/schemas/VerificationStatusRequiredAction'
      required:
        - state
        - user_action_required
        - required_actions
    VerificationStatusDisabled:
      title: Disabled
      type: object
      additionalProperties: false
      description: The user is disabled.
      properties:
        state:
          type: string
          enum:
            - disabled
        user_action_required:
          type: boolean
          description: Whether the user or partner can complete a required action now.
        required_actions:
          type: array
          description: Ordered actions associated with the current verification state.
          items:
            $ref: '#/components/schemas/VerificationStatusRequiredAction'
      required:
        - state
        - user_action_required
        - required_actions
    VerificationStatusClosed:
      title: Closed
      type: object
      additionalProperties: false
      description: The user is closed.
      properties:
        state:
          type: string
          enum:
            - closed
        user_action_required:
          type: boolean
          description: Whether the user or partner can complete a required action now.
      required:
        - state
        - user_action_required
    BadRequestError:
      description: Request validation failed or the request could not be processed.
      allOf:
        - $ref: '#/components/schemas/PwsValidationErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsValidationError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      enum:
                        - 400
                    code:
                      type: string
                      enum:
                        - bad_request
    UnauthenticatedError:
      description: Authentication credentials are missing, invalid, or not accepted.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      enum:
                        - 401
                    code:
                      type: string
                      enum:
                        - unauthenticated
    ForbiddenError:
      description: The caller is not allowed to perform this operation.
      oneOf:
        - title: Forbidden
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        status:
                          type: integer
                          format: int32
                          enum:
                            - 403
                        code:
                          type: string
                          enum:
                            - forbidden
        - $ref: '#/components/schemas/GatewayError'
    VerificationRequirementsNotFoundError:
      description: The requested user's verification requirements do not exist.
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - verifications_error
            status:
              type: integer
              format: int32
              enum:
                - 404
            instance:
              type: string
            code:
              type: string
              enum:
                - verification_requirements_not_found
            doc_url:
              type: string
              format: uri
            causes:
              type: array
              items:
                $ref: '#/components/schemas/PwsErrorCause'
          required:
            - type
            - status
            - instance
            - code
      required:
        - error
    ResourceExhaustedError:
      description: The request was rate limited or a resource quota was exhausted.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      enum:
                        - 429
                    code:
                      type: string
                      enum:
                        - resource_exhausted
    InternalError:
      description: An unexpected server-side error occurred.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      enum:
                        - 500
                    code:
                      type: string
                      enum:
                        - internal
    UnavailableError:
      description: The service is temporarily unavailable.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      enum:
                        - 503
                    code:
                      type: string
                      enum:
                        - unavailable
    DeadlineExceededError:
      description: The upstream service did not complete the request before the deadline.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      enum:
                        - 504
                    code:
                      type: string
                      enum:
                        - deadline_exceeded
    UserId:
      type: string
      description: Canonical identifier for a user in the Payward public API.
      minLength: 14
      maxLength: 42
    VerificationStatusRequiredAction:
      oneOf:
        - $ref: '#/components/schemas/CompleteVerificationAction'
        - $ref: '#/components/schemas/ProvideVerificationDetailsAction'
        - $ref: '#/components/schemas/WaitForVerificationAction'
      discriminator:
        propertyName: action_type
        mapping:
          verification:
            $ref: '#/components/schemas/CompleteVerificationAction'
          provide_details:
            $ref: '#/components/schemas/ProvideVerificationDetailsAction'
          wait:
            $ref: '#/components/schemas/WaitForVerificationAction'
    PwsValidationErrorEnvelope:
      description: Error envelope for request validation failures.
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/PwsValidationError'
          description: Validation error details.
    PwsValidationError:
      description: Standard PWS API error object for request validation failures.
      type: object
      required:
        - type
        - status
        - instance
        - code
      properties:
        type:
          description: Machine-readable error class.
          type: string
        status:
          description: HTTP status code returned for this error.
          type: integer
          format: int32
        instance:
          description: Request identifier for this specific error occurrence.
          type: string
        code:
          description: Stable machine-readable error code.
          type: string
        doc_url:
          description: Optional link to documentation for this error.
          type: string
          format: uri
        causes:
          description: Validation failures that contributed to the error.
          type: array
          items:
            $ref: '#/components/schemas/PwsErrorCause'
    PwsGeneralErrorEnvelope:
      description: Error envelope for operational or domain failures.
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/PwsGeneralError'
          description: General error details.
    PwsGeneralError:
      description: Standard PWS API error object for non-validation failures.
      allOf:
        - $ref: '#/components/schemas/PwsErrorBase'
        - type: object
          properties:
            causes:
              description: Additional error details, when present.
              type: array
              items:
                type: object
                additionalProperties: true
    GatewayError:
      title: Gateway
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - status
            - code
          properties:
            type:
              type: string
              const: service_error
            status:
              type: integer
              format: int32
              const: 403
            code:
              type: string
              const: gateway
    PwsErrorCause:
      description: A single request validation failure.
      type: object
      required:
        - field
        - message
      properties:
        field:
          description: Dot-notation path to the offending request field.
          type: string
        message:
          description: Human-readable explanation of the failed validation rule.
          type: string
    CompleteVerificationAction:
      title: Complete verification
      type: object
      additionalProperties: false
      description: A verification the user must complete.
      properties:
        action_type:
          type: string
          enum:
            - verification
        verification_type:
          $ref: '#/components/schemas/RequiredVerificationType'
        reasons:
          type: array
          description: Reason codes for the required verification.
          items:
            $ref: '#/components/schemas/RequiredVerificationReason'
        deadline:
          type: string
          format: date-time
          description: Deadline for completing the verification.
      required:
        - action_type
        - verification_type
    ProvideVerificationDetailsAction:
      title: Provide details
      type: object
      additionalProperties: false
      description: Details the user must provide.
      properties:
        action_type:
          type: string
          enum:
            - provide_details
        details_type:
          $ref: '#/components/schemas/RequiredDetailsType'
        reason:
          $ref: '#/components/schemas/ProvideDetailsReason'
          description: Reason code for the required details.
        deadline:
          type: string
          format: date-time
          description: Deadline for providing the details.
      required:
        - action_type
        - details_type
    WaitForVerificationAction:
      title: Wait
      type: object
      additionalProperties: false
      description: No user or partner action is required while Payward completes a check.
      properties:
        action_type:
          type: string
          enum:
            - wait
        wait_reason_code:
          $ref: '#/components/schemas/WaitReason'
          description: Reason code for the wait.
      required:
        - action_type
        - wait_reason_code
    PwsErrorBase:
      description: Common fields present on every PWS API error object.
      type: object
      required:
        - type
        - status
        - instance
        - code
      properties:
        type:
          description: Machine-readable error class.
          type: string
        status:
          description: HTTP status code returned for this error.
          type: integer
          format: int32
        instance:
          description: Request identifier for this specific error occurrence.
          type: string
        code:
          description: Stable machine-readable error code.
          type: string
        doc_url:
          description: Optional link to documentation for this error.
          type: string
          format: uri
    RequiredVerificationType:
      type: string
      description: Stable reference for the next verification flow.
      enum:
        - identity
        - residence
        - selfie
        - sanctions_check
        - pep_check
        - negative_news_check
        - tax_id
    RequiredVerificationReason:
      type: string
      description: Reason that a verification is required.
      enum:
        - initial_onboarding
    RequiredDetailsType:
      description: Details the user or partner must provide.
      oneOf:
        - $ref: '#/components/schemas/TermsOfServiceRequiredDetails'
        - $ref: '#/components/schemas/FullNameRequiredDetails'
        - $ref: '#/components/schemas/DateOfBirthRequiredDetails'
        - $ref: '#/components/schemas/CityOfBirthRequiredDetails'
        - $ref: '#/components/schemas/CountryOfBirthRequiredDetails'
        - $ref: '#/components/schemas/NationalitiesRequiredDetails'
        - $ref: '#/components/schemas/ResidenceRequiredDetails'
        - $ref: '#/components/schemas/PhoneRequiredDetails'
        - $ref: '#/components/schemas/OccupationRequiredDetails'
        - $ref: '#/components/schemas/TaxIdsRequiredDetails'
        - $ref: '#/components/schemas/EmployerRequiredDetails'
        - $ref: '#/components/schemas/ClientIdentifierRequiredDetails'
        - $ref: '#/components/schemas/GreekDssInvestorIdRequiredDetails'
      discriminator:
        propertyName: type
        mapping:
          terms_of_service:
            $ref: '#/components/schemas/TermsOfServiceRequiredDetails'
          full_name:
            $ref: '#/components/schemas/FullNameRequiredDetails'
          date_of_birth:
            $ref: '#/components/schemas/DateOfBirthRequiredDetails'
          city_of_birth:
            $ref: '#/components/schemas/CityOfBirthRequiredDetails'
          country_of_birth:
            $ref: '#/components/schemas/CountryOfBirthRequiredDetails'
          nationalities:
            $ref: '#/components/schemas/NationalitiesRequiredDetails'
          residence:
            $ref: '#/components/schemas/ResidenceRequiredDetails'
          phone:
            $ref: '#/components/schemas/PhoneRequiredDetails'
          occupation:
            $ref: '#/components/schemas/OccupationRequiredDetails'
          tax_ids:
            $ref: '#/components/schemas/TaxIdsRequiredDetails'
          employer:
            $ref: '#/components/schemas/EmployerRequiredDetails'
          client_identifier:
            $ref: '#/components/schemas/ClientIdentifierRequiredDetails'
          greek_dss_investor_id:
            $ref: '#/components/schemas/GreekDssInvestorIdRequiredDetails'
    ProvideDetailsReason:
      type: string
      description: Reason that additional details are required.
      enum:
        - initial_onboarding
    WaitReason:
      type: string
      description: Reason that no user or partner action is currently required.
      enum:
        - processing
        - pending
        - blocked
    TermsOfServiceRequiredDetails:
      title: Terms of service
      type: object
      additionalProperties: false
      description: Terms of service that the user must accept.
      properties:
        type:
          type: string
          enum:
            - terms_of_service
        version:
          type: integer
          format: int32
          minimum: 1
          description: Required terms of service version.
      required:
        - type
        - version
    FullNameRequiredDetails:
      title: Full name
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - full_name
      required:
        - type
    DateOfBirthRequiredDetails:
      title: Date of birth
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - date_of_birth
      required:
        - type
    CityOfBirthRequiredDetails:
      title: City of birth
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - city_of_birth
      required:
        - type
    CountryOfBirthRequiredDetails:
      title: Country of birth
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - country_of_birth
      required:
        - type
    NationalitiesRequiredDetails:
      title: Nationalities
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - nationalities
      required:
        - type
    ResidenceRequiredDetails:
      title: Residence
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - residence
      required:
        - type
    PhoneRequiredDetails:
      title: Phone
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - phone
      required:
        - type
    OccupationRequiredDetails:
      title: Occupation
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - occupation
      required:
        - type
    TaxIdsRequiredDetails:
      title: Tax IDs
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - tax_ids
      required:
        - type
    EmployerRequiredDetails:
      title: Employer
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - employer
      required:
        - type
    ClientIdentifierRequiredDetails:
      title: Client identifier
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - client_identifier
      required:
        - type
    GreekDssInvestorIdRequiredDetails:
      title: Greek DSS investor ID
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - greek_dss_investor_id
      required:
        - type
  headers:
    RequestId:
      description: >-
        Unique identifier for tracing this request across services. Include in
        support tickets.
      schema:
        type: string
        format: uuid
        example: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
    RateLimitLimit:
      description: Total requests allowed in the current window.
      schema:
        type: integer
        example: 1000
    RateLimitRemaining:
      description: Requests remaining in the current window.
      schema:
        type: integer
        example: 955
    RateLimitReset:
      description: Unix timestamp (seconds) when the rate-limit window resets.
      schema:
        type: integer
        format: int64
        example: 1713182400
    StrictTransportSecurity:
      description: >-
        Enforces HTTPS for the configured period. Always `max-age=63072000;
        includeSubDomains; preload`.
      schema:
        type: string
        example: max-age=63072000; includeSubDomains; preload
    XContentTypeOptions:
      description: Disables MIME sniffing. Always `nosniff`.
      schema:
        type: string
        enum:
          - nosniff
        example: nosniff
    ContentSecurityPolicy:
      description: >-
        Prevents embedding and resource loading. Always `default-src 'none';
        frame-ancestors 'none'`.
      schema:
        type: string
        example: default-src 'none'; frame-ancestors 'none'
    CacheControl:
      description: Prevents caching of sensitive financial data. Always `no-store`.
      schema:
        type: string
        enum:
          - no-store
        example: no-store
    RetryAfter:
      description: Seconds the client should wait before retrying.
      schema:
        type: integer
        example: 30
  securitySchemes:
    ApiKey:
      type: apiKey
      name: API-Key
      in: header
      description: Your public API key. Identifies the partner making the request.
    ApiSign:
      type: apiKey
      name: API-Sign
      in: header
      description: HMAC signature over the request, computed with your private key.
    ApiNonce:
      type: apiKey
      name: API-Nonce
      in: header
      description: Monotonically increasing nonce included in the request signature.

````