openapi: 3.0.1
info: 
  title: TXAPI
  description: TXAPI OpenAPI specification
  version: 1.0.3.x
  x-merged-schemas-info: 
  - title: Application API
    description: Application object API. This is a set of generic APIs for different types of applications. All application are managed in the same way in TX, the difference is the set of fields used, which depends on application types configured in the system.
    version: "1.0"
  - title: Application type API
    description: Application type
    version: "1.0"
  - title: Card API
    description: Card object API. This is a set of APIs to manage cards in TX.
    version: "1.0"
  - title: Card design API
    description: Card design object API. Card designs are managed in TX.
    version: "1.0"
  - title: Card product API
    description: Card product object API to manage card products in TX
    version: "1.0"
  - title: Common components
    description: Common components
    version: "1.0"
  - title: Test API
    description: Test
    version: "1.0"
  - title: Contract API
    description: Contract object API. This is a set of APIs to manage contracts in TX.
    version: "1.0"
  - title: Inter-contract link API
    description: Inter-contract link
    version: "1.0"
  - title: Contract type API
    description: Contract type object API.
    version: "1.0"
  - title: Custom operations API
    description: Custom operation
    version: "1.0"
  - title: Notification type API
    description: Notification type object API
    version: "1.0"
  - title: Personal authentication questions and answers API
    description: This is a set of APIs to manage personal authentication questions and answers in TX.
    version: "1.0"
  - title: Restriction API
    description: Restriction object API. This is a set of APIs to manage limits, counters and other types of restrictions in TX.
    version: "1.0"
  - title: Subject API
    description: Subject object API. This is a set of APIs to manage person/company in TX.
    version: "1.0"
  - title: Document API
    description: Document API. This is a set of operations to manage documents in TX, e.g. passport, national ID, etc. In TX, such documents belong to a ```subject``` – the person or the company.
    version: "1.0"
  - title: Subject type API
    description: Subject type operations
    version: "1.0"
  - title: Surcharge tariff plan API
    description: Surcharge tariff plans operations
    version: "1.0"
  - title: Customer transaction API
    description: Transaction object API. This is a set of APIs to process different transactions in TX.
    version: "1.0"
  x-summary: TX REST API
paths: 
  /tx/v1/application: 
    get: 
      operationId: getApplicationV1
      summary: Get application
      description: Retrieves application details
      tags: 
      - Applications
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the application
        required: true
        schema: 
          $ref: "#/components/schemas/application-ApplicationRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/application"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: modifyApplicationV1
      summary: Create or update application
      description: Creates new or updates an existing application
      tags: 
      - Applications
      security: 
      - Basic: []
      parameters: 
      - name: mustExist
        in: query
        description: Object presence control. Refer to *Idempotency* chapter to get more details on parameter usage.
        required: false
        schema: 
          type: boolean
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                object: 
                  $ref: "#/components/schemas/application"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    delete: 
      operationId: deleteApplicationV1
      summary: Delete application
      description: Deletes existing application
      tags: 
      - Applications
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the application
        required: true
        schema: 
          $ref: "#/components/schemas/application-ApplicationRef"
        style: form
        explode: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/applications: 
    get: 
      operationId: listApplicationsV1
      summary: List applications
      description: Gets the list of applications for a customer. This endpoint supports filtering, sorting and pagination.
      tags: 
      - Applications
      security: 
      - Basic: []
      parameters: 
      - name: subject
        in: query
        description: Unique reference to the customer
        required: true
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: deepObject
      - name: filter
        in: query
        description: Filtering criteria. Refer to *Filtering* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/ApplicationsFilter"
        style: deepObject
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      - name: order
        in: query
        description: Sorting parameters. Refer to *Sorting* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/ApplicationsOrder"
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned applications.
                    items: 
                      $ref: "#/components/schemas/application"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/application-types: 
    get: 
      operationId: listApplicationTypesV1
      summary: List application types
      description: List application types available. This endpoint supports pagination.
      tags: 
      - Applications
      security: 
      - Basic: []
      parameters: 
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned application types.
                    items: 
                      $ref: "#/components/schemas/application-type"
              example: 
                hasMore: false
                objects: 
                - ref: 
                    id: 12
                    rid: ATRID12
                  name: Credit applications
                  isAbstract: false
                  parentType: 
                    id: 11
                    rid: ATRID11
        "401": 
          description: Unauthorized
        "403": 
          description: Forbidden
        "500": 
          description: Internal Server Error
  /tx/v1/card: 
    get: 
      operationId: getCardV1
      summary: Get card
      description: Retrieves card details by card unique reference. Use the reference parameter to specify the card to return. For security reasons, the PAN is not fully visible on the ```card``` object returned (PAN is returned masked).
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the card
        required: true
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/card"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: modifyCardV1
      summary: Create or update card
      description: Creates new or updates an existing card
      security: 
      - Basic: []
      parameters: 
      - name: mustExist
        in: query
        description: Object presence control. Refer to *Idempotency* chapter to get more details on parameter usage.
        required: false
        schema: 
          type: boolean
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                object: 
                  $ref: "#/components/schemas/card"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - object
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    delete: 
      operationId: deleteCardV1
      summary: Delete card
      description: Deletes an existing card
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the card
        required: true
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: form
        explode: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/card/pan: 
    get: 
      operationId: getCardPanV1
      summary: Show card PAN
      description: Gets a full PAN of the card. This endpoint can be used if the full PAN is required, e.g. to be displayed to a cardholder in a mobile app, as for security reasons, the PAN is not fully visible on the card object returned by ```GET /card``` operation. This endpoint may require PCI DSS compliance. You must comply with PCI DSS data security requirements if you store, transmit, or process sensitive card data such as the cardholder's primary account number (PAN), personal identification number (PIN), and card expiration date.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the card
        required: true
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  pan: 
                    description: PAN value
                    type: string
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/card/cvv2: 
    get: 
      operationId: getCardCvv2V1
      summary: Show card CVV2
      description: Gets a CVV2 of the card. This endpoint can be used if the CVV2 is required, e.g. to be displayed to a cardholder in a mobile app, as for security reasons, the CVV2 is not visible on the card object returned by ```GET /card``` operation. This endpoint may require PCI DSS compliance. You must comply with PCI DSS data security requirements if you store, transmit, or process sensitive card data such as the cardholder's primary account number (PAN), personal identification number (PIN), and card expiration date.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the card
        required: true
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  cvv2: 
                    description: Card CVV2 value
                    type: string
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/card/pan/list: 
    post: 
      operationId: listCardsByPanV1
      summary: Get card by PAN
      description: Lists cards by PAN, and optionally by expiration date. This request is useful e.g. in IVR scenarios where a user has telephoned and identifies the card by the PAN. The retrieval of the data is implemented as a ```POST``` request because supplying the PAN in the request body is more secure than supplying it in the URL (as would be required with a ```GET```).
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                pan: 
                  description: Card PAN
                  type: string
                expiration: 
                  description: Card expiration date
                  type: string
                  format: date
              required: 
              - pan
        required: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  objects: 
                    type: array
                    description: Contains the returned cards
                    items: 
                      $ref: "#/components/schemas/card"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/card/pin: 
    get: 
      operationId: getCardPinV1
      summary: Get card PIN
      description: Gets PIN block value of the card. (!) Only use this endpoint to access a PIN in order to reveal it to its cardholder. Do not use this endpoint for the purpose of storing a PIN at any location. This endpoint may require PCI DSS compliance. You must comply with PCI DSS data security requirements if you store, transmit, or process sensitive card data such as the cardholder's primary account number (PAN), personal identification number (PIN), and card expiration date.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the card
        required: true
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  pinBlock: 
                    description: Card encrypted PIN block. PIN block format and encryption parameters are defined in the respective RTP interface configuration in TX.
                    type: string
                    format: base64
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: setCardPinV1
      summary: Set card PIN
      description: Sets PIN block for the card. This endpoint can be used to create or update PIN for a card. Sending a request to this endpoint may require PCI DSS compliance. You must comply with PCI DSS data security requirements if you want to store, transmit, or process sensitive card data such as the cardholder's primary account number (PAN), personal identification number (PIN), and card expiration date.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the card
        required: true
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: form
        explode: true
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                pinBlock: 
                  description: Card encrypted PIN block. PIN block format and encryption parameters are defined in the respective RTP interface configuration in TX.
                  type: string
                  format: base64
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - pinBlock
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/card/try-counters: 
    delete: 
      operationId: resetCardTryCountersV1
      summary: Reset card counters (e.g. unblock PIN)
      description: This endpoint can be used to reset the security counters of a card, such as PIN tries, CVV2 tries, etc.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the card
        required: true
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: form
        explode: true
      - name: countersToReset
        in: query
        description: Counters to reset (if not set then reset all)
        schema: 
          $ref: "#/components/schemas/CountersToReset"
        style: deepObject
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/card/reissue: 
    post: 
      operationId: reissueCardV1
      summary: Card reissuance (replace, renewal)
      description: Use this endpoint to create a new card during the reissuance of the existing card e.g. if the card is lost, stolen or damaged or renewal (e.g. if the card is expired).
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Unique reference to the card
        required: true
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: form
        explode: true
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                copyFromOldCard: 
                  type: object
                  description: Parameters to control the properties to copy from the card that is being reissued
                  properties: 
                    pan: 
                      description: Keep card PAN. A value of ```false``` indicates that the system will generate new PAN for the card. For security reasons, the old PAN should not be copied if the card is replaced due to such reasons as lost, stolen, etc.
                      type: boolean
                    pin: 
                      description: Keep card PIN
                      type: boolean
                    limits: 
                      description: Keep card limits and restrictions
                      type: boolean
                    rid: 
                      description: Keep card reference ID
                      type: boolean
                newCard: 
                  description: Specific parameters for the new card
                  $ref: "#/components/schemas/card"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/card/preproduced/deliver: 
    post: 
      operationId: deliverPreproducedCardV1
      summary: Assign prepaid/pre-printed card to a customer
      description: Selects a pre-printed card from the batch of cards, assigns it to a customer and sets the card parameters , e.g. status, life cycle phase, etc. Usually such pre-printed cards are not personalized (unnamed) and have limited usage.
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                pan: 
                  description: The system will try to find the card by PAN and ```card/dates/expiration```
                  type: string
                card: 
                  description: Update required parameters for the card
                  $ref: "#/components/schemas/card"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - pan
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/cards: 
    get: 
      operationId: listCardsV1
      summary: List customer cards
      description: Gets the list of cards for a customer. This endpoint supports filtering, sorting and pagination.
      security: 
      - Basic: []
      parameters: 
      - name: filter
        in: query
        description: Filtering criteria. Refer to *Filtering* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/CardsFilter"
        style: deepObject
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      - name: order
        in: query
        description: Sorting parameters. Refer to *Sorting* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/CardsOrder"
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned cards
                    items: 
                      $ref: "#/components/schemas/card"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/card-designs: 
    get: 
      operationId: listCardDesignsV1
      summary: List card designs
      description: Lists card designs available in the system. This endpoint supports pagination.
      security: 
      - Basic: []
      parameters: 
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned card designs
                    items: 
                      $ref: "#/components/schemas/card-design"
        "401": 
          description: Unauthorized
        "403": 
          description: Forbidden
        "500": 
          description: Internal Server Error
  /tx/v1/card-products: 
    get: 
      operationId: listCardProductsV1
      summary: List card products
      description: Lists card products available in the system. This endpoint supports pagination.
      security: 
      - Basic: []
      parameters: 
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    description: Contains the returned card products
                    type: array
                    items: 
                      $ref: "#/components/schemas/card-product"
        "401": 
          description: Unauthorized
        "403": 
          description: Forbidden
        "500": 
          description: Internal Server Error
  /: 
    get: 
      operationId: ping
      summary: Perform connectivity test (ping)
      description: Performs connectivity test to check the service availability
      responses: 
        "200": 
          description: OK
  /tx/v1/contract: 
    get: 
      operationId: getContractV1
      summary: Get contract
      description: Retrieves contract details by its reference. For financial contracts, this endpoint can be used to retrieve details of customer's account.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the contract
        required: true
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/contract"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: modifyContractV1
      summary: Create or update contract
      description: Creates new or updates an existing contract. For financial contracts, this endpoint can be used to open/update financial account for a customer.
      security: 
      - Basic: []
      parameters: 
      - name: mustExist
        in: query
        description: Object presence control. Refer to *Idempotency* chapter to get more details on parameter usage.
        required: false
        schema: 
          type: boolean
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                object: 
                  $ref: "#/components/schemas/contract"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    delete: 
      operationId: deleteContractV1
      summary: Delete contract
      description: Deletes existing contract
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the contract
        required: true
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract/balance: 
    put: 
      operationId: setContractBalanceV1
      summary: Update balances
      description: Sets balance of the contract. Contracts (accounts) in TX may have different balances depending on the type of the account/product, e.g. debit card and credit card have different type of balances. Please refer to current TX configuration to get more details on how to set specific balance for the account.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the contract
        required: true
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
      - name: accountRole
        in: query
        description: Role of the account to set the balance to. Contracts in TX may contain several accounts e.g. to handle different balances/buckets, so it is required to select the specific account (role) to set/update the balance.
        required: true
        schema: 
          type: string
      - name: ccy
        in: query
        description: Balance currency (Alpha3 currency code)
        required: true
        schema: 
          type: string
        example: USD
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                balance: 
                  description: Balance value
                  type: number
                  example: 500.0
                lastImpacted: 
                  description: Details on the balance last impact
                  type: object
                  properties: 
                    day: 
                      description: Date of the last impact
                      type: string
                      format: date
                    tranId: 
                      description: Transaction ID of the last impact
                      type: integer
                      example: 76535367387
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract/activate: 
    post: 
      operationId: activateContractV1
      summary: Activate contract
      description: Activates the contract. Contracts should be activated before they can process and handle business operations.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the contract
        required: true
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract/close: 
    post: 
      operationId: closeContractV1
      summary: Close contract
      description: Closes the contract. Some types of contracts require to be prepared for closure before you can close them.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the contract
        required: true
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract/finish: 
    post: 
      operationId: finishContractV1
      summary: Prepare contract for closure
      description: Finalizes the contract (prepares the contract for closure). Some types of contracts (e.g. credit contracts) require to be prepared for closure first before you can close them.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the contract
        required: true
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract/statement: 
    post: 
      operationId: generateContractStatementV1
      summary: Generate statement
      description: Generates and returns statement data/document for the contract/account. This endpoint returns the statement details specific to the selected contract type. Statement parameters and configuration are defined by respective TX settings. Basically, the TX will generate and return the statement document, e.g. PDF with all the details as required by the respective business product (i.e. debit, credit, etc.). Alternatively, the system can generate and return machine-readable data, in case if your front-end system wants to build and present a custom human-readable statement to customers. In this case, the statement type should have user-defined format and the statement data must be generated by user-defined function instead of a report class. Please check the respective statement type configuration parameters in TX. (!) Do not confuse this with the "transaction history", which is a different endpoint.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the contract
        required: true
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                statementTypeRid: 
                  description: Statement type reference ID
                  type: string
                  example: STRID456
                attachmentTypeId: 
                  description: Attachment type internal ID
                  type: integer
                  example: 10
                attachmentTypeRid: 
                  description: Attachment type reference ID.
                  type: string
                  example: ATTRID45
                fromDay: 
                  description: Statement data period - start date (if applicable)
                  type: string
                  format: date
                toDay: 
                  description: Statement data period - end date (if applicable)
                  type: string
                  format: date
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: string
                description: Statement data (human-readable document or machine-readable data)
                format: base64
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract/cards: 
    get: 
      operationId: listContractCardsV1
      summary: List cards for account
      description: Lists cards that have access to the financial contract (account). This endpoint supports filtering.
      security: 
      - Basic: []
      parameters: 
      - name: contract
        in: query
        description: Reference to the contract
        required: true
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
        style: deepObject
      - name: filter
        in: query
        description: Filtering criteria. Refer to *Filtering* chapter to get more details on parameter usage.
        schema: 
          type: object
          properties: 
            linkStatus: 
              description: Card-to-account link status
              type: string
            cardStatus: 
              description: Card status
              type: string
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: array
                description: Contains the returned cards
                items: 
                  type: object
                  properties: 
                    linkStatus: 
                      description: Card-to-account link status
                      type: string
                    cardName: 
                      description: Name of the card-to-account link
                      type: string
                    card: 
                      $ref: "#/components/schemas/card-CardRef"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contracts: 
    get: 
      operationId: listContractsV1
      summary: List customer contracts (accounts)
      description: Lists contracts of a customer. This endpoint supports filtering, sorting and pagination.
      security: 
      - Basic: []
      parameters: 
      - name: filter
        in: query
        description: Filtering criteria. Refer to *Filtering* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/ContractsFilter"
        style: deepObject
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      - name: order
        in: query
        description: Sorting parameters. Refer to *Sorting* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/ContractsOrder"
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned contracts
                    items: 
                      $ref: "#/components/schemas/contract"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract2contract: 
    get: 
      operationId: getContract2ContractV1
      summary: Get contract-to-contract link
      description: Retrieves contract-to-contract link details
      security: 
      - Basic: []
      parameters: 
      - name: id
        in: query
        description: Link ID
        required: true
        schema: 
          type: integer
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/contract2contract"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: modifyContract2ContractV1
      summary: Create or update contract-to-contract link
      description: Creates new or updates an existing contract-to-contract link
      security: 
      - Basic: []
      parameters: 
      - name: mustExist
        in: query
        description: Object presence control. Refer to *Idempotency* chapter to get more details on parameter usage.
        required: false
        schema: 
          type: boolean
      requestBody: 
        content: 
          application/json: 
            schema: 
              $ref: "#/components/schemas/contract2contract"
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    delete: 
      operationId: deleteContract2ContractV1
      summary: Delete contract-to-contract link
      description: Deletes existing contract-to-contract link
      security: 
      - Basic: []
      parameters: 
      - name: id
        in: query
        description: Link ID
        required: true
        schema: 
          type: integer
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract2contracts: 
    get: 
      operationId: listContract2ContractsV1
      summary: List contract-to-contract links
      description: Gets the list of contract-to-contract links. This endpoint supports filtering, sorting and pagination.
      security: 
      - Basic: []
      parameters: 
      - name: filter
        in: query
        description: Filtering criteria. Refer to *Filtering* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Contract2ContractsFilter"
        style: deepObject
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      - name: order
        in: query
        description: Sorting parameters. Refer to *Sorting* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Contract2ContractsOrder"
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    description: Contains the returned links
                    type: array
                    items: 
                      $ref: "#/components/schemas/contract2contract"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/contract-types: 
    get: 
      operationId: listContractTypesV1
      summary: List contract types
      description: Gets the list of contract types available. This endpoint supports pagination.
      security: 
      - Basic: []
      parameters: 
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned contract types
                    items: 
                      $ref: "#/components/schemas/contract-type"
        "401": 
          description: Unauthorized
        "403": 
          description: Forbidden
        "500": 
          description: Internal Server Error
  /tx/v1/custom-operation-0/{function}: 
    post: 
      operationId: customOperation0V1
      summary: Perform user-defined operation 0
      description: Performs custom operation (number 0). Custom (user-defined) operations can be used to implement non-standard business logic or user-defined actions when standard operations and endpoints are not enough. There are several endpoints available (0-9) to implement/call such operations. Such user-defined operations are implemented in TX as user-defined functions (UDF) and user-defined transactions (UDT). Parameters can be passed in request body in JSON format. Please also check TX configuration for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        description: User-defined function unique name to distinguish user-defined functions
        required: true
        schema: 
          type: string
        example: REST_UDT_1
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              example: 
                param_1: Value 123
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-1/{function}: 
    post: 
      operationId: customOperation1V1
      summary: Perform user-defined operation 1
      description: Performs custom operation (number 1). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-2/{function}: 
    post: 
      operationId: customOperation2V1
      summary: Perform user-defined operation 2
      description: Performs custom operation (number 2). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-3/{function}: 
    post: 
      operationId: customOperation3V1
      summary: Perform user-defined operation 3
      description: Performs custom operation (number 3). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-4/{function}: 
    post: 
      operationId: customOperation4V1
      summary: Perform user-defined operation 4
      description: Performs custom operation (number 4). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-5/{function}: 
    post: 
      operationId: customOperation5V1
      summary: Perform user-defined operation 5
      description: Performs custom operation (number 5). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-6/{function}: 
    post: 
      operationId: customOperation6V1
      summary: Perform user-defined operation 6
      description: Performs custom operation (number 6). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-7/{function}: 
    post: 
      operationId: customOperation7V1
      summary: Perform user-defined operation 7
      description: Performs custom operation (number 7). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-8/{function}: 
    post: 
      operationId: customOperation8V1
      summary: Perform user-defined operation 8
      description: Performs custom operation (number 8). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/custom-operation-9/{function}: 
    post: 
      operationId: customOperation9V1
      summary: Perform user-defined operation 9
      description: Performs custom operation (number 9). Please refer to ```custom operation 0``` endpoint for more details.
      security: 
      - Basic: []
      parameters: 
      - name: function
        in: path
        required: true
        schema: 
          type: string
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
        "400": 
          description: Bad request
          content: 
            application/json: 
              schema: 
                type: object
        "401": 
          description: Unauthorized
          content: 
            application/json: 
              schema: 
                type: object
        "403": 
          description: Forbidden
          content: 
            application/json: 
              schema: 
                type: object
        "404": 
          description: Not found
          content: 
            application/json: 
              schema: 
                type: object
        "422": 
          description: Operation declined
          content: 
            application/json: 
              schema: 
                type: object
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/notification-types: 
    get: 
      operationId: listNotificationTypesV1
      summary: List notification types
      description: Lists notification types configured in the system. This endpoint supports pagination.
      security: 
      - Basic: []
      parameters: 
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned notification types
                    items: 
                      $ref: "#/components/schemas/notification-type"
        "401": 
          description: Unauthorized
        "403": 
          description: Forbidden
        "500": 
          description: Internal Server Error
  /tx/v1/subject-auth_qa: 
    get: 
      operationId: getPersonQaV1
      summary: Get question-answer pair
      description: Retrieves question and answer details for person authentication.
      security: 
      - Basic: []
      parameters: 
      - name: person
        in: query
        description: Reference to the person
        required: true
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: deepObject
      - name: question
        in: query
        description: Question that the answer is required to. The question's text is case-sensitive.
        required: true
        schema: 
          type: string
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/subject-auth_qa"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: modifyPersonQaV1
      summary: Create or update question-answer pair
      description: Creates new or updates an existing question-answer pair
      security: 
      - Basic: []
      parameters: 
      - name: person
        in: query
        description: Reference to the person
        required: true
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: deepObject
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                object: 
                  $ref: "#/components/schemas/subject-auth_qa"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    delete: 
      operationId: deletePersonQaV1
      summary: Delete question-answer pair
      description: Deletes existing question-answer pair for the person
      security: 
      - Basic: []
      parameters: 
      - name: person
        in: query
        description: Reference to the person
        required: true
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: deepObject
      - name: question
        in: query
        description: Question to delete. The question's text is case-sensitive.
        required: true
        schema: 
          type: string
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/subject-auth_qas: 
    get: 
      operationId: listPersonQaV1
      summary: List question-answer pairs for the person
      description: Gets the list of authentication question-answer pairs for a customer. This endpoint supports pagination.
      security: 
      - Basic: []
      parameters: 
      - name: person
        in: query
        description: Reference to the person
        required: true
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: deepObject
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned question-answer pairs
                    items: 
                      $ref: "#/components/schemas/subject-auth_qa"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/restriction: 
    get: 
      operationId: getRestrictionV1
      summary: Get restriction
      description: Retrieves restriction details by the reference.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the restriction
        required: true
        schema: 
          $ref: "#/components/schemas/restriction-RestrictionRef"
        style: form
        explode: true
      - name: owner
        in: query
        description: Reference to the restriction's owner
        required: true
        schema: 
          $ref: "#/components/schemas/restriction-OwnerRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/restriction"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: modifyRestrictionV1
      summary: Create or update restriction
      description: Creates new or updates an existing restriction for the object. To reset the limit, set its current value to "0" (```limit```.```curVal```).
      security: 
      - Basic: []
      parameters: 
      - name: owner
        in: query
        description: Reference to the restriction's owner. To modify the restriction, use ```restriction``` object ```ref``` parameters in the request body.
        required: true
        schema: 
          $ref: "#/components/schemas/restriction-OwnerRef"
        style: form
        explode: true
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                object: 
                  $ref: "#/components/schemas/restriction"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    delete: 
      operationId: deleteRestrictionV1
      summary: Delete restriction
      description: Deletes existing restriction for the object
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the restriction
        required: true
        schema: 
          $ref: "#/components/schemas/restriction-RestrictionRef"
        style: form
        explode: true
      - name: owner
        in: query
        description: Reference to the restriction's owner
        required: true
        schema: 
          $ref: "#/components/schemas/restriction-OwnerRef"
        style: form
        explode: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/restrictions: 
    get: 
      operationId: listRestrictionsV1
      summary: List restrictions
      description: Gets the list of restrictions for an object (owner). This endpoint supports pagination.
      security: 
      - Basic: []
      parameters: 
      - name: owner
        in: query
        description: Reference to the restriction's owner
        required: true
        schema: 
          $ref: "#/components/schemas/restriction-OwnerRef"
        style: deepObject
      - name: onlyOwn
        in: query
        description: Indicates if the list should contain the owner's personal restrictions only. A value of ```true``` indicates that only personal restrictions of selected object will be returned, otherwise the full set of assigned restrictions will be returned (both personal and inherited from the product).
        schema: 
          type: boolean
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned restrictions
                    items: 
                      $ref: "#/components/schemas/restriction"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/subject: 
    get: 
      operationId: getSubjectV1
      summary: Get person or company
      description: Retrieves subject details by a reference.
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the person or company
        required: true
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/subject"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: modifySubjectV1
      summary: Create or update person or company
      description: Creates new or updates an existing person or company
      security: 
      - Basic: []
      parameters: 
      - name: mustExist
        in: query
        description: Object presence control. Refer to *Idempotency* chapter to get more details on parameter usage.
        required: false
        schema: 
          type: boolean
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                object: 
                  $ref: "#/components/schemas/subject"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    delete: 
      operationId: deleteSubjectV1
      summary: Delete person or company
      description: Deletes existing person or company
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the person or company
        required: true
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: form
        explode: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/subject/notification: 
    post: 
      operationId: sendNotificationV1
      summary: Send notification to customer
      description: Sends notification to customer via selected channel e.g. SMS, e-mail, push
      security: 
      - Basic: []
      parameters: 
      - name: subject
        in: query
        description: Reference to the customer, if available
        required: false
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: form
        explode: true
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                channelKind: 
                  description: Type of the delivery channel
                  type: string
                address: 
                  description: Mobile phone number, email address, etc.
                  type: string
                  example: one21@mail.net
                messageSubject: 
                  description: Subject of the message
                  type: string
                  example: Information
                messageBody: 
                  description: Message body
                  type: string
                  example: Welcome to the club!
      responses: 
        "200": 
          description: OK
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/subjects: 
    get: 
      operationId: listSubjectsV1
      summary: List subjects
      description: Gets the list of subjects (persons or companies). This endpoint supports filtering, sorting and pagination.
      security: 
      - Basic: []
      parameters: 
      - name: filter
        in: query
        description: Filtering criteria. Refer to *Filtering* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/SubjectsFilter"
        style: deepObject
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      - name: order
        in: query
        description: Sorting parameters. Refer to *Sorting* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/SubjectsOrder"
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned subjects
                    items: 
                      $ref: "#/components/schemas/subject"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/subject-document: 
    get: 
      operationId: getSubjectDocumentV1
      summary: Get document
      description: Retrieves subject's document details
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the document
        required: true
        schema: 
          $ref: "#/components/schemas/subject-document-SubjectDocumentRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/subject-document"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    put: 
      operationId: modifySubjectDocumentV1
      summary: Create or update document
      description: Creates new or updates an existing document for the subject (person or company)
      security: 
      - Basic: []
      parameters: 
      - name: subject
        in: query
        description: Reference to the subject (person or company)
        required: true
        schema: 
          $ref: "#/components/schemas/subject-SubjectRef"
        style: deepObject
      - name: mustExist
        in: query
        description: Object presence control. Refer to *Idempotency* chapter to get more details on parameter usage.
        required: false
        schema: 
          type: boolean
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                object: 
                  $ref: "#/components/schemas/subject-document"
                tranRq: 
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
    delete: 
      operationId: deleteSubjectDocumentV1
      summary: Delete document
      description: Deletes subject's document
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the document
        required: true
        schema: 
          $ref: "#/components/schemas/subject-document-SubjectDocumentRef"
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/subject-documents: 
    get: 
      operationId: listSubjectDocumentsV1
      summary: List documents
      description: Gets the list of documents for a person or a company. This endpoint supports filtering, sorting and pagination.
      security: 
      - Basic: []
      parameters: 
      - name: filter
        in: query
        description: Filtering criteria. Refer to *Filtering* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/SubjectDocumentsFilter"
        style: deepObject
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      - name: order
        in: query
        description: Sorting parameters. Refer to *Sorting* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/SubjectDocumentsOrder"
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    description: Contains the returned documents
                    type: array
                    items: 
                      $ref: "#/components/schemas/subject-document"
        "401": 
          description: Unauthorized
        "403": 
          description: Forbidden
        "500": 
          description: Internal Server Error
  /tx/v1/subject-types: 
    get: 
      operationId: listSubjectTypesV1
      summary: List subject types
      description: Gets the list of subject types available in the system. This endpoint supports pagination.
      security: 
      - Basic: []
      parameters: 
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned types
                    items: 
                      $ref: "#/components/schemas/subject-type"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/surcharge-tariff-plans: 
    get: 
      operationId: listSurchargeTariffPlansV1
      summary: List surcharge tariff plans
      description: Gets the list of available surcharge tariff plans. This endpoint supports pagination.
      security: 
      - Basic: []
      parameters: 
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    type: array
                    description: Contains the returned objects
                    items: 
                      $ref: "#/components/schemas/surcharge-tariff-plan"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/account2account: 
    post: 
      operationId: executeTranAccount2AccountV1
      summary: Account-to-account transfer
      description: Performs account-to-account transfer transaction (contract-to-contract in TX)
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                src: 
                  description: Source account (contract)
                  $ref: "#/components/schemas/contract-ContractRef"
                dst: 
                  description: Destination account (contract)
                  $ref: "#/components/schemas/contract-ContractRef"
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - src
              - dst
              - value
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/card2account: 
    post: 
      operationId: executeTranCard2AccountV1
      summary: Card-to-account transfer
      description: Performs card-to-account transfer transaction (card-to-contract in TX)
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                src: 
                  description: Source card
                  $ref: "#/components/schemas/tran-SrcCard"
                dst: 
                  description: Destination account (contract)
                  $ref: "#/components/schemas/contract-ContractRef"
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - src
              - dst
              - value
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/account2card: 
    post: 
      operationId: executeTranAccount2CardV1
      summary: Account-to-card transfer
      description: Performs account-to-card transfer transaction (contract-to-card in TX)
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                src: 
                  description: Source account (contract)
                  $ref: "#/components/schemas/contract-ContractRef"
                dst: 
                  description: Destination card
                  $ref: "#/components/schemas/tran-DstCard"
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - src
              - dst
              - value
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/card2card: 
    post: 
      operationId: executeTranCard2CardV1
      summary: Card-to-card transfer
      description: Performs card-to-card transfer transaction
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                src: 
                  description: Source card
                  $ref: "#/components/schemas/tran-SrcCard"
                dst: 
                  description: Destination card
                  $ref: "#/components/schemas/tran-DstCard"
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - src
              - dst
              - value
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/account2vendor: 
    post: 
      operationId: executeTranAccount2VendorV1
      summary: Perform payment to service provider
      description: Performs payment from customer account to service provider (e.g. utility, bill, etc.)
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                src: 
                  description: Source account (contract)
                  $ref: "#/components/schemas/contract-ContractRef"
                dst: 
                  description: Destination service provider
                  $ref: "#/components/schemas/tran-Vendor"
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                params: 
                  description: Payment parameters
                  $ref: "#/components/schemas/common-UserAttrs"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - src
              - dst
              - value
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/account2fi: 
    post: 
      operationId: executeTranAccount2FiV1
      summary: Debit account
      description: Performs account debit transaction (contract-to-FI in TX). The destination amount will be credited to Financial Institution (FI) account according to TX configuration.
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                src: 
                  description: Source account (contract)
                  $ref: "#/components/schemas/contract-ContractRef"
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - src
              - value
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/fi2account: 
    post: 
      operationId: executeTranFi2AccountV1
      summary: Credit account
      description: Performs account credit transaction (FI-to-contract in TX). The source amount will be debited from Financial Institution (FI) account according to TX configuration.
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                dst: 
                  description: Destination account (contract)
                  $ref: "#/components/schemas/contract-ContractRef"
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - dst
              - value
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/purchase: 
    post: 
      operationId: executeTranPurchaseV1
      summary: Card purchase (e-commerce)
      description: Performs e-commerce purchase operation using a card and the terminal as parameters. Usually, this type of transaction is initiated by an acquirer following the request from e-commerce merchant.
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                card: 
                  description: Card details
                  $ref: "#/components/schemas/tran-SrcCard"
                terminal: 
                  description: Merchant and terminal details
                  properties: 
                    tid: 
                      description: Terminal ID. In TX, the value is usually stored in ```Terminal RID``` field.
                      type: string
                      example: TID2468
                    mid: 
                      description: Merchant ID
                      type: string
                      example: MID13579
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                lifePhase: 
                  description: Transaction life phase, i.e. Authorization, Presentment, Single
                  type: string
                  example: Auth
                specific: 
                  properties: 
                    installment: 
                      $ref: "#/components/schemas/tran-InstallmentRq"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - card
              - terminal
              - value
        required: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  tranId: 
                    description: Unique transaction ID in the system
                    type: integer
                    example: 1357924680
                  approvalCode: 
                    type: string
                    example: A200567
                  installment: 
                    $ref: "#/components/schemas/tran-InstallmentRs"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/{tranId}/installment: 
    post: 
      operationId: createTranInstallmentV1
      summary: Issuer-funded post-purchase installment
      description: Converts the specified transaction into installments
      parameters: 
      - name: tranId
        description: Transaction ID
        example: 1357924680
        in: path
        required: true
        schema: 
          type: integer
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                contractTypeId: 
                  description: Installment-related Contract Type ID in TX
                  type: integer
                  example: 135
                trancheCnt: 
                  description: Number of installments
                  type: integer
                  example: 6
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - contractTypeId
              - trancheCnt
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/ModifyTranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/refund: 
    post: 
      operationId: executeTranRefundV1
      summary: Merchandise return / refund
      description: Performs card transaction refund
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                card: 
                  description: Destination card details
                  $ref: "#/components/schemas/tran-DstCard"
                terminal: 
                  description: Merchant terminal details
                  properties: 
                    tid: 
                      description: Terminal ID. In TX, the value is usually stored in ```Terminal RID``` field.
                      type: string
                    mid: 
                      description: Merchant ID
                      type: string
                value: 
                  description: Transaction amount and currency
                  $ref: "#/components/schemas/common-MonetaryValue"
                refundedTran: 
                  description: Reference to the purchase transaction to be refunded
                  $ref: "#/components/schemas/tran-TranRef"
                tranRq: 
                  description: Additional attributes of transaction request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - card
              - terminal
              - value
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/reversal: 
    post: 
      operationId: reverseTranV1
      summary: Reverse transaction
      description: Performs reversal of the transaction
      security: 
      - Basic: []
      requestBody: 
        content: 
          application/json: 
            schema: 
              type: object
              properties: 
                reversedTran: 
                  description: Reference to the transaction to be reversed
                  $ref: "#/components/schemas/tran-TranRef"
                reason: 
                  description: Reversal reason
                  type: string
                tranRq: 
                  description: Additional attributes of reversal request
                  $ref: "#/components/schemas/common-TranRqExtraAttrs"
              required: 
              - reversedTran
        required: true
      responses: 
        "200": 
          $ref: "#/components/responses/TranApprove"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran: 
    get: 
      operationId: getTranV1
      summary: Get transaction details
      description: Retrieves transaction details by a reference
      security: 
      - Basic: []
      parameters: 
      - name: ref
        in: query
        description: Reference to the transaction
        required: true
        schema: 
          $ref: "#/components/schemas/tran-TranRef"
        style: form
        explode: true
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                $ref: "#/components/schemas/tran"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/trans: 
    get: 
      operationId: listTransV1
      summary: List card or account transactions
      description: Gets the list of transactions for a card or an account (contract). This endpoint supports filtering, sorting and pagination.
      security: 
      - Basic: []
      parameters: 
      - name: card
        in: query
        description: Reference to the card
        schema: 
          $ref: "#/components/schemas/card-CardRef"
        style: deepObject
      - name: contract
        in: query
        description: Reference to the contract
        schema: 
          $ref: "#/components/schemas/contract-ContractRef"
        style: deepObject
      - name: filter
        in: query
        description: Filtering criteria. Refer to *Filtering* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/TransFilter"
        style: deepObject
      - name: page
        in: query
        description: Pagination parameters. Refer to *Pagination* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/Pagination"
        style: deepObject
      - name: order
        in: query
        description: Sorting parameters. Refer to *Sorting* chapter to get more details on parameter usage.
        schema: 
          $ref: "#/components/schemas/TransOrder"
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  hasMore: 
                    type: boolean
                    description: Indicates if more objects can be fetched. A value of ```true``` indicates that more unreturned objects exist.
                  objects: 
                    description: Contains the returned еransactions (without the details)
                    type: array
                    items: 
                      $ref: "#/components/schemas/tran"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "500": 
          $ref: "#/components/responses/InternalServerError"
  /tx/v1/tran/{tranId}/installment/plans: 
    get: 
      operationId: getTranInstallmentPlansV1
      summary: List of available installment plans
      description: Returns the list of available installment plans (contract type IDs) for a transaction, e.g. for issuer-funded post-purchase installment
      parameters: 
      - name: tranId
        description: Transaction ID to be converted to installments
        example: 1357924680
        in: path
        required: true
        schema: 
          type: integer
      responses: 
        "200": 
          description: OK
          content: 
            application/json: 
              schema: 
                type: object
                properties: 
                  plans: 
                    type: array
                    description: Installment plans available
                    items: 
                      $ref: "#/components/schemas/tran-InstallmentRs/properties/byIssuer"
        "400": 
          $ref: "#/components/responses/BadRequest"
        "401": 
          $ref: "#/components/responses/Unauthorized"
        "403": 
          $ref: "#/components/responses/Forbidden"
        "404": 
          $ref: "#/components/responses/NotFound"
        "422": 
          $ref: "#/components/responses/TranDecline"
        "500": 
          $ref: "#/components/responses/InternalServerError"
components: 
  schemas: 
    ApplicationsFilter: 
      type: object
      properties: 
        applicationTypeId: 
          type: integer
          description: Application type ID
          example: 12
        applicationTypeRid: 
          type: string
          description: Application type reference ID
          example: ATRID12
        status: 
          type: string
          description: Application status
    ApplicationsOrder: 
      type: string
      description: Field on which to sort (in ascending or descending order) - ```application ID```.
      enum: 
      - IdAsc
      - IdDesc
    CardsFilter: 
      type: object
      properties: 
        holderId: 
          description: Cardholder internal ID
          type: integer
          example: 23579
        holderRid: 
          description: Cardholder reference ID
          type: string
          example: CH56357
        status: 
          description: Card status
          type: string
      description: Either ```holderId``` or ```holderRid``` is required
    CardsOrder: 
      type: string
      description: Field on which to sort (in ascending, descending order) - ```card ID```
      enum: 
      - IdAsc
      - IdDesc
    CountersToReset: 
      type: object
      properties: 
        invalidCvv2TriesCnt: 
          description: Number of incorrect CVV2 attempts
          type: boolean
        invalidIPinTriesCnt: 
          description: Number of incorrect IPIN attempts
          type: boolean
        invalidPinTriesCnt: 
          description: Number of incorrect PIN attempts
          type: boolean
        invalidTdsEnrollTriesCnt: 
          description: Number of unsuccessful 3-D Secure enrollment authentication attempts
          type: boolean
        invalidPersonAnswerTriesCnt: 
          description: Number of incorrect answers to authentication question
          type: boolean
        invalidCallbackTriesCnt: 
          description: Number of incorrect one-time password attempts
          type: boolean
        invalidPasswordTriesCnt: 
          description: Number of incorrect password attempts
          type: boolean
    Pagination: 
      description: Pagination parameters
      type: object
      properties: 
        offset: 
          type: integer
          description: Page start offset (>=0)
          default: 0
        limit: 
          type: integer
          description: Page length
          default: 100
    ContractsFilter: 
      type: object
      properties: 
        clientId: 
          description: Customer internal ID
          type: integer
          example: 3579
        clientRid: 
          description: Customer reference ID
          type: string
          example: CSTRID765739
        typeId: 
          description: Contract type internal ID
          type: integer
          example: 865
        typeRid: 
          description: Contract type reference ID
          type: string
          example: CNTTRID4689
        status: 
          description: Contract status
          type: string
      description: One of clientId or clientRid is required
    ContractsOrder: 
      type: string
      description: Field on which to sort (in ascending, descending order) - ```contract ID```
      enum: 
      - IdAsc
      - IdDesc
    Contract2ContractsFilter: 
      type: object
      properties: 
        contract1Id: 
          description: The first contract ID
          type: integer
        contract1Rid: 
          description: The first contract reference ID
          type: string
        contract2Id: 
          description: The second contract ID
          type: integer
        contract2Rid: 
          description: The second contract reference ID
          type: string
        kind: 
          description: Type of the link
          type: string
        status: 
          description: Link status
          type: string
    Contract2ContractsOrder: 
      type: string
      description: Field on which to sort (in ascending, descending order) - ```Link ID```, ```Link sequence number```
      enum: 
      - IdAsc
      - IdDesc
      - SeqAsc
      - SeqDesc
    SubjectsFilter: 
      type: object
      properties: 
        kind: 
          $ref: "#/components/schemas/subject-SubjectKind"
        firstNameLike: 
          type: string
          description: Partial string matching the person's first name (applicable for "person" only). The search is not case-sensitive, wildcards supported - the percent sign (%) to substitute a group of characters, and the underscore (_) to substitute one character)
          example: john%
        lastNameLike: 
          type: string
          description: Partial string matching the person's last name (applicable for "person" only). The search is not case-sensitive, wildcards supported - the percent sign (%) to substitute a group of characters, and the underscore (_) to substitute one character)
          example: do%
        birthDate: 
          type: string
          description: Person's birth date (applicable for "person" only)
          format: date
          example: 2000-10-21
        nameLike: 
          type: string
          description: Partial string matching the company name (applicable for "company" only). The search is not case-sensitive, wildcards supported - the percent sign (%) to substitute a group of characters, and the underscore (_) to substitute one character)
          example: com%
        parentId: 
          type: integer
          description: Parent company ID (applicable for "company" only)
          example: 8267
        parentRid: 
          type: string
          description: Parent company reference ID (applicable for "company" only)
          example: PCRID0735
      required: 
      - kind
    SubjectsOrder: 
      type: string
      description: Field on which to sort (in ascending, descending order) - ```ID```, ```Reference ID```, ```Name``` (person last name, person first name; company name)
      enum: 
      - IdAsc
      - IdDesc
      - RidAsc
      - RidDesc
      - NameAsc
      - NameDesc
    SubjectDocumentsFilter: 
      type: object
      properties: 
        subjectId: 
          type: integer
          description: Person/company internal ID
          example: 7393
        subjectRid: 
          type: string
          description: Person/company reference ID
          example: SRID73
      description: One of subjectId or subjectRid is required
    SubjectDocumentsOrder: 
      type: string
      description: Field on which to sort (in ascending, descending order) - ```document ID```
      enum: 
      - IdAsc
      - IdDesc
    TransFilter: 
      type: object
      properties: 
        begTime: 
          description: Transaction date, from
          type: string
          format: date-time
          example: 2020-10-21T00:00:00
        endTime: 
          description: Transaction date, to
          type: string
          format: date-time
          example: 2020-10-22T14:15:00
    TransOrder: 
      type: string
      description: Field on which to sort (in ascending, descending order) - ```transaction ID```
      enum: 
      - IdAsc
      - IdDesc
    subject-NetworkSpecAttr: 
      description: Network-specific attribute
      type: object
      properties: 
        networkName: 
          type: string
          description: Network name
        toDelete: 
          type: boolean
          description: Delete this attribute
        rid: 
          type: string
          description: Reference ID
        merchantRid: 
          type: string
          description: Merchant reference ID
        singleMerchantRid: 
          type: string
          description: Single merchant reference ID
        name: 
          type: string
          description: Name
        mcc: 
          type: string
          description: MCC
    notification-type-NotificationTypeRef: 
      description: References to the notification type
      type: object
      properties: 
        id: 
          description: Notification type ID
          type: integer
          example: 87648
        rid: 
          description: Notification type reference ID
          type: string
          example: NTRID878
    restriction-OwnerRef: 
      description: Reference to the restriction's owner (the object that the restriction is applied to)
      type: object
      properties: 
        ownerType: 
          description: Restriction owner type
          type: string
          enum: 
          - Contract
          - Terminal
          - Token
          - Subject
        ownerId: 
          description: Owner ID (primary key)
          type: integer
          example: 4756
    subject-type-SubjectTypeRef: 
      description: Reference to the subject type
      type: object
      properties: 
        id: 
          description: Subject type ID
          type: integer
          example: 564
        rid: 
          description: Subject type reference ID
          type: string
          example: STRID23
    application: 
      type: object
      description: Application object. Applications can be linked with customer, account (contract) or card.
      properties: 
        ref: 
          $ref: "#/components/schemas/application-ApplicationRef"
        customer: 
          $ref: "#/components/schemas/subject-SubjectRef"
        contract: 
          $ref: "#/components/schemas/contract-ContractRef"
        card: 
          $ref: "#/components/schemas/card-CardRef"
        type: 
          $ref: "#/components/schemas/application-type-ApplicationTypeRef"
        status: 
          type: string
          description: Application status
        prevStatus: 
          type: string
          description: Application previous status
        name: 
          type: string
          description: Application name
          example: Sample application 1
        comments: 
          type: string
          description: Comments attached to the application
          example: This is a test application
        times: 
          type: object
          properties: 
            creation: 
              type: string
              description: Application creation date and time
              format: date-time
              example: 2020-10-21T14:15:00
            finish: 
              type: string
              description: The date and time when the application was finally processed
              format: date-time
              example: 2022-10-21T14:15:00
        userAttrs: 
          description: Application data presented as a set of attributes
          $ref: "#/components/schemas/common-UserAttrs"
    tran: 
      type: object
      description: Transaction object. "Transaction" represents any operation in TX processed by the system (includes both financial and non-financial operations).
      properties: 
        id: 
          description: Transaction unique ID
          type: string
          example: 799265548903
        regTime: 
          description: Transaction registration system date and time
          type: string
          format: date-time
          example: 2020-10-21T14:15:00
        operDay: 
          description: Transaction processing business date
          type: string
          format: date
          example: 2020-10-21
        lifePhase: 
          description: Transaction life phase. Life phase represents different states of the transaction e.g. authorization, presentment, chargeback, etc.
          type: string
        kind: 
          description: Transaction type, e.g. purchase, payment, deposit, etc. There are many transaction kinds (types) in TX, not all of them may be relevant to your project. Please check with the project team what kinds are applicable.
          type: string
          example: Goods
        isReversal: 
          description: Indicates if the transaction is the reversal. A value of ```true``` indicates that the transaction is the reversal transaction.
          type: boolean
          example: false
        network: 
          type: object
          description: Details regarding the payment network, if the transaction processed through the network
          properties: 
            id: 
              description: Network internal ID
              type: integer
              example: 3
            code: 
              description: Network reference code
              type: string
              example: ID3
            type: 
              description: Network type
              type: string
        src: 
          type: object
          description: Payment source (card or account/contract)
          properties: 
            card: 
              type: object
              description: Source card details
              properties: 
                panMask: 
                  description: Card PAN (masked)
                  type: string
                  example: 764534*******6533
                expDate: 
                  description: Card expiration date
                  type: string
                  format: date
                  example: 2027-10-21
            contract: 
              description: Source account (contract) details
              $ref: "#/components/schemas/contract-ContractRef"
        dst: 
          type: object
          description: Payment destination (card / account / vendor)
          properties: 
            card: 
              type: object
              description: Destination card details
              properties: 
                panMask: 
                  description: Card PAN (masked)
                  type: string
                  example: 664534*******6533
                expDate: 
                  description: Card expiration date
                  type: string
                  format: date
                  example: 2028-10-21
            contract: 
              description: Destination account (contract) details
              $ref: "#/components/schemas/contract-ContractRef"
            vendor: 
              description: Service provider details
              $ref: "#/components/schemas/tran-Vendor"
        terminal: 
          type: object
          description: Terminal details
          properties: 
            name: 
              description: Terminal name
              type: string
              example: TPOS763583
            type: 
              type: string
              description: Terminal type
              example: Ecom
            countryCode: 
              description: Terminal country (ISO 3-digits country code)
              type: integer
              example: 840
            owner: 
              type: object
              properties: 
                mcc: 
                  description: Merchant category code, e.g. as used in merchant acquiring (4-digits ISO MCC for retail financial services)
                  type: integer
                  example: 5992
        values: 
          type: object
          description: Transaction amounts
          properties: 
            customer: 
              type: object
              description: Customer billing amount
              properties: 
                amt: 
                  description: Transaction billing amount
                  type: number
                  example: 20.54
                ccy: 
                  description: Transaction billing currency (alpha3 currency code)
                  type: string
                  example: USD
            clearing: 
              type: object
              description: Clearing amount
              properties: 
                amt: 
                  description: Transaction clearing amount
                  type: number
                  example: 20.54
                ccy: 
                  description: Transaction clearing currency (alpha3 currency code)
                  type: string
                  example: USD
        result: 
          type: string
          description: Transaction processing result in TX
          example: Approved
        details: 
          description: Transaction additional information, returned for ```GET``` ```Tran``` operation only. This is the TX native transaction representation as stored inside TX in TX RTP format.
          type: object
          properties: 
            rtpRequest: 
              description: TX RTP request details (XML)
              type: string
            rtpResponse: 
              description: TX RTP response details (XML)
              type: string
    tran-DstCard: 
      description: Destination card details
      type: object
      properties: 
        pan: 
          description: Card PAN
          type: string
          example: 6645346863537865339
        expDate: 
          description: Card expiration date
          type: string
          format: date
          example: 2027-10-21
      required: 
      - pan
    subject-auth_qa: 
      type: object
      description: Personal authentication question and answer (security questions)
      properties: 
        question: 
          description: Personal authentication question
          type: string
          example: First pet name
        answer: 
          description: Personal authentication answer
          type: string
          example: Rocket
    tran-InstallmentRs: 
      description: Parameters related to installment management response
      type: object
      properties: 
        byMerchant: 
          type: object
          description: Installment funded by a merchant
          properties: 
            tranches: 
              type: array
              description: List of installments
              items: 
                type: object
                properties: 
                  mainAmt: 
                    description: Amount in currency in which customer was serviced, as specified in payment transaction
                    type: number
                    example: 237
                  surchargeAmt: 
                    description: Surcharge amount, if applicable (in currency in which customer was serviced, as specified in payment transaction)
                    type: number
                    example: 5
        byIssuer: 
          type: object
          description: Installment funded by issuer or financial institution
          properties: 
            contractTypeId: 
              description: Installment-related Contract Type ID in TX
              type: integer
              example: 135
            trancheCnt: 
              description: Number of installments
              type: integer
              example: 6
            apr: 
              description: Annual Percentage Rate
              type: number
              example: 4.0
            interestRate: 
              description: Interest rate
              type: number
              example: 3.0
    subject-SubjectRef: 
      description: References to the person/company
      type: object
      properties: 
        id: 
          description: Internal ID
          type: integer
          example: 1746
        rid: 
          description: Reference ID
          type: string
          example: PRID73
    common-TranApproveRs: 
      description: Response for approved transaction
      type: object
      properties: 
        tranId: 
          description: Unique transaction ID in the system
          type: integer
          example: 1357924680
        approvalCode: 
          type: string
          example: A200567
    subject-document: 
      type: object
      description: Document object (passport, national ID, etc.)
      properties: 
        ref: 
          $ref: "#/components/schemas/subject-document-SubjectDocumentRef"
        type: 
          $ref: "#/components/schemas/subject-document-type-SubjectDocumentTypeRef"
        series: 
          description: Document series or prefix. For example, some passports can contain two parts in its number – the series and the number itself, e.g. "7500 123456" as the full passport number.
          type: string
          example: 7522
        rid: 
          description: Document number (reference ID)
          type: string
          example: 888122
        issuerName: 
          description: Entity that issued the document
          type: string
          example: Regional security office
        isActive: 
          description: Indicates if the document is active or not. A value of ```true``` indicates that the document is active in TX.
          type: boolean
        issueDate: 
          description: The date the document was issued
          type: string
          format: date
          example: 2020-10-21
        expDate: 
          description: Document expiration date
          type: string
          format: date
          example: 2035-10-21
        userAttrs: 
          description: User-defined attributes
          $ref: "#/components/schemas/common-UserAttrs"
    card: 
      type: object
      title: Card object
      description: Card object
      properties: 
        ref: 
          $ref: "#/components/schemas/card-CardRef"
        className: 
          description: General type of the card used for card production, e.g. "Visa Smart Debit/Credit", "MChip Advance", "JCB J/Smart", etc. These classes are predefined in the system and applied during the card product setup in TX. Refer to the TX documentation for a complete list of classes supported.
          type: string
          example: Smart cards
        holder: 
          description: Reference to the cardholder (customer)
          $ref: "#/components/schemas/subject-SubjectRef"
        issuingContractType: 
          description: Reference to the "issuing contract type" object in TX. Also refer to ```issuingContract``` element.
          $ref: "#/components/schemas/contract-type-ContractTypeRef"
        issuingContract: 
          description: Reference to the "issuing contract" object in TX. All cards in TX are created under a special object called "issuing contract", which usually describes common features of card production and usage. "Issuing contract" object belongs to a customer. Several cards can be created under the same issuing contract or each card can have its own issuing contract. Either ```issuingContract``` or ```issuingContractType``` value must be defined to create a new card, refer to your TX configuration to obtain the correct value for the ```issuingContractType``` element. Also refer to ```/contract``` endpoint for more details.
          $ref: "#/components/schemas/contract-ContractRef"
        financialContract: 
          description: Reference to the "financial contract" object. Financial contract in TX represents the financial account(s) linked to the card. This property is used when the card is linked to one account only (the most usual case), otherwise use "contract2contract" linkage scheme instead. Also refer to ```/contract``` and ```/contract2contract``` endpoints for more details.
          $ref: "#/components/schemas/contract-ContractRef"
        mainCard: 
          description: Reference to the main card, if the card is supplementary
          $ref: "#/components/schemas/card-CardRef"
        product: 
          $ref: "#/components/schemas/card-product-CardProductRef"
        design: 
          $ref: "#/components/schemas/card-design-CardDesignRef"
        panMask: 
          description: Masked PAN
          type: string
          example: 777777******6543
        mbr: 
          description: Card member number / EMV application PAN sequence number
          type: integer
          example: 0
        status: 
          description: Card status
          type: string
        lifePhaseRid: 
          description: Card lifecycle phase reference ID. Card lifecycle phases are configured in the system, refer to the TX setup to obtain the list of lifecycle phase IDs configured.
          type: string
          example: LCRID_ATBRANCH
        restrictionsProfile: 
          $ref: "#/components/schemas/restriction-RestrictionProfileRef"
        tdsEnrollment: 
          description: Indicates if the card is enrolled to e-commerce 3DS service
          type: boolean
        logistics: 
          type: object
          description: Card delivery details
          properties: 
            deliveryBranchName: 
              description: The branch name where card will be delivered to, in case if the card should be delivered to the branch
              type: string
              example: Branch 1
            deliveryAddress: 
              description: Location address where the card will be delivered to, in case if the card should be delivered to the particular location
              $ref: "#/components/schemas/common-Address"
            curBranchName: 
              description: The branch name where the card currently is
              type: string
              example: Central office
        names: 
          type: object
          description: Names on the card
          properties: 
            emboss: 
              description: Name to be printed/embossed on the card
              type: string
              example: Smith
            track: 
              description: Name to be written on the Track2 or chip
              type: string
              example: Smith
            print: 
              description: Name to be printed on other media, e.g. PIN mailer, etc.
              type: string
              example: Smith
        dates: 
          type: object
          properties: 
            validFrom: 
              description: The date the card is valid from
              type: string
              format: date
            creation: 
              description: Card creation date
              type: string
              format: date
            activation: 
              description: Card activation date
              type: string
              format: date
            expiration: 
              description: Card expiration date. This is the full date value, please convert to short format as required, e.g. usually the card expiration date is presented to customers as MM/YY.
              type: string
              format: date
            closure: 
              description: Card closure date
              type: string
              format: date
          required: 
          - expiration
        notes: 
          description: Notes attached to the card
          type: string
          example: Test card
        userAttrs: 
          description: Card user-defined attributes
          $ref: "#/components/schemas/common-UserAttrs"
    restriction-RestrictionProfileRef: 
      description: References to the restriction profile
      type: object
      properties: 
        id: 
          description: Restriction profile internal ID
          type: integer
          example: 6846
        rid: 
          description: Restriction profile reference ID
          type: string
          example: RPRID78
    application-ApplicationRef: 
      description: Unique references to the application
      type: object
      properties: 
        id: 
          description: Application internal ID
          type: integer
          example: 13579
        rid: 
          description: Application reference ID
          type: string
          example: ARID24680
        key: 
          description: Application additional unique key that can be used to quickly search the application
          type: string
          example: aadgk1357924680
    surcharge-tariff-plan: 
      type: object
      description: Surcharge tariff plan
      properties: 
        ref: 
          $ref: "#/components/schemas/surcharge-tariff-plan-SurchargeTariffPlanRef"
        name: 
          description: Tariff plan name
          type: string
          example: Common
    card-product: 
      type: object
      description: Card product object. Card product in TX defines common properties of cards under the product, as well as card production features. Card product can be included into hierarchies, thus allowing to inherit and redefine parameter values, which simplifies product management and control over complicated configurations.
      properties: 
        ref: 
          $ref: "#/components/schemas/card-product-CardProductRef"
        name: 
          description: Card product name in TX
          type: string
          example: Unlimited silver
        cardClassName: 
          description: Name of the card class. Card class in TX defines the general card type used for card production, e.g. "Visa Smart Debit/Credit", "MChip Advance", "JCB J/Smart", etc. These classes are predefined in the system and applied during the card product setup in TX. Refer to the TX documentation for a complete list of classes supported.
          type: string
          example: Smart cards
        parentProduct: 
          description: Reference to the parent card product, when used in a hierarchy of card products
          $ref: "#/components/schemas/card-product-CardProductRef"
    contract-ContractRef: 
      description: References to the contract
      type: object
      properties: 
        id: 
          description: Contract internal ID
          type: integer
          example: 4680
        rid: 
          description: Contract reference ID
          type: string
          example: CRID4542809
        extRid: 
          description: Contract external reference ID
          type: string
          example: CASA1268
    application-type-ApplicationTypeRef: 
      description: Unique references to the application type
      type: object
      properties: 
        id: 
          type: integer
          description: Application type internal ID
          example: 12
        rid: 
          type: string
          description: Application type reference ID
          example: ATRID12
    subject-NetworkSpecAttrs: 
      description: List of metwork-specific attributes
      type: array
      items: 
        $ref: "#/components/schemas/subject-NetworkSpecAttr"
    contract2contract: 
      type: object
      description: Object that represents the link between contracts. Links can be used to join separate contracts into one complex product. Each contract performs its own functions and employs the linked contracts, if necessary. A contract can have multiple links to other contracts.
      properties: 
        id: 
          description: Link ID
          type: integer
          example: 897592
        contract1: 
          description: Reference to the first contract in the link
          $ref: "#/components/schemas/contract-ContractRef"
        contract1Name: 
          description: The first contract name
          type: string
          example: Digital card
        contract2: 
          description: Reference to the second contract in the link
          $ref: "#/components/schemas/contract-ContractRef"
        contract2Name: 
          description: The second contract name
          type: string
          example: Revolving
        kind: 
          description: Link type
          type: string
        status: 
          description: Link status
          type: string
        seq: 
          type: integer
          description: Link sequence number in contract1
          example: 1
    subject-type: 
      type: object
      description: \"Subject type" object. All ```subjects``` (persons and companies) in TX belong to the specific type defined in the dictionary of subject types. A "subject type" in TX represents common features of a group of persons or companies of that type. All subject types also belong to a set of basic classes - "individual customer" (person), "corporate customer" (company), or "department".
      properties: 
        ref: 
          $ref: "#/components/schemas/subject-type-SubjectTypeRef"
        name: 
          description: Subject type name
          type: string
          example: Customer
        kind: 
          $ref: "#/components/schemas/subject-SubjectKind"
        parentType: 
          description: In case of the subject type hierarchy, contains the reference to the parent ```subject type``` in the hierarchy
          $ref: "#/components/schemas/subject-type-SubjectTypeRef"
    subject-document-SubjectDocumentRef: 
      description: Reference to the document
      type: object
      properties: 
        id: 
          description: Document internal ID. (!) Please note, this is not the document number.
          type: integer
          example: 8737
    application-type: 
      type: object
      description: Application type object. Application types can be included in a hierarchy of types to simplify the management of applications by using the inbuild inheritance feature of TX.
      properties: 
        ref: 
          $ref: "#/components/schemas/application-type-ApplicationTypeRef"
        name: 
          type: string
          description: Application type name
          example: Credit applications
        isAbstract: 
          type: boolean
          description: Indicates if the application type can be used to create applications of that type. A value of ```true``` indicates that the application type is abstract and is _only_ used to build a hierarchy of application types.
        parentType: 
          $ref: "#/components/schemas/application-type-ApplicationTypeRef"
          description: In case of the application type hierarchy, contains the reference to the parent application type in the hierarchy
    tran-TranRef: 
      description: References to the transaction
      type: object
      properties: 
        id: 
          description: Transaction internal ID
          type: integer
          example: 7875458909934
        matchKey: 
          description: Transaction matching key assigned. Used by TX for transaction matching, and passed in the specific field in the request body - ```/tranRq/match/key```.
          type: string
          example: trnaadgk1357924680
        rqSentTime: 
          description: Date and time when the transaction request was sent to the system. The system will match the ```matchKey``` and the transaction ```regTime``` within the following windowframe -  ```rqSentTime <= regTimeand <= rqSentTime + 60s```
          type: string
          format: date-time
          example: 2020-10-21T14:15:00
    common-UserAttrs: 
      description: Container of user-defined attributes
      type: array
      items: 
        $ref: "#/components/schemas/common-UserAttr"
    contract-type-TariffPlan: 
      description: Default (shared) tariff plan. "Tariff plan" object in TX represents different pricing parameters such as fees, charges, commissions, interest rates, etc. defined as "Tariff" records in "Tariff plan".
      properties: 
        ref: 
          $ref: "#/components/schemas/contract-type-TariffPlanRef"
        name: 
          description: Tariff plan name
          type: string
          example: Common pricing plan
    card-product-CardProductRef: 
      description: Reference to card product
      type: object
      properties: 
        id: 
          description: Card product ID
          type: integer
          example: 22
        rid: 
          description: Card product reference ID
          type: string
          example: CPRID22
    card-CardRef: 
      description: References to the card
      type: object
      properties: 
        id: 
          description: Card internal ID
          type: integer
          example: 13579
        rid: 
          description: Card reference ID
          type: string
          example: CRDRID24680
    contract-type-TariffPlanRef: 
      description: References to default (shared) tariff plan
      type: object
      properties: 
        guid: 
          description: Tariff plan GUID
          type: string
          example: NPW63LQE2BFWPAQBET4DQIDYNY
        rid: 
          description: Tariff plan reference ID
          type: string
          example: TPRID963
    subject: 
      type: object
      description: Subject (person, company)
      properties: 
        ref: 
          $ref: "#/components/schemas/subject-SubjectRef"
        type: 
          $ref: "#/components/schemas/subject-type-SubjectTypeRef"
        kind: 
          $ref: "#/components/schemas/subject-SubjectKind"
        details: 
          anyOf: 
          - type: object
            description: Details specific to the respective subject class
          - $ref: "#/components/schemas/subject_details-corporation"
          - $ref: "#/components/schemas/subject_details-person"
        networkSpec: 
          description: Subject network-specific attributes
          $ref: "#/components/schemas/subject-NetworkSpecAttrs"
        userAttrs: 
          description: Subject user-defined attributes
          $ref: "#/components/schemas/common-UserAttrs"
    restriction: 
      type: object
      description: Restriction object. ```Restriction``` object in TX represents different limits, counters and other restrictions that can be applied to cards (tokens), accounts (contracts), customers (subjects) and terminals to control operations, e.g. velocity control limits, permitted transaction types, etc. Restrictions are combined in restriction/risk profiles, that groups limitations of the same category, e.g. "contract restriction profile" is applied to contracts, "card/token risk profile" is applied to cards, etc.
      properties: 
        ref: 
          $ref: "#/components/schemas/restriction-RestrictionRef"
        classGuid: 
          description: Restriction class unique identifier
          type: string
          example: 7febf16f651b43b0a5e30da8da49e90d
        name: 
          description: Restriction name (description)
          type: string
          example: Daily usage limit
        inUse: 
          description: Indicates if the restriction is active. A value of ```true``` indicates that the restriction is currently in use.
          type: boolean
        begTime: 
          description: Restriction effective time, from
          type: string
          format: date-time
          example: 2020-10-21T14:15:00
        endTime: 
          description: Restriction effective time, to
          type: string
          format: date-time
          example: 2020-10-22T14:15:00
        tmpOff: 
          description: Indicates if the restriction is temporarily disabled (during the usage period)
          type: object
          properties: 
            begTime: 
              description: Restriction inactivity time, from
              type: string
              format: date-time
              example: 2020-11-21T14:15:00
            endTime: 
              description: Restriction inactivity time, to
              type: string
              format: date-time
              example: 2020-11-22T14:15:00
        maxVal: 
          description: Restriction maximum value. For restriction type "limit" it is the maximum accumulated value, for other types of restrictions it is the maximum value of the transaction.
          type: number
          example: 10
        ccy: 
          description: Restriction currency (alpha3 currency code)
          type: string
          example: USD
        tmpMax: 
          description: Temporary maximum value parameters
          type: object
          properties: 
            val: 
              description: Temporary maximum value
              type: number
              example: 20
            begTime: 
              description: Temporary maximum value effective, from
              type: string
              format: date-time
              example: 2020-10-21T14:15:00
            endTime: 
              description: Temporary maximum value effective, to
              type: string
              format: date-time
              example: 2020-10-22T14:15:00
        limit: 
          type: object
          description: Limit parameters (applicable to restrictions of "limit" type)
          properties: 
            reset: 
              type: object
              description: Limit reset parameters
              properties: 
                periodType: 
                  description: Limit reset period
                  type: string
                timeOffset: 
                  description: Reset time offset. Defined as the number of minutes after the period start.
                  type: integer
                  example: 1440
            windowSize: 
              description: Accumulation window. Defines how many periods will be used during accumulation.
              type: integer
              example: 30
            curVal: 
              type: number
              description: Currently accumulated value
              example: 3
            lastResetTime: 
              description: Date/time when the limit was reset last time
              type: string
              format: date-time
              example: 2020-10-21T14:15:00
        userAttrs: 
          description: User-defined attributes
          $ref: "#/components/schemas/common-UserAttrs"
    tran-SrcCard: 
      description: Source card details
      type: object
      properties: 
        pan: 
          description: Card PAN
          type: string
          example: 7645346863537865339
        expDate: 
          description: Card expiration date
          type: string
          format: date
          example: 2027-10-21
        cvv2: 
          description: Card CVV2 value
          type: string
          example: 222
        tds: 
          description: e-commerce 3D-Secure details
          type: object
          properties: 
            version: 
              description: 3D-Secure (3DS) version, e.g. 1.0, 2.2, etc.
              type: string
              example: 2.1
            networkType: 
              description: Network type
              type: string
            eci: 
              description: Network related e-commerce indicator
              type: string
              example: 5
            condition: 
              description: 3DS authentication conditions
              type: string
            cavv: 
              description: 3DS cardholder authentication verification value (CAVV)
              type: string
              example: 5
            dsTranId: 
              description: Transaction ID from Directory Server
              type: string
              example: 7976543639
            xid: 
              description: 3DS XID parameter
              type: string
              example: SGVsbG8sIFdvcmxkIQ
      required: 
      - pan
      - expDate
    common-TranRqExtraAttrs: 
      description: Additional special parameters that can be passed to TX internal RTP transaction (refer to TX RTP specification for more details)
      type: object
      properties: 
        clerkName: 
          description: Operator name
          type: string
          example: Operator_1
        intMess: 
          description: Message ID
          type: integer
          example: 7
        textMess: 
          description: Text message container
          type: string
          example: TTY=8872;SHIF-6839;
        categoryCode: 
          description: Transaction category code
          type: string
          example: TCC3
        categoryText: 
          description: Transaction category name
          type: string
          example: Unhandled
        classification: 
          description: Transaction user-defined classifiers, as populated by the system and returned in the form of user-defined properties.
          $ref: "#/components/schemas/common-UserAttrs"
        match: 
          $ref: "#/components/schemas/common-TranMatch"
        userAttrs: 
          description: Transaction additional user-defined properties, configured in the system.
          $ref: "#/components/schemas/common-UserAttrs"
    contract-type-ContractTypeRef: 
      description: References to the contract type
      type: object
      properties: 
        id: 
          description: Contract type ID
          type: integer
          example: 97548
        rid: 
          description: Contract type reference ID
          type: string
          example: CTRID975
    tran-Vendor: 
      description: Reference to the service provider (payments)
      type: object
      properties: 
        rid: 
          description: Service provider reference ID (payee contract RID)
          type: string
          example: SPRID865439
      required: 
      - rid
    card-design-CardDesignRef: 
      description: Reference to card design
      type: object
      properties: 
        id: 
          description: Card design internal ID
          type: integer
          example: 12
        rid: 
          description: Card design reference ID
          type: string
          example: DESRID12
    common-ModifyTranApproveRs: 
      allOf: 
      - $ref: "#/components/schemas/common-TranApproveRs"
      - description: Response for approved object modification transaction
        type: object
        properties: 
          objectId: 
            description: Object internal ID in the system
            type: integer
            example: 77365
    card-design: 
      type: object
      description: Card design object
      properties: 
        ref: 
          $ref: "#/components/schemas/card-design-CardDesignRef"
        name: 
          description: Card design name in TX
          type: string
          example: Plain
    restriction-RestrictionRef: 
      description: References to the restriction/limit
      type: object
      properties: 
        guid: 
          description: Restriction internal ID
          type: string
          example: 7febf16f651b43b0a5e30da8da49e
        rid: 
          description: Restriction reference ID
          type: string
          example: RRID0847
    subject-SubjectKind: 
      description: Kind of the subject
      type: string
      enum: 
      - Person
      - Corporation
    common-MonetaryValue: 
      description: Amount and currency
      type: object
      properties: 
        amt: 
          description: Amount
          type: number
          example: 20.0
        ccy: 
          description: Alpha3 currency code
          type: string
          example: USD
    notification-type: 
      type: object
      description: Notification type object
      properties: 
        ref: 
          $ref: "#/components/schemas/notification-type-NotificationTypeRef"
        name: 
          description: Notification type name
          type: string
          example: OTP
        className: 
          description: Notification type class (=```Notification Contract Type```)
          type: string
          example: Base Notifications
        parentType: 
          description: In case of the notification type hierarchy, contains the reference to the parent notification type in the hierarchy
          $ref: "#/components/schemas/notification-type-NotificationTypeRef"
    contract: 
      type: object
      description: Contract object. Contract in TX represents a product common conditions and used by the system to power different services, such as card production ("issuing contract"), operations processing ("financial contract"), customer notifications, etc.
      properties: 
        ref: 
          $ref: "#/components/schemas/contract-ContractRef"
        className: 
          description: Contract class
          type: string
          example: Contract.Shadow
        type: 
          $ref: "#/components/schemas/contract-type-ContractTypeRef"
        client: 
          $ref: "#/components/schemas/subject-SubjectRef"
        details: 
          description: Details specific to the respective contract class
          anyOf: 
          - type: object
          - $ref: "#/components/schemas/contract_details-notify"
          - $ref: "#/components/schemas/contract_details-merchant-service"
          - $ref: "#/components/schemas/contract_details-merchant-settlement"
          - $ref: "#/components/schemas/contract_details-trch_rvl_credit"
          - $ref: "#/components/schemas/contract_details-shadow"
        userAttrs: 
          description: Contract user-defined attributes
          $ref: "#/components/schemas/common-UserAttrs"
    common-TranDeclineRs: 
      description: Response for declined transaction
      type: object
      properties: 
        tranId: 
          description: Unique transaction ID in the system
          type: integer
          example: 1357924680
        result: 
          description: Transaction decline result
          type: string
        code: 
          description: Decline reason code
          type: string
          example: 888
        description: 
          description: Decline reason text
          type: string
          example: Not available
    contract-type: 
      type: object
      description: Contract type object. Contract type in TX represents common features, rules and functions of business product or a service. Should not be confused with the "contract class", which is the most generic definition of a business product. Contract type can be included into hierarchies, thus allowing to inherit and redefine parameter values, which simplifies product management and control over complicated configurations.
      properties: 
        ref: 
          $ref: "#/components/schemas/contract-type-ContractTypeRef"
        name: 
          description: Contract type name
          type: string
          example: Revolving credit
        contractClassName: 
          description: Contract class name
          type: string
          example: Credit contracts
        isAbstract: 
          description: Indicates if the contract type can be used to create contracts of that type. A value of ```true``` indicates that the contract type is abstract and is _only_ used to build a hierarchy of contract types.
          type: boolean
        parentType: 
          description: In case of the contract type hierarchy, contains the reference to the parent contract type in the hierarchy
          $ref: "#/components/schemas/contract-type-ContractTypeRef"
        tariffPlans: 
          description: Default pricing parameters (tariff plans) for the business product, used by all contracts of that type
          type: array
          items: 
            $ref: "#/components/schemas/contract-type-TariffPlan"
    tran-InstallmentRq: 
      description: Parameters related to installment management request
      type: object
      properties: 
        byMerchant: 
          type: object
          description: Installment funded by a merchant
          properties: 
            typeId: 
              description: Installment-related Contract Type ID in TX
              type: integer
              example: 135
            trancheCnt: 
              description: Number of installments (without the initial payment)
              type: integer
              example: 5
            initialAmt: 
              description: Minimum initial payment amount in transaction currency
              type: number
              example: 237
        byIssuer: 
          type: object
          description: Installment funded by issuer or financial institution
          properties: 
            planId: 
              description: Installment plan ID as installment-related Contract Type RID in TX
              type: string
              example: CRID245
            trancheCnt: 
              description: Number of installments
              type: integer
              example: 6
    surcharge-tariff-plan-SurchargeTariffPlanRef: 
      description: Reference to the subject type
      type: object
      properties: 
        id: 
          description: Tariff plan ID
          type: string
          example: BHUMNF5OOJEH7AWVPAHS2OY6XYXX
        rid: 
          description: Tariff plan reference ID
          type: string
          example: TP23
    contract_details-merchant-settlement: 
      allOf: 
      - $ref: "#/components/schemas/contract_details"
      - type: object
        description: Merchant settlement contract details
    common-UserAttr: 
      description: User-defined attribute
      type: object
      properties: 
        rid: 
          description: Reference ID
          type: string
          example: UDPRID3
        val: 
          description: Value
          type: string
          example: VAL-1
    contract_details-notify: 
      allOf: 
      - $ref: "#/components/schemas/contract_details"
      - type: object
        description: Notification contract details. Notification contract describes how the system notifies customers about transactions, events, etc. The customer should have its active notification subscription, which is part of the notification contract. Subscription has different parameters to control and manage respective notifications.
        properties: 
          subscriptions: 
            type: array
            description: List of notification subscriptions
            items: 
              type: object
              description: Subscription details
              properties: 
                id: 
                  description: Subscription ID
                  type: integer
                  example: 13579
                type: 
                  $ref: "#/components/schemas/notification-type-NotificationTypeRef"
                status: 
                  description: Subscription status
                  type: string
                allowedAddressesIds: 
                  description: Delivery channel IDs allowed. A value of ```null``` indicates that all of addresses are allowed.
                  type: array
                  items: 
                    type: integer
                begSendTime: 
                  description: The system will not send notifications before this time (as the number of minutes after 00:00). For example, 420 means that the system will not send notifications before 7 AM (7*60).
                  type: integer
                  example: 420
                endSendTime: 
                  description: The system will not send notifications after this time (as the number of minutes after 00:00). For example, 1200 means that the system will not send notifications after 8 PM (20*60).
                  type: integer
                  example: 1200
                options: 
                  description: Subscription options configured in TX (as user-defined attributes)
                  $ref: "#/components/schemas/common-UserAttrs"
          addresses: 
            type: array
            description: Notification channel details
            items: 
              type: object
              description: Notification channel/address
              properties: 
                id: 
                  description: Channel ID
                  type: integer
                  example: 46803
                isActive: 
                  description: Channel status. A value of ```true``` means that the channel is active.
                  type: boolean
                channelKind: 
                  description: Channel type
                  type: string
                address: 
                  description: Notification delivery address, e.g. phone number, email, etc. For push notifications, contains the application address. A value of null means that the customer's contact information will be used.
                  type: string
                  example: abnet@mail.net
                deviceName: 
                  description: Device name as used for push notifications
                  type: string
                  example: XCID765369
    subject_details-corporation: 
      allOf: 
      - $ref: "#/components/schemas/subject_details"
      - type: object
        description: Company or corporate customer details
        properties: 
          parent: 
            description: In case of the company hierarchy, contains the reference to the parent company in the hierarchy
            $ref: "#/components/schemas/subject-SubjectRef"
          name: 
            description: Company full name
            type: string
            example: Strong Club
          shortName: 
            description: Company short name
            type: string
            example: S-Club
          legalName: 
            description: Company legal name
            type: string
            example: Strong Club Ltd.
          latName: 
            description: Company name in latin
            type: string
          address: 
            description: Company contact address
            $ref: "#/components/schemas/common-Address"
          legalAddress: 
            description: Company legal address
            $ref: "#/components/schemas/common-Address"
          mailAddress: 
            description: Company mailing address
            $ref: "#/components/schemas/common-Address"
          mcc: 
            description: Merchant category code
            type: integer
            example: 5942
    subject_details-person: 
      allOf: 
      - $ref: "#/components/schemas/subject_details"
      - type: object
        description: Person or individual customer details
        properties: 
          lastName: 
            description: Last name
            type: string
            example: Doe
          firstName: 
            description: First name
            type: string
            example: John
          middleName: 
            description: Middle name (if applicable)
            type: string
            example: V.
          birthDate: 
            description: Birth date
            type: string
            format: date
            example: 2000-10-21
          gender: 
            type: string
          residenceCountry: 
            description: Country of residence (ISO numeric code)
            type: integer
            example: 840
          citizenshipCountry: 
            description: Country of citizenship, main (ISO numeric code)
            type: integer
            example: 840
          extraCitizenships: 
            type: array
            description: Countries of citizenship, others (ISO numeric code)
            items: 
              type: integer
              example: 
              - 826
              - 840
          regAddress: 
            description: Registration address
            $ref: "#/components/schemas/common-Address"
          homeAddress: 
            description: Living address
            $ref: "#/components/schemas/common-Address"
          emails: 
            type: array
            description: List of e-mails
            items: 
              type: string
              example: go21@mail.net
          phones: 
            type: array
            description: List of contact phones
            items: 
              type: string
              example: 1217077304
          workPhones: 
            type: array
            description: List of work phones
            items: 
              type: string
              example: 18938077304
          restrictionsProfile: 
            $ref: "#/components/schemas/restriction-RestrictionProfileRef"
    common-TranMatch: 
      description: Transactions matching properties
      type: object
      properties: 
        key: 
          description: Represents the unique key for the operation (transaction). This key is assigned to the operation upon its successful processing (e.g. the object was updated successfully), so in case if the operation result is unknown for any reason, you can just repeat the same request with the same "key". If the transaction is not found in the system, it will be processed as expected, otherwise the system will respond that the transaction was already processed and no changes will be introduced.
          type: string
          example: adgjl1357guid
        rrn: 
          description: Retrieval request number. Used as the transaction reference value in some scenarios, e.g. while processing reversals etc.
          type: string
          example: RN6538303344
    contract_details-shadow: 
      allOf: 
      - $ref: "#/components/schemas/contract_details"
      - type: object
        description: \"Shadow" contract details. "Shadow" contract represents the case with the current account when the other system (e.g. Core-banking system) manages the actual account balance, while TX only manages cards and stores account common properties. Usually, such scenario requires an online integration with the account management system to authorize operations and change of the balance.
        properties: 
          mainCcy: 
            description: Contract currency (Alpha3 currency code). For multi-currency contracts, it is the main currency of the contract.
            type: string
            example: USD
          permOverdraft: 
            description: Permitted overdraft value, if allowed
            type: number
            example: 1000
          tmpOverdraft: 
            description: Temporary overdraft value allowed
            type: number
            example: 0
          tmpOverdraftExpiration: 
            description: Temporary overdraft expiration date and time, if applicable
            type: string
            format: date-time
            example: 2027-10-21T14:15:00
          balances: 
            description: Account balances
            type: object
            properties: 
              available: 
                description: Available balance (account balance – debit holds)
                type: number
                example: 5000
              ledger: 
                description: Lenger balance (account balance + credit holds)
                type: number
                example: 5200
              financial: 
                description: Account balance
                type: number
                example: 5000
              curCreditHolds: 
                description: Credit holds, total
                type: number
                example: 200
              curDebitHold: 
                description: Debit holds, total
                type: number
                example: 100
              permittedOverdraft: 
                description: Overdraft amount, available  (if applicable)
                type: number
                example: 500
              debt: 
                description: Debt amount, total (if applicable)
                type: number
                example: 300
    subject-document-type-SubjectDocumentTypeRef: 
      description: Reference to the document type
      type: object
      properties: 
        id: 
          description: Document type ID
          type: integer
          example: 56
        rid: 
          description: Document type reference ID
          type: string
          example: DTRID084
    common-Address: 
      description: Address and contact details
      type: object
      properties: 
        zip: 
          type: string
          example: NG71AE
        country: 
          type: integer
          description: ISO numeric code
        region: 
          type: string
          example: CAL
        regionRid: 
          type: string
          description: RID in address database
        area: 
          type: string
          example: Nord
        areaRid: 
          type: string
          description: RID in address database
        city: 
          type: string
          example: Homeburg
        cityRid: 
          type: string
          description: RID in address database
        street: 
          type: string
          example: Broadway
        streetRid: 
          type: string
          description: RID in address database
        house: 
          type: string
          example: 15
        building: 
          type: string
          example: 2
        construction: 
          type: string
          example: 1
        flat: 
          type: string
          example: 4
        addressInCity: 
          type: string
          example: null
        addressInCountry: 
          type: string
          example: null
        recipientName: 
          type: string
          example: Robert Smith
        phone: 
          type: string
          example: 976356838473
        fax: 
          type: string
          example: null
        mobile: 
          type: string
          example: 976356838473
        email: 
          type: string
          example: r.smith@mymail.net
        url: 
          type: string
          example: null
    contract_details-merchant-service: 
      allOf: 
      - $ref: "#/components/schemas/contract_details"
      - type: object
        description: Merchant service contract details
        properties: 
          settlementContract: 
            $ref: "#/components/schemas/contract-ContractRef"
    contract_details-trch_rvl_credit: 
      allOf: 
      - $ref: "#/components/schemas/contract_details"
      - type: object
        description: Revolving credit contract additional details
        properties: 
          mainCcy: 
            description: Contract currency (Alpha3 currency code). For multi-currency contracts, it is the main currency of the contract.
            type: string
            example: USD
          cclBaseAmt: 
            description: Contract credit limit. This is the *common base* value of the maximum credit amount allowed. Some credit contracts can also have other special credit limits, e.g. for debt categories. Please refer to the credit contracts configuration in TX for more detials.
            type: number
            example: 3000
          cclTmpAmt: 
            description: Temporary credit limit. Once set, is effective during the specified period of time and replaces the base credit limit.
            type: number
            example: 1000
          cclTmpPeriodBeg: 
            description: Temporary credit limit, effective from
            type: string
            format: date-time
            example: 2020-10-21T14:15:00
          cclTmpPeriodEnd: 
            description: Temporary credit limit, effective to
            type: string
            format: date-time
            example: 2021-10-21T14:15:00
          balances: 
            description: Contract balances
            type: object
            properties: 
              available: 
                description: Available balance (account balance – debit holds/used credit + own funds)
                type: number
                example: 3000
              ownAvailable: 
                description: Own funds available balance (if applicable). For some products, credit contract allows to have customer's own funds on the balance.
                type: number
                example: 1000
              ledger: 
                description: Lenger balance (account balance + credit holds)
                type: number
                example: 2000
              financial: 
                description: Account balance
                type: number
                example: 3000
              curCreditHolds: 
                description: Credit holds, total
                type: number
                example: 1000
              curDebitHold: 
                description: Debit holds, total
                type: number
                example: 300
              debt: 
                description: Debt amount, total
                type: number
                example: 1500
              creditLimit: 
                description: Current credit limit. This balance represents the current effective credit limit value, considering active temporary limit and contract's current restrictions.
                type: number
                example: 1500
    contract_details-TimeAndBusinessDay: 
      type: object
      properties: 
        time: 
          description: System time
          type: string
          format: date-time
          example: 2020-10-21T14:15:00
        businessDay: 
          description: Business day
          type: string
          format: date
          example: 2020-10-21
    subject_details: 
      type: object
      description: Common properties of subject of any kind
      properties: 
        mailAddress: 
          description: Contact address
          $ref: "#/components/schemas/common-Address"
        languageCode: 
          description: Contact language (ISO alpha-2 language code)
          type: string
          example: EN
        locale: 
          description: Communication locale (IETF language tag)
          type: string
          example: en-US
        status: 
          description: Person/company status in TX
          type: string
        notificationContractId: 
          description: In case if the person/company has active notification subscriptions, the internal ID of the currently active notification contract (also refer to "contract" object for more details)
          type: integer
          example: 3987
        userAttrs: 
          $ref: "#/components/schemas/common-UserAttrs"
    contract_details: 
      type: object
      description: Common properties of contract of any class
      properties: 
        status: 
          description: Contract status
          type: string
        name: 
          description: Contract name
          type: string
          example: The first contract
        dates: 
          type: object
          properties: 
            creation: 
              description: Contract creation date
              $ref: "#/components/schemas/contract_details-TimeAndBusinessDay"
            activation: 
              description: Contract activation date
              $ref: "#/components/schemas/contract_details-TimeAndBusinessDay"
            finish: 
              description: Date the contract was prepared for closure
              $ref: "#/components/schemas/contract_details-TimeAndBusinessDay"
            closure: 
              description: Contract closure date
              $ref: "#/components/schemas/contract_details-TimeAndBusinessDay"
        usageRestriction: 
          description: Usage restriction applied to the contract, e.g. due to delinquency state etc.
        restrictionsProfile: 
          description: Reference to contract restriction profile
          $ref: "#/components/schemas/restriction-RestrictionProfileRef"
        sharedTariffPlan: 
          description: Reference to common (shared) pricing (tariff plan). The shared tariff plan is defined in the contract type and applicable to all contracts of that type by default, if individual pricing is not applied to the contract.
          $ref: "#/components/schemas/contract-type-TariffPlanRef"
        userAttrs: 
          description: User-defined attributes
          $ref: "#/components/schemas/common-UserAttrs"
  securitySchemes: 
    Basic: 
      type: http
      scheme: basic
  responses: 
    TranApprove: 
      description: Transaction approved
      content: 
        application/json: 
          schema: 
            $ref: "#/components/schemas/common-TranApproveRs"
    ModifyTranApprove: 
      description: Transaction approved
      content: 
        application/json: 
          schema: 
            $ref: "#/components/schemas/common-ModifyTranApproveRs"
    TranDecline: 
      description: Transaction declined
      content: 
        application/json: 
          schema: 
            $ref: "#/components/schemas/common-TranDeclineRs"
    BadRequest: 
      description: Bad request
    Unauthorized: 
      description: Unauthorized
    Forbidden: 
      description: Forbidden
    NotFound: 
      description: Not found
    InternalServerError: 
      description: Internal server error