openapi: 3.1.2
info:
  version: 1.11.0
  description: "# Authorization\n Authorization is implemented with Auth headers. "
  title: FINCI REST API Cards
servers:
- url: https://agents-api-sit.finci.com:5500/
tags:
- name: Person
- name: Corporate
- name: Employee
- name: Account
- name: Card
- name: Status
- name: Exchange
paths:
  /v1/set-exchange-rate:
    post:
      tags:
      - Exchange
      summary: Set currency exchange rates
      description: Creates or updates the currency exchange rates configured for the integration.
      operationId: set-exchange-rate
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetExchangeRate'
      responses:
        '200':
          description: Set exchange rate
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/calc-currency-exchange:
    post:
      tags:
      - Exchange
      summary: Calculating currency exchange rate
      description: Calculates currency exchange values for the submitted amount and currency pair using
        the configured exchange setup.
      operationId: calc-currency-exchange
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalcCurrencyExchange'
      responses:
        '200':
          description: Calc currency exchange
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CalcCurrencyExchangeResponse'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/create-client:
    post:
      tags:
      - Person
      summary: Create a client
      description: Creates a private-person record together with its initial account information.
      operationId: create-client
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateClientRequest'
      responses:
        '200':
          description: Client created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_1'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/update-client/{person_id}:
    put:
      tags:
      - Person
      summary: Update client account
      description: Updates the stored details for an existing person record identified by `person_id`.
      operationId: update-client
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateClientRequest'
      responses:
        '200':
          description: Client updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_1'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-client/{person_id}:
    get:
      tags:
      - Person
      summary: Get client account
      description: Returns the stored details for the person identified by `person_id`.
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: person_id
        in: path
        description: Person ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      responses:
        '200':
          description: Client info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetClientResponse'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/create-corporate:
    post:
      tags:
      - Corporate
      summary: Create a corporate account
      description: Creates a corporate record together with its initial company account information.
      operationId: create-corporate
      parameters:
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCorporateRequest'
      responses:
        '200':
          description: Corporate created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_2'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/update-corporate/{corporate_id}:
    put:
      tags:
      - Corporate
      summary: Update corporate account
      description: Updates the stored details for an existing corporate record identified by `corporate_id`.
      operationId: update-corporate
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: corporate_id
        in: path
        description: Corporate ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCorporateRequest'
      responses:
        '200':
          description: Corporate updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_2'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-corporate/{corporate_id}:
    get:
      tags:
      - Corporate
      summary: Get corporate account
      description: Returns the stored details for the corporate identified by `corporate_id`.
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: corporate_id
        in: path
        description: Corporate ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      responses:
        '200':
          description: Corporate info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCorporateResponse'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/create-employee:
    post:
      tags:
      - Employee
      summary: Create employee
      description: Creates an employee record linked to the specified corporate.
      operationId: create-employee
      parameters:
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateEmployeeRequest'
      responses:
        '200':
          description: Employee created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_3'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/update-employee/{employee_id}:
    put:
      tags:
      - Employee
      summary: Update employee
      description: Updates the stored details for an existing employee record identified by `employee_id`.
      operationId: update-employee
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: employee_id
        in: path
        description: Employee ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateEmployeeRequest'
      responses:
        '200':
          description: Employee updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_3'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-employee/{employee_id}:
    get:
      tags:
      - Employee
      summary: Get employee
      description: Returns the stored details for the employee identified by `employee_id`.
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: employee_id
        in: path
        description: Employee ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      responses:
        '200':
          description: Employee info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEmployeeResponse'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/create-account:
    post:
      tags:
      - Account
      summary: Create an account
      description: Creates an account record owned by the specified private person or corporate.
      operationId: create-account
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAccountRequest'
      responses:
        '200':
          description: Account created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-accounts:
    post:
      tags:
      - Account
      summary: Get accounts list
      description: Returns the list of accounts that match the submitted filter criteria.
      operationId: get-accounts
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAccountListRequest'
      responses:
        '200':
          description: Accounts list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountListResponse'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/update-account-balance:
    post:
      tags:
      - Account
      summary: Update account balance
      description: Updates the recorded balance for the specified private-person or corporate account.
      operationId: update-account-balance
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAccountBalanceRequest'
      responses:
        '200':
          description: Account balance updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/create-card:
    post:
      tags:
      - Card
      summary: Create a card
      description: Creates a card for the specified private person or employee and returns the FINCI token
        identifier.
      operationId: create-card
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCardRequest'
      responses:
        '200':
          description: Card created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_4'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/update-card-status/{token_id}:
    patch:
      tags:
      - Card
      summary: Update card status
      description: Updates the current card status for the specified token, such as activating, blocking,
        or closing the card.
      operationId: update-card-status
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCardStatusRequest'
      responses:
        '200':
          description: Card status updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_4'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-card/{token_id}:
    get:
      tags:
      - Card
      summary: Get card
      description: Returns the current card details and configuration for the specified token.
      operationId: get-card
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      responses:
        '200':
          description: Card information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCardResponse'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-card-cvc2/{token_id}:
    get:
      tags:
      - Card
      summary: Get card CVC2
      description: Returns the encrypted CVC2 value for the specified card token.
      operationId: get-card-cvc2
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      responses:
        '200':
          description: Card CVC2
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_5'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-card-pin/{token_id}:
    get:
      tags:
      - Card
      summary: Get card PIN
      description: Returns the encrypted PIN value for the specified card token.
      operationId: get-card-pin
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      responses:
        '200':
          description: Card PIN
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_6'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/update-card-pin/{token_id}:
    patch:
      tags:
      - Card
      summary: Update card PIN
      description: Changes the PIN for the specified card token.
      operationId: update-card-pin
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCardPinRequest'
      responses:
        '200':
          description: Card PIN updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_4'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/update-card-stage/{token_id}:
    patch:
      tags:
      - Card
      summary: Update card lifecycle stage
      description: Updates the physical-card fulfillment stage recorded for the specified card token.
      operationId: update-card-stage
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCardStageRequest'
      responses:
        '200':
          description: Card stage updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_4'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-card-limits/{token_id}:
    get:
      tags:
      - Card
      summary: Get card limits
      description: Returns the configured card limits for the specified token.
      operationId: get-card-limits
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      responses:
        '200':
          description: Card limits
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCardLimitsResponse'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/update-card-limit/{token_id}:
    post:
      tags:
      - Card
      summary: Update single card limit
      description: Updates a single configured card limit for the specified token.
      operationId: update-card-limit
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCardLimitRequest'
      responses:
        '200':
          description: Single limit updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_4'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/tmp-disable-card-limits/{token_id}:
    patch:
      tags:
      - Card
      summary: Temporary disable card limits for single transaction
      description: Temporarily bypasses card limits for a single transaction on the specified token.
      operationId: tmp-disable-card-limits
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      - name: token_id
        in: path
        description: Card token ID
        required: true
        schema:
          type: string
          format: number
          maxLength: 20
          minLength: 20
      responses:
        '200':
          description: Card limits temporary disabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_4'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/get-cards:
    post:
      tags:
      - Card
      summary: Get cards list
      description: Returns the list of cards that match the submitted filter criteria.
      operationId: get-cards
      parameters:
      - name: X-Auth-Token
        in: header
        description: Partner Token
        required: true
        schema:
          type: string
      - name: X-Auth-Signature
        in: header
        description: Signature of the request body
        required: true
        schema:
          type: string
      - name: X-Auth-Timestamp
        in: header
        description: Request timestamp (Unix Epoch in UTC).
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAccountListRequest'
      responses:
        '200':
          description: Cards list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCardListResponse'
        '400':
          $ref: '#/components/responses/BadRequestResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/ForbiddenResponse'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
  /v1/status:
    get:
      tags:
      - Status
      summary: Get API status
      description: Returns the current health status of the Card API service.
      operationId: get-status
      responses:
        '200':
          description: API status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/inline_response_200_7'
        '500':
          $ref: '#/components/responses/InternalServerErrorResponse'
components:
  schemas:
    CreateClientRequest:
      type: object
      required:
      - account
      - birth_date
      - external_id
      - first_name
      - gender
      - last_name
      - mail_address
      - mobile_phone
      - person_type
      - reg_address
      - residence_country_code
      properties:
        external_id:
          type: string
          description: External ID. Must be unique for every person.
          minLength: 1
          maxLength: 50
        person_type:
          type: string
          description: Person Type
          enum:
          - basic
          - premium
        last_name:
          type: string
          description: Last name. Allowed case-insensitive characters.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        first_name:
          type: string
          description: First name. Allowed case-insensitive characters.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        gender:
          type: string
          description: Gender, M - male, F - Female, N - Not specified
          enum:
          - M
          - F
          - N
        birth_date:
          type: string
          description: Birth date, YYYY-MM-DD format, for example "1990-12-14"
        mobile_phone:
          type: string
          description: Mobile phone number in E.164 format using plus sign followed by 8 to 15 digits.
          minLength: 9
          maxLength: 16
          pattern: ^\+[1-9][0-9]{7,14}$
        email:
          type: string
          description: Email
        residence_country_code:
          $ref: '#/components/schemas/CountryCode'
        mail_address:
          $ref: '#/components/schemas/MailAddress'
        reg_address:
          $ref: '#/components/schemas/RegAddress'
        account:
          $ref: '#/components/schemas/ClientAccount'
    UpdateClientRequest:
      type: object
      required:
      - birth_date
      - first_name
      - gender
      - last_name
      - mail_address
      - mobile_phone
      - reg_address
      - residence_country_code
      properties:
        last_name:
          type: string
          description: Last name. Allowed case-insensitive characters.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        first_name:
          type: string
          description: First name. Allowed case-insensitive characters.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        gender:
          type: string
          description: Gender, M - male, F - Female, N - Not specified
          enum:
          - M
          - F
          - N
        birth_date:
          type: string
          description: Birth date, YYYY-MM-DD format, for example "1990-12-14"
        mobile_phone:
          type: string
          description: Mobile phone number in E.164 format using plus sign followed by 8 to 15 digits.
          minLength: 9
          maxLength: 16
          pattern: ^\+[1-9][0-9]{7,14}$
        email:
          type: string
          description: Email
        residence_country_code:
          $ref: '#/components/schemas/CountryCode'
        mail_address:
          $ref: '#/components/schemas/MailAddress'
        reg_address:
          $ref: '#/components/schemas/RegAddress'
    GetClientResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        person_id:
          type: string
          format: number
          example: '10011000000000000001'
          description: Person ID
          minLength: 20
          maxLength: 20
        person_type:
          type: string
          description: Person Type
          enum:
          - default
        last_name:
          type: string
          description: Last name
          maxLength: 100
        first_name:
          type: string
          description: First name
          maxLength: 100
        gender:
          type: string
          description: Gender, M - male, F - Female, N - Not specified
          enum:
          - M
          - F
          - N
        birth_date:
          type: string
          description: Birth date
        mobile_phone:
          type: string
          description: Mobile phone number.
        email:
          type: string
          description: Email
        residence_country_code:
          $ref: '#/components/schemas/CountryCode'
        mail_address:
          $ref: '#/components/schemas/MailAddress'
        reg_address:
          $ref: '#/components/schemas/RegAddress'
    CreateAccountRequest:
      type: object
      properties:
        person_id:
          type: string
          format: number
          example: '10011000000000000001'
          description: Person ID. Must be filled if account owner is a private person
          minLength: 20
          maxLength: 20
        corporate_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Corporate ID. Must be filled if account owner is a corporate.
          minLength: 20
          maxLength: 20
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        external_number:
          type: string
          description: External Number. Must be unique for every account. Digits only, 6 to 20 characters.
          minLength: 6
          maxLength: 20
          pattern: ^[0-9]{6,20}$
    UpdateAccountBalanceRequest:
      type: object
      properties:
        person_id:
          type: string
          format: number
          example: '10011000000000000001'
          description: Person ID. Must be filled if account owner is a private person
          minLength: 20
          maxLength: 20
        corporate_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Corporate ID. Must be filled if account owner is a corporate.
          minLength: 20
          maxLength: 20
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        balance:
          type: number
          format: double
          description: Balance on account
          minimum: 0
          maximum: 9999999999.99
    GetAccountListRequest:
      type: object
      properties:
        person_id:
          type: string
          format: number
          example: '10011000000000000001'
          description: Person ID. Must be filled if account owner is a private person
          minLength: 20
          maxLength: 20
        corporate_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Corporate ID. Must be filled if account owner is a corporate.
          minLength: 20
          maxLength: 20
    GetAccountListResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        items:
          type: array
          description: List of accounts
          items:
            $ref: '#/components/schemas/Account'
        total:
          type: integer
          format: int64
          description: Total number of accounts
    CreateCardRequest:
      type: object
      required:
      - delivery_address
      - embossing_name
      - expiration_date
      - express_delivery
      - token_stage
      - token_status
      properties:
        person_id:
          type: string
          format: number
          example: '10011000000000000001'
          description: Person ID. Must be filled if card owner is a private person
          minLength: 20
          maxLength: 20
        employee_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Employee ID. Must be filled if card owner is a employee.
          minLength: 20
          maxLength: 20
        embossing_name:
          type: string
          description: Embossing name. Allowed case-insensitive characters; a single space " " is valid.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        expiration_date:
          type: string
          description: Card expiration date, YYYY-MM, 2026-03
          minLength: 7
          maxLength: 7
        product_id:
          type: integer
          format: int64
          description: Client or Company product ID. A list of IDs will be provided separately.
        delivery_address:
          $ref: '#/components/schemas/DeliveryAddress'
        express_delivery:
          type: string
          enum:
          - 'true'
          - 'false'
        token_status:
          type: string
          description: Token status
          maxLength: 30
          enum:
          - new
          - active
        token_stage:
          type: string
          description: Card life cycle stage. digital is digital issuance; plastic_not_delivered orders
            the physical card with delivery pending. Ordering does not change token_status.
          maxLength: 30
          enum:
          - digital
          - plastic_not_delivered
    GetCardResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        token_id:
          type: string
          format: number
          description: Card token ID
          minLength: 20
          maxLength: 20
        embossing_name:
          type: string
          description: Embossing name. Allowed case-insensitive characters; a single space " " is valid.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        card_number:
          type: string
          description: Card number. XXXX-XXXX-XXXX-XXXX
        expiration_date:
          type: string
          description: Card expiration date, YYYY-MM, 2026-03
          minLength: 7
          maxLength: 7
        delivery_address:
          $ref: '#/components/schemas/DeliveryAddress'
        express_delivery:
          type: string
          enum:
          - 'true'
          - 'false'
        token_status:
          type: string
          description: Token status. new - card is not activated, active - card is active, blocked - card
            is blocked, closed - card is closed, compromized - card is compromised, damaged - card is
            damaged, deactivated - card is temporary deactivated by the client, lost - card is lost, referral
            - contact of the client with the issuer is required, stolen - card is stolen closed, compromized,
            damaged, lost and stolen are permanent and cannot be changed back to active. deactivated is
            a temporary pause; blocked requires the supported unblock process.
          maxLength: 30
          enum:
          - new
          - active
          - blocked
          - closed
          - compromized
          - damaged
          - deactivated
          - lost
          - referral
          - stolen
        token_stage:
          type: string
          description: Card life cycle stage
          maxLength: 30
          enum:
          - digital
          - plastic_not_delivered
          - plastic_delivered
    GetCardListResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        items:
          type: array
          description: List of cards
          items:
            $ref: '#/components/schemas/Card'
        total:
          type: integer
          format: int64
          description: Total number of cards
    UpdateCardStatusRequest:
      type: object
      required:
      - token_status
      properties:
        token_status:
          type: string
          description: Token status. active - card is active, blocked - card is blocked, closed - card
            is closed, compromized - card is compromised, damaged - card is damaged, deactivated - card
            is temporary deactivated by the client, lost - card is lost, referral - contact of the client
            with the issuer is required, stolen - card is stolen closed, compromized, damaged, lost and
            stolen are permanent and cannot be changed back to active. deactivated is a temporary pause;
            blocked requires the supported unblock process.
          maxLength: 30
          enum:
          - active
          - blocked
          - closed
          - compromized
          - damaged
          - deactivated
          - lost
          - referral
          - stolen
    UpdateCardStageRequest:
      type: object
      required:
      - token_stage
      properties:
        token_stage:
          type: string
          description: Card life cycle stage. digital is digital issuance; plastic_not_delivered orders
            the physical card with delivery pending. Ordering does not change token_status.
          maxLength: 30
          enum:
          - digital
          - plastic_not_delivered
    GetCardLimitsResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        items:
          type: array
          description: List of card limits
          items:
            $ref: '#/components/schemas/CardLimit'
        total:
          type: integer
          format: int64
          description: Total number of limits
    UpdateCardLimitRequest:
      type: object
      properties:
        limit_type:
          type: string
          description: Limit type. ATMDaily - ATM withdrawal daily limit, ATMDisable - ATM cash withdrawal
            on/off, ATMMonthly - ATM withdrawal monthly limit, ContactlessDisable - contactless purchases
            on/off, EcommDaily - Online purchases daily limit, EcommDisable - Ecomm online purchases on/off,
            EcommMonthly - Online purchases monthly limit, EuropeEnable - Location restriction EUROPE,
            POSDaily - POS purchases daily limit, POSMonthly - POS purchases monthly limit, CardCumulative
            - overall card cumulative limit without a time window
          enum:
          - ATMDaily
          - ATMMonthly
          - ATMDisable
          - ContactlessDisable
          - EcommDaily
          - EcommMonthly
          - EcommDisable
          - EuropeEnable
          - POSDaily
          - POSMonthly
          - CardCumulative
        enabled:
          type: boolean
          description: Enable / disable limit. true - limit enabled, false  - limit disabled
        used_value:
          type: number
          format: double
          description: Current value (if applicable)
          minimum: 0
          maximum: 9999999999.99
        max_value:
          type: number
          format: double
          description: Maximum value (if applicable)
          minimum: 0
          maximum: 9999999999.99
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
    UpdateCardPinRequest:
      type: object
      required:
      - pin
      properties:
        oldpin:
          type: string
          description: Old card PIN - encrypted
        pin:
          type: string
          description: Card PIN - encrypted
    CreateCorporateRequest:
      type: object
      required:
      - account
      - external_id
      - title
      properties:
        external_id:
          type: string
          description: External ID. Must be unique for every corporate.
          minLength: 1
          maxLength: 50
        title:
          type: string
          description: Corporate title. Allowed case-insensitive characters.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        account:
          $ref: '#/components/schemas/CompanyAccount'
    UpdateCorporateRequest:
      type: object
      required:
      - title
      properties:
        title:
          type: string
          description: Corporate title. Allowed case-insensitive characters.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
    GetCorporateResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        corporate_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Corporate ID
          minLength: 20
          maxLength: 20
        title:
          type: string
          description: Corporate title
          maxLength: 100
    CreateEmployeeRequest:
      type: object
      required:
      - corporate_id
      - external_id
      - first_name
      - home_address
      - last_name
      - mobile_phone
      - residence_country_code
      properties:
        corporate_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Corporate ID
          minLength: 20
          maxLength: 20
        external_id:
          type: string
          description: External ID. Must be unique for every employee.
          minLength: 1
          maxLength: 50
        residence_country_code:
          $ref: '#/components/schemas/CountryCode'
        last_name:
          type: string
          description: Last name
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        first_name:
          type: string
          description: First name
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        mobile_phone:
          type: string
          description: Mobile phone number in E.164 format using plus sign followed by 8 to 15 digits.
          minLength: 9
          maxLength: 16
          pattern: ^\+[1-9][0-9]{7,14}$
        email:
          type: string
          description: Email
        home_address:
          $ref: '#/components/schemas/HomeAddress'
    UpdateEmployeeRequest:
      type: object
      required:
      - corporate_id
      - external_id
      - first_name
      - home_address
      - last_name
      - mobile_phone
      - residence_country_code
      properties:
        corporate_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Corporate ID
          minLength: 20
          maxLength: 20
        external_id:
          type: string
          description: External ID. Must be unique for every employee.
          minLength: 1
          maxLength: 50
        residence_country_code:
          $ref: '#/components/schemas/CountryCode'
        last_name:
          type: string
          description: Last name
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        first_name:
          type: string
          description: First name
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        mobile_phone:
          type: string
          description: Mobile phone number in E.164 format using plus sign followed by 8 to 15 digits.
          minLength: 9
          maxLength: 16
          pattern: ^\+[1-9][0-9]{7,14}$
        email:
          type: string
          description: Email
        home_address:
          $ref: '#/components/schemas/HomeAddress'
    GetEmployeeResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        employee_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Employee ID
          minLength: 20
          maxLength: 20
        corporate_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Corporate ID
          minLength: 20
          maxLength: 20
        residence_country_code:
          $ref: '#/components/schemas/CountryCode'
        mobile_phone:
          type: string
          description: Mobile phone number.
        email:
          type: string
          description: Email
        last_name:
          type: string
          description: Last name
          maxLength: 100
        first_name:
          type: string
          description: First name
          maxLength: 100
        home_address:
          $ref: '#/components/schemas/HomeAddress'
    Account:
      type: object
      properties:
        external_number:
          type: string
          description: External Number. Must be unique for every account. Digits only, 6 to 20 characters.
          minLength: 6
          maxLength: 20
          pattern: ^[0-9]{6,20}$
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        balance:
          type: number
          format: double
          description: Balance on account
          minimum: 0
          maximum: 9999999999.99
        balance_hold:
          type: number
          format: double
          description: Hold balance on account
          minimum: 0
          maximum: 9999999999.99
    Card:
      type: object
      properties:
        token_id:
          type: string
          format: number
          description: Card token ID
          minLength: 20
          maxLength: 20
        embossing_name:
          type: string
          description: Embossing name. Allowed case-insensitive characters; a single space " " is valid.
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        card_number:
          type: string
          description: Masked card number. XXXX-XX**-****-XXXX
        expiration_date:
          type: string
          description: Card expiration date, YYYY-MM, 2026-03
          minLength: 7
          maxLength: 7
        product_id:
          type: integer
          format: int64
          description: Client or Company product ID.
    Error:
      type: string
      description: Error codes list
    MailAddress:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/CountryCode'
        city:
          type: string
          description: City
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        zip:
          type: string
          description: Zip
          minLength: 1
          maxLength: 20
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        address:
          type: string
          description: Address line 1
          minLength: 1
          maxLength: 150
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        address2:
          type: string
          description: Address line 2
          maxLength: 150
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
      description: Mailing address
    HomeAddress:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/CountryCode'
        city:
          type: string
          description: City
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        zip:
          type: string
          description: Zip
          minLength: 1
          maxLength: 20
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        address:
          type: string
          description: Address line 1
          minLength: 1
          maxLength: 150
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        address2:
          type: string
          description: Address line 2
          maxLength: 150
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
      description: Home address
    RegAddress:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/CountryCode'
        city:
          type: string
          description: City
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        zip:
          type: string
          description: Zip
          minLength: 1
          maxLength: 20
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        address:
          type: string
          description: Address line 1
          minLength: 1
          maxLength: 150
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        address2:
          type: string
          description: Address line 2
          maxLength: 150
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
      description: Registration address
    DeliveryAddress:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/CountryCode'
        city:
          type: string
          description: City
          minLength: 1
          maxLength: 100
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        zip:
          type: string
          description: Zip
          minLength: 1
          maxLength: 20
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        address:
          type: string
          description: Address line 1
          minLength: 1
          maxLength: 150
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
        address2:
          type: string
          description: Address line 2
          maxLength: 150
          pattern: ^[A-Za-z0-9æäåáéíøöóõšüúžàèìòùâêîôûãñëïÿėçćńśźāēīōūąęįųčģķļņŗỳǹẁýǵḱĺḿṕŕẃŷĉĝĥĵŝŵẑẽĩũỹṽḧẅẍẗẘẙȳḡăĕĭŏŭğǫǎěǐǒǔďǧȟǰǩľňřťȩḑđḩşţőűůǖǘǚǜ'\-/.,&
            ]+$
      description: Card delivery address
    ClientAccount:
      type: object
      properties:
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        external_number:
          type: string
          description: External Number. Must be unique for every account. Digits only, 6 to 20 characters.
          minLength: 6
          maxLength: 20
          pattern: ^[0-9]{6,20}$
      description: Account information
    CompanyAccount:
      type: object
      properties:
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        external_number:
          type: string
          description: External Number. Must be unique for every corporate. Digits only, 6 to 20 characters.
          minLength: 6
          maxLength: 20
          pattern: ^[0-9]{6,20}$
      description: Account information
    CardLimit:
      type: object
      properties:
        limit_type:
          type: string
          description: Limit type. ATMDaily - ATM withdrawal daily limit, ATMDisable - ATM cash withdrawal
            on/off, ATMMonthly - ATM withdrawal monthly limit, ContactlessDisable - contactless purchases
            on/off, EcommDaily - Online purchases daily limit, EcommDisable - Ecomm online purchases on/off,
            EcommMonthly - Online purchases monthly limit, EuropeEnable - Location restriction EUROPE,
            POSDaily - POS purchases daily limit, POSMonthly - POS purchases monthly limit, CardCumulative
            - overall card cumulative limit without a time window
          enum:
          - ATMDaily
          - ATMMonthly
          - ATMDisable
          - ContactlessDisable
          - EcommDaily
          - EcommMonthly
          - EcommDisable
          - EuropeEnable
          - POSDaily
          - POSMonthly
          - CardCumulative
        enabled:
          type: boolean
          description: true - limit enabled, false  - limit disabled
        used_value:
          type: number
          format: double
          description: Current value (if applicable)
          minimum: 0
          maximum: 9999999999.99
        max_value:
          type: number
          format: double
          description: Maximum value
          minimum: 0
          maximum: 9999999999.99
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
    CountryCode:
      type: string
      title: Country code in ISO 3166-1 Alpha-3 code standard.
      enum:
      - ABW
      - AFG
      - AGO
      - AIA
      - ALA
      - ALB
      - AND
      - ARE
      - ARG
      - ARM
      - ASM
      - ATA
      - ATF
      - ATG
      - AUS
      - AUT
      - AZE
      - BDI
      - BEL
      - BEN
      - BES
      - BFA
      - BGD
      - BGR
      - BHR
      - BHS
      - BIH
      - BLM
      - BLR
      - BLZ
      - BMU
      - BOL
      - BRA
      - BRB
      - BRN
      - BTN
      - BVT
      - BWA
      - CAF
      - CAN
      - CCK
      - CHE
      - CHL
      - CHN
      - CIV
      - CMR
      - COD
      - COG
      - COK
      - COL
      - COM
      - CPV
      - CRI
      - CUB
      - CUW
      - CXR
      - CYM
      - CYP
      - CZE
      - DEU
      - DJI
      - DMA
      - DNK
      - DOM
      - DZA
      - ECU
      - EGY
      - ERI
      - ESH
      - ESP
      - EST
      - ETH
      - FIN
      - FJI
      - FLK
      - FRA
      - FRO
      - FSM
      - GAB
      - GBR
      - GEO
      - GGY
      - GHA
      - GIB
      - GIN
      - GLP
      - GMB
      - GNB
      - GNQ
      - GRC
      - GRD
      - GRL
      - GTM
      - GUF
      - GUM
      - GUY
      - HKG
      - HMD
      - HND
      - HRV
      - HTI
      - HUN
      - IDN
      - IMN
      - IND
      - IOT
      - IRL
      - IRN
      - IRQ
      - ISL
      - ISR
      - ITA
      - JAM
      - JEY
      - JOR
      - JPN
      - KAZ
      - KEN
      - KGZ
      - KHM
      - KIR
      - KNA
      - KOR
      - KWT
      - LAO
      - LBN
      - LBR
      - LBY
      - LCA
      - LIE
      - LKA
      - LSO
      - LTU
      - LUX
      - LVA
      - MAC
      - MAF
      - MAR
      - MCO
      - MDA
      - MDG
      - MDV
      - MEX
      - MHL
      - MKD
      - MLI
      - MLT
      - MMR
      - MNE
      - MNG
      - MNP
      - MOZ
      - MRT
      - MSR
      - MTQ
      - MUS
      - MWI
      - MYS
      - MYT
      - NAM
      - NCL
      - NER
      - NFK
      - NGA
      - NIC
      - NIU
      - NLD
      - NOR
      - NPL
      - NRU
      - NZL
      - OMN
      - PAK
      - PAN
      - PCN
      - PER
      - PHL
      - PLW
      - PNG
      - POL
      - PRI
      - PRK
      - PRT
      - PRY
      - PSE
      - PYF
      - QAT
      - REU
      - ROU
      - RUS
      - RWA
      - SAU
      - SDN
      - SEN
      - SGP
      - SGS
      - SHN
      - SJM
      - SLB
      - SLE
      - SLV
      - SMR
      - SOM
      - SPM
      - SRB
      - SSD
      - STP
      - SUR
      - SVK
      - SVN
      - SWE
      - SWZ
      - SXM
      - SYC
      - SYR
      - TCA
      - TCD
      - TGO
      - THA
      - TJK
      - TKL
      - TKM
      - TLS
      - TON
      - TTO
      - TUN
      - TUR
      - TUV
      - TWN
      - TZA
      - UGA
      - UKR
      - UMI
      - UNK
      - URY
      - USA
      - UZB
      - VAT
      - VCT
      - VEN
      - VGB
      - VIR
      - VNM
      - VUT
      - WLF
      - WSM
      - YEM
      - ZAF
      - ZMB
      - ZWE
    CurrencyCode:
      type: string
      title: Currency code in ISO 4217 standard.
      enum:
      - AED
      - AFN
      - ALL
      - AMD
      - ANG
      - AOA
      - ARS
      - AUD
      - AWG
      - AZN
      - BAM
      - BBD
      - BDT
      - BGN
      - BHD
      - BIF
      - BMD
      - BND
      - BOB
      - BOV
      - BRL
      - BSD
      - BTN
      - BWP
      - BYN
      - BZD
      - CAD
      - CDF
      - CHE
      - CHF
      - CHW
      - CLF
      - CLP
      - CNY
      - COP
      - COU
      - CRC
      - CUC
      - CUP
      - CVE
      - CZK
      - DJF
      - DKK
      - DOP
      - DZD
      - EGP
      - ERN
      - ETB
      - EUR
      - FJD
      - FKP
      - GBP
      - GEL
      - GHS
      - GIP
      - GMD
      - GNF
      - GTQ
      - GYD
      - HKD
      - HNL
      - HRK
      - HTG
      - HUF
      - IDR
      - ILS
      - INR
      - IQD
      - IRR
      - ISK
      - JMD
      - JOD
      - JPY
      - KES
      - KGS
      - KHR
      - KMF
      - KPW
      - KRW
      - KWD
      - KYD
      - KZT
      - LAK
      - LBP
      - LKR
      - LRD
      - LSL
      - LYD
      - MAD
      - MDL
      - MGA
      - MKD
      - MMK
      - MNT
      - MOP
      - MRU
      - MUR
      - MVR
      - MWK
      - MXN
      - MXV
      - MYR
      - MZN
      - NAD
      - NGN
      - NIO
      - NOK
      - NPR
      - NZD
      - OMR
      - PAB
      - PEN
      - PGK
      - PHP
      - PKR
      - PLN
      - PYG
      - QAR
      - RON
      - RSD
      - RUB
      - RWF
      - SAR
      - SBD
      - SCR
      - SDG
      - SEK
      - SGD
      - SHP
      - SLL
      - SOS
      - SRD
      - SSP
      - STN
      - SVC
      - SYP
      - SZL
      - THB
      - TJS
      - TMT
      - TND
      - TOP
      - TRY
      - TTD
      - TWD
      - TZS
      - UAH
      - UGX
      - USD
      - USN
      - UYI
      - UYU
      - UYW
      - UZS
      - VES
      - VND
      - VUV
      - WST
      - XAF
      - XCD
      - XOF
      - XPF
      - YER
      - ZAR
      - ZMW
      - ZWL
      - XBT
      - ETH
      - USC
      - UST
      default: EUR
    SetExchangeRate:
      type: object
      required:
      - oper_day
      - rates
      - start_time
      properties:
        oper_day:
          type: string
          example: 2023-04-25
          description: Business day the exchange rate is valid from. (yyyy-MM-dd)
        start_time:
          type: string
          example: 2023-04-25 10:00:00
          description: Time the exchange rate is valid from. The time should exceed the current time by
            at least 1 minute. (yyyy-MM-dd HH:mm:ss)
        rates:
          type: array
          items:
            $ref: '#/components/schemas/SetExchangeRate_rates'
    CalcCurrencyExchange:
      type: object
      required:
      - oper_day
      properties:
        oper_day:
          type: string
          example: 2023-04-25
          description: Business day the exchange rate. (yyyy-MM-dd)
        items:
          type: array
          items:
            $ref: '#/components/schemas/CalcCurrencyExchange_items'
    CalcCurrencyExchangeResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        items:
          type: array
          description: Calc currency exchange list
          items:
            $ref: '#/components/schemas/CalcCurrencyExchangeResponse_items'
        total:
          type: integer
          format: int64
          description: Total number of limits
    inline_response_200:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    inline_response_200_1:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        person_id:
          type: string
          format: number
          example: '10011000000000000001'
          description: Person ID
          minLength: 20
          maxLength: 20
    inline_response_200_2:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        corporate_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Corporate ID
          minLength: 20
          maxLength: 20
    inline_response_200_3:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        employee_id:
          type: string
          format: number
          example: '10011100000000000001'
          description: Employee ID
          minLength: 20
          maxLength: 20
    inline_response_200_4:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        token_id:
          type: string
          format: number
          description: Card token ID
          minLength: 20
          maxLength: 20
    inline_response_200_5:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        token_id:
          type: string
          format: number
          description: Card token ID
          minLength: 20
          maxLength: 20
        cvc2:
          type: string
          example: MTIz
          description: Card CVC2, encrypted
    inline_response_200_6:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
          - error
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        token_id:
          type: string
          format: number
          description: Card token ID
          minLength: 20
          maxLength: 20
        pin:
          type: string
          example: MTIzNA==
          description: Card PIN, encrypted
    inline_response_200_7:
      type: object
      properties:
        status:
          type: string
          example: ok
          description: API status
    SetExchangeRate_rates:
      type: object
      properties:
        currency_code_from:
          $ref: '#/components/schemas/CurrencyCode'
        currency_code_to:
          $ref: '#/components/schemas/CurrencyCode'
        amt:
          type: number
          example: 1.0
          description: Amount in currency
        buy_amt:
          type: number
          example: 0.42
          description: Currency buy amount not exceeding SellAmt. For irreversible rate
        sell_amt:
          type: number
          example: 0.47
          description: Sell amount. For irreversible rate
        active:
          type: boolean
          example: true
          description: Attribute indicating that the exchange rate is active
    CalcCurrencyExchange_items:
      type: object
      properties:
        from_currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        to_currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        from_amt:
          type: number
          example: 1.0
          description: Amount in currency
    CalcCurrencyExchangeResponse_items:
      type: object
      properties:
        group_id:
          type: integer
          example: 1
          description: agent group id
        group_name:
          type: string
          example: Base
          description: agent group name
        from_amt:
          type: number
          example: 1.0
          description: Amount in currency
        from_currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        to_currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        to_buy_amt:
          type: number
          example: 0.42
          description: Buy amount
        to_sell_amt:
          type: number
          example: 0.48
          description: Sell amount
  responses:
    BadRequestResponse:
      description: Bad request
    UnauthorizedResponse:
      description: Unauthorized
    ForbiddenResponse:
      description: Forbidden
    InternalServerErrorResponse:
      description: Internal server error
