API reference

Find below the reference APIs for PAPE. It’s best to follow the tutorial section first.

Use tools like Insomnia, POSTMAN, or https://editor.swagger.io/ to read the reference API documentation.

Note that not all APIs need concern you directly, the Financial Institution integrator.

OPENAPI spec

openapi: 3.0.0
info:
  version: 0.0.1
  title: ProjectWhite
  description: ProjectWhite

servers:
  - url: https://apis-alpha.dev.projectwhite.io
  - url: http://localhost:8080

components:
  responses:
    UnauthorizedError:
      description: Access token is missing or invalid
tags:
  - name: Payment Gateways
  - name: Liquidity Providers
  - name: Liquidity Providers - Deposits
  - name: Liquidity Providers - Withdrawals
  - name: Liquidity Providers - Exchange Rates
  - name: Liquidity Providers - Transfers
  - name: Payment Gateway Liquidity Provider Withdrawals
  - name: Payment Intents
  - name: Payments

paths:
    /payment-gateways:
      post:
        summary: "Post a new payment-gateway"
        tags:
          - Payment Gateways
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      countryCode:
                          type: string
                          description: Country Code of the payment gateway
                      currency:
                          type: string
                          description: Currency of the payment gateway
                      type:
                          type: string
                          description: Type of the payment gateway
                      institutionId:
                          type: string
                          description: Short local name of the Payment Gateway Institution
                      name:
                          type: string
                          description: Name of the Payment Institution
                      feeStructure:
                          type: string
                          description: Payment Gateways should respond with the fee structure for internal payments
                      rsaPublicKeyBase64:
                          type: string
                          description: RSA Key used to authenticate and sign all api requests. Encode with Base64
                      email:
                          type: string
                          description: Email of the Payment Gateway
                      website:
                          type: string
                          description: Website of the Payment Gateway
                      accountVerificationEndpoint:
                          type: string
                          description: Account Verification Endpoint
                      accountVerificationBearerToken:
                          type: string
                          description: Account Verification Bearer Token
        
        responses:
          '200':
            description: "Succesfully created new payment-gateway"
            content:
              application/json:
                  schema:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID of new item
                        countryCode:
                            type: string
                            description: Country Code of the payment gateway
                        currency:
                            type: string
                            description: Currency of the payment gateway
                        type:
                            type: string
                            description: Type of the payment gateway
                        institutionId:
                            type: string
                            description: Short local name of the Payment Gateway Institution
                        name:
                            type: string
                            description: Name of the Payment Institution
                        feeStructure:
                            type: string
                            description: Payment Gateways should respond with the fee structure for internal payments
                        rsaPublicKeyBase64:
                            type: string
                            description: RSA Key used to authenticate and sign all api requests. Encode with Base64
                        email:
                            type: string
                            description: Email of the Payment Gateway
                        website:
                            type: string
                            description: Website of the Payment Gateway
                        accountVerificationEndpoint:
                            type: string
                            description: Account Verification Endpoint
                        accountVerificationBearerToken:
                            type: string
                            description: Account Verification Bearer Token
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      get:
        summary: "Returns a list of payment-gateways"
        tags:
          - Payment Gateways
        parameters:
          - name: _size
            in: query
            description: Limits the number of items on a page
            schema:
              type: integer
          - name: _before
            in: query
            description: Specifies the pagingToken that will be used as max
            schema: 
              type: string
          - name: _after
            in: query
            description: Specifies the pagingToken that will be used as min
            schema: 
              type: string
          - name: _sort
            in: query
            description: fieldname.asc or fieldname.desc or fieldname.asc,otherfield.desc
            schema: 
              type: string
          - name: countryCode
            in: query
            required: false
            description: "filter by Country Code"
            schema: 
              type: string
          - name: currency
            in: query
            required: false
            description: "filter by Currency of the payment gateway"
            schema: 
              type: string
          - name: type
            in: query
            required: false
            description: "filter by Type of Payment Gateway"
            schema: 
              type: string
          - name: institutionId
            in: query
            required: false
            description: "filter by Institution Id"
            schema: 
              type: string
          - name: name
            in: query
            required: false
            description: "filter by Name Of the Payment Institution"
            schema: 
              type: string
          - name: feeStructure
            in: query
            required: false
            description: "filter by Fee Structure for Payments within the Payment Gateway"
            schema: 
              type: string
          - name: rsaPublicKeyBase64
            in: query
            required: false
            description: "filter by Rsa Public Key Base64 Encoded"
            schema: 
              type: string
          - name: email
            in: query
            required: false
            description: "filter by Email of the Payment Gateway"
            schema: 
              type: string
          - name: website
            in: query
            required: false
            description: "filter by Website of the Payment Gateway"
            schema: 
              type: string
          - name: accountVerificationEndpoint
            in: query
            required: false
            description: "filter by Account Verification Endpoint"
            schema: 
              type: string
          - name: accountVerificationBearerToken
            in: query
            required: false
            description: "filter by Account Verification Bearer Token"
            schema: 
              type: string

          
        responses:
          '200':
            description: Successfully returned a list of payment-gateways
            content:
              application/json:
                schema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      countryCode:
                          type: string
                          description: Country Code. Country Code of the payment gateway
                      currency:
                          type: string
                          description: Currency of the payment gateway. Currency of the payment gateway
                      type:
                          type: string
                          description: Type of Payment Gateway. Type of the payment gateway
                      institutionId:
                          type: string
                          description: Institution Id. Short local name of the Payment Gateway Institution
                      name:
                          type: string
                          description: Name Of the Payment Institution. Name of the Payment Institution
                      feeStructure:
                          type: string
                          description: Fee Structure for Payments within the Payment Gateway. Payment Gateways should respond with the fee structure for internal payments
                      rsaPublicKeyBase64:
                          type: string
                          description: Rsa Public Key Base64 Encoded. RSA Key used to authenticate and sign all api requests. Encode with Base64
                      email:
                          type: string
                          description: Email of the Payment Gateway. Email of the Payment Gateway
                      website:
                          type: string
                          description: Website of the Payment Gateway. Website of the Payment Gateway
                      accountVerificationEndpoint:
                          type: string
                          description: Account Verification Endpoint. Account Verification Endpoint
                      accountVerificationBearerToken:
                          type: string
                          description: Account Verification Bearer Token. Account Verification Bearer Token

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'



    /payment-gateways/{v-payment-gateway-id}:

      get:
        summary: Obtain information about payment-gateway from id
        tags:
          - Payment Gateways
        parameters:
          - name: v-payment-gateway-id
            in: path
            required: true
            schema:
              type: string
          - name: countryCode
            in: query
            required: False
            description: "Country Code"
            schema: 
              type: string
          - name: currency
            in: query
            required: False
            description: "Currency of the payment gateway"
            schema: 
              type: string
          - name: type
            in: query
            required: False
            description: "Type of Payment Gateway"
            schema: 
              type: string
          - name: institutionId
            in: query
            required: False
            description: "Institution Id"
            schema: 
              type: string
          - name: name
            in: query
            required: False
            description: "Name Of the Payment Institution"
            schema: 
              type: string
          - name: feeStructure
            in: query
            required: False
            description: "Fee Structure for Payments within the Payment Gateway"
            schema: 
              type: string
          - name: rsaPublicKeyBase64
            in: query
            required: False
            description: "Rsa Public Key Base64 Encoded"
            schema: 
              type: string
          - name: email
            in: query
            required: False
            description: "Email of the Payment Gateway"
            schema: 
              type: string
          - name: website
            in: query
            required: False
            description: "Website of the Payment Gateway"
            schema: 
              type: string
          - name: accountVerificationEndpoint
            in: query
            required: False
            description: "Account Verification Endpoint"
            schema: 
              type: string
          - name: accountVerificationBearerToken
            in: query
            required: False
            description: "Account Verification Bearer Token"
            schema: 
              type: string


        responses:
          '200':
            description: Successfully returned one payment-gateways
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      countryCode:
                          type: string
                          description: Country Code. Country Code of the payment gateway
                      currency:
                          type: string
                          description: Currency of the payment gateway. Currency of the payment gateway
                      type:
                          type: string
                          description: Type of Payment Gateway. Type of the payment gateway
                      institutionId:
                          type: string
                          description: Institution Id. Short local name of the Payment Gateway Institution
                      name:
                          type: string
                          description: Name Of the Payment Institution. Name of the Payment Institution
                      feeStructure:
                          type: string
                          description: Fee Structure for Payments within the Payment Gateway. Payment Gateways should respond with the fee structure for internal payments
                      rsaPublicKeyBase64:
                          type: string
                          description: Rsa Public Key Base64 Encoded. RSA Key used to authenticate and sign all api requests. Encode with Base64
                      email:
                          type: string
                          description: Email of the Payment Gateway. Email of the Payment Gateway
                      website:
                          type: string
                          description: Website of the Payment Gateway. Website of the Payment Gateway
                      accountVerificationEndpoint:
                          type: string
                          description: Account Verification Endpoint. Account Verification Endpoint
                      accountVerificationBearerToken:
                          type: string
                          description: Account Verification Bearer Token. Account Verification Bearer Token

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      put:
        summary: "Update existing payment-gateway"
        tags:
          - Payment Gateways
        parameters:

          - name: v-payment-gateway-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      countryCode:
                          type: string
                          description: Country Code of the payment gateway
                      currency:
                          type: string
                          description: Currency of the payment gateway
                      type:
                          type: string
                          description: Type of the payment gateway
                      institutionId:
                          type: string
                          description: Short local name of the Payment Gateway Institution
                      name:
                          type: string
                          description: Name of the Payment Institution
                      feeStructure:
                          type: string
                          description: Payment Gateways should respond with the fee structure for internal payments
                      rsaPublicKeyBase64:
                          type: string
                          description: RSA Key used to authenticate and sign all api requests. Encode with Base64
                      email:
                          type: string
                          description: Email of the Payment Gateway
                      website:
                          type: string
                          description: Website of the Payment Gateway
                      accountVerificationEndpoint:
                          type: string
                          description: Account Verification Endpoint
                      accountVerificationBearerToken:
                          type: string
                          description: Account Verification Bearer Token
        
        responses:
          '200':
            description: "Succesfully updated payment-gateway"
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      
    /liquidity-providers:
      post:
        summary: "Post a new liquidity-provider"
        tags:
          - Liquidity Providers
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      firstName:
                          type: string
                          description: First Name of the Liquidity Provider
                      lastName:
                          type: string
                          description: Last Name of the Liquidity Provider
                      email:
                          type: string
                          description: Email of the Liquidity Provider
        
        responses:
          '200':
            description: "Succesfully created new liquidity-provider"
            content:
              application/json:
                  schema:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID of new item
                        firstName:
                            type: string
                            description: First Name of the Liquidity Provider
                        lastName:
                            type: string
                            description: Last Name of the Liquidity Provider
                        email:
                            type: string
                            description: Email of the Liquidity Provider
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      get:
        summary: "Returns a list of liquidity-providers"
        tags:
          - Liquidity Providers
        parameters:
          - name: _size
            in: query
            description: Limits the number of items on a page
            schema:
              type: integer
          - name: _before
            in: query
            description: Specifies the pagingToken that will be used as max
            schema: 
              type: string
          - name: _after
            in: query
            description: Specifies the pagingToken that will be used as min
            schema: 
              type: string
          - name: _sort
            in: query
            description: fieldname.asc or fieldname.desc or fieldname.asc,otherfield.desc
            schema: 
              type: string
          - name: firstName
            in: query
            required: false
            description: "filter by First Name of the Liquidity Provider"
            schema: 
              type: string
          - name: lastName
            in: query
            required: false
            description: "filter by Last Name of the Liquidity Provider"
            schema: 
              type: string
          - name: email
            in: query
            required: false
            description: "filter by Email of the Liquidity Provider"
            schema: 
              type: string

          
        responses:
          '200':
            description: Successfully returned a list of liquidity-providers
            content:
              application/json:
                schema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      firstName:
                          type: string
                          description: First Name of the Liquidity Provider. First Name of the Liquidity Provider
                      lastName:
                          type: string
                          description: Last Name of the Liquidity Provider. Last Name of the Liquidity Provider
                      email:
                          type: string
                          description: Email of the Liquidity Provider. Email of the Liquidity Provider

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'



    /liquidity-providers/{v-liquidity-provider-id}:

      get:
        summary: Obtain information about liquidity-provider from id
        tags:
          - Liquidity Providers
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: firstName
            in: query
            required: False
            description: "First Name of the Liquidity Provider"
            schema: 
              type: string
          - name: lastName
            in: query
            required: False
            description: "Last Name of the Liquidity Provider"
            schema: 
              type: string
          - name: email
            in: query
            required: False
            description: "Email of the Liquidity Provider"
            schema: 
              type: string


        responses:
          '200':
            description: Successfully returned one liquidity-providers
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      firstName:
                          type: string
                          description: First Name of the Liquidity Provider. First Name of the Liquidity Provider
                      lastName:
                          type: string
                          description: Last Name of the Liquidity Provider. Last Name of the Liquidity Provider
                      email:
                          type: string
                          description: Email of the Liquidity Provider. Email of the Liquidity Provider

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      put:
        summary: "Update existing liquidity-provider"
        tags:
          - Liquidity Providers
        parameters:

          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      firstName:
                          type: string
                          description: First Name of the Liquidity Provider
                      lastName:
                          type: string
                          description: Last Name of the Liquidity Provider
                      email:
                          type: string
                          description: Email of the Liquidity Provider
        
        responses:
          '200':
            description: "Succesfully updated liquidity-provider"
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      
    /liquidity-providers/{v-liquidity-provider-id}/deposits:
      post:
        summary: "Post a new deposit"
        tags:
          - Liquidity Providers - Deposits
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      paymentGatewayId:
                          type: string
                          description: Payment Gateway Id where the funds were deposited into.
                      paymentGatewayTransactionId:
                          type: string
                          description: Payment Gateway Transaction Id references deposited funds.
                      amount:
                          type: string
                          description: Amount deposited
                      currency:
                          type: string
                          description: Currency Deposited
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id for successful deposit
        
        responses:
          '200':
            description: "Succesfully created new deposit"
            content:
              application/json:
                  schema:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID of new item
                        paymentGatewayId:
                            type: string
                            description: Payment Gateway Id where the funds were deposited into.
                        paymentGatewayTransactionId:
                            type: string
                            description: Payment Gateway Transaction Id references deposited funds.
                        amount:
                            type: string
                            description: Amount deposited
                        currency:
                            type: string
                            description: Currency Deposited
                        requestUri:
                            type: string
                            description: Request Uri
                        requestBody:
                            type: string
                            description: Request Body
                        paymentGatewayPublicKeyBase64:
                            type: string
                            description: Public Key Used, Base64
                        requestSignatureBase64:
                            type: string
                            description: Request Signature Base64
                        blockchainTransactionId:
                            type: string
                            description: Blockchain Transaction Id for successful deposit
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      get:
        summary: "Returns a list of deposits"
        tags:
          - Liquidity Providers - Deposits
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: _size
            in: query
            description: Limits the number of items on a page
            schema:
              type: integer
          - name: _before
            in: query
            description: Specifies the pagingToken that will be used as max
            schema: 
              type: string
          - name: _after
            in: query
            description: Specifies the pagingToken that will be used as min
            schema: 
              type: string
          - name: _sort
            in: query
            description: fieldname.asc or fieldname.desc or fieldname.asc,otherfield.desc
            schema: 
              type: string
          - name: paymentGatewayId
            in: query
            required: false
            description: "filter by Payment Gateway Id where the funds were deposited into."
            schema: 
              type: string
          - name: paymentGatewayTransactionId
            in: query
            required: false
            description: "filter by Payment Gateway Transaction Id "
            schema: 
              type: string
          - name: amount
            in: query
            required: false
            description: "filter by Amount deposited"
            schema: 
              type: string
          - name: currency
            in: query
            required: false
            description: "filter by Currency Deposited"
            schema: 
              type: string
          - name: requestUri
            in: query
            required: false
            description: "filter by Request Uri"
            schema: 
              type: string
          - name: requestBody
            in: query
            required: false
            description: "filter by Request Body"
            schema: 
              type: string
          - name: paymentGatewayPublicKeyBase64
            in: query
            required: false
            description: "filter by Public Key Used, Base64"
            schema: 
              type: string
          - name: requestSignatureBase64
            in: query
            required: false
            description: "filter by Request Signature Base64"
            schema: 
              type: string
          - name: blockchainTransactionId
            in: query
            required: false
            description: "filter by Blockchain Transaction Id"
            schema: 
              type: string

          
        responses:
          '200':
            description: Successfully returned a list of deposits
            content:
              application/json:
                schema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      paymentGatewayId:
                          type: string
                          description: Payment Gateway Id where the funds were deposited into.. Payment Gateway Id where the funds were deposited into.
                      paymentGatewayTransactionId:
                          type: string
                          description: Payment Gateway Transaction Id . Payment Gateway Transaction Id references deposited funds.
                      amount:
                          type: string
                          description: Amount deposited. Amount deposited
                      currency:
                          type: string
                          description: Currency Deposited. Currency Deposited
                      requestUri:
                          type: string
                          description: Request Uri. Request Uri
                      requestBody:
                          type: string
                          description: Request Body. Request Body
                      paymentGatewayPublicKeyBase64:
                          type: string
                          description: Public Key Used, Base64. Public Key Used, Base64
                      requestSignatureBase64:
                          type: string
                          description: Request Signature Base64. Request Signature Base64
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id. Blockchain Transaction Id for successful deposit

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'



    /liquidity-providers/{v-liquidity-provider-id}/deposits/{v-deposit-id}:

      get:
        summary: Obtain information about deposit from id
        tags:
          - Liquidity Providers - Deposits
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: v-deposit-id
            in: path
            required: true
            schema:
              type: string
          - name: paymentGatewayId
            in: query
            required: False
            description: "Payment Gateway Id where the funds were deposited into."
            schema: 
              type: string
          - name: paymentGatewayTransactionId
            in: query
            required: False
            description: "Payment Gateway Transaction Id "
            schema: 
              type: string
          - name: amount
            in: query
            required: False
            description: "Amount deposited"
            schema: 
              type: string
          - name: currency
            in: query
            required: False
            description: "Currency Deposited"
            schema: 
              type: string
          - name: requestUri
            in: query
            required: False
            description: "Request Uri"
            schema: 
              type: string
          - name: requestBody
            in: query
            required: False
            description: "Request Body"
            schema: 
              type: string
          - name: paymentGatewayPublicKeyBase64
            in: query
            required: False
            description: "Public Key Used, Base64"
            schema: 
              type: string
          - name: requestSignatureBase64
            in: query
            required: False
            description: "Request Signature Base64"
            schema: 
              type: string
          - name: blockchainTransactionId
            in: query
            required: False
            description: "Blockchain Transaction Id"
            schema: 
              type: string


        responses:
          '200':
            description: Successfully returned one deposits
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      paymentGatewayId:
                          type: string
                          description: Payment Gateway Id where the funds were deposited into.. Payment Gateway Id where the funds were deposited into.
                      paymentGatewayTransactionId:
                          type: string
                          description: Payment Gateway Transaction Id . Payment Gateway Transaction Id references deposited funds.
                      amount:
                          type: string
                          description: Amount deposited. Amount deposited
                      currency:
                          type: string
                          description: Currency Deposited. Currency Deposited
                      requestUri:
                          type: string
                          description: Request Uri. Request Uri
                      requestBody:
                          type: string
                          description: Request Body. Request Body
                      paymentGatewayPublicKeyBase64:
                          type: string
                          description: Public Key Used, Base64. Public Key Used, Base64
                      requestSignatureBase64:
                          type: string
                          description: Request Signature Base64. Request Signature Base64
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id. Blockchain Transaction Id for successful deposit

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      put:
        summary: "Update existing deposit"
        tags:
          - Liquidity Providers - Deposits
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string

          - name: v-deposit-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      paymentGatewayId:
                          type: string
                          description: Payment Gateway Id where the funds were deposited into.
                      paymentGatewayTransactionId:
                          type: string
                          description: Payment Gateway Transaction Id references deposited funds.
                      amount:
                          type: string
                          description: Amount deposited
                      currency:
                          type: string
                          description: Currency Deposited
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id for successful deposit
        
        responses:
          '200':
            description: "Succesfully updated deposit"
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      
    /liquidity-providers/{v-liquidity-provider-id}/withdrawals:
      post:
        summary: "Post a new withdrawal"
        tags:
          - Liquidity Providers - Withdrawals
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      paymentGatewayId:
                          type: string
                          description: Payment Gateway Id where the funds will be withdrawn from.
                      amount:
                          type: string
                          description: Amount to withdraw
                      fee:
                          type: string
                          description: Fee for amount to be withdrawn
                      currency:
                          type: string
                          description: Currency To be Withdrawn
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id for successful deposit
                      status:
                          type: string
                          description: Status of the withdrawal request
        
        responses:
          '200':
            description: "Succesfully created new withdrawal"
            content:
              application/json:
                  schema:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID of new item
                        paymentGatewayId:
                            type: string
                            description: Payment Gateway Id where the funds will be withdrawn from.
                        paymentGatewayTransactionId:
                            type: string
                            description: Payment Gateway Transaction Id refers to the payment gateway transaction id of the processed withdrawal.
                        amount:
                            type: string
                            description: Amount to withdraw
                        fee:
                            type: string
                            description: Fee for amount to be withdrawn
                        currency:
                            type: string
                            description: Currency To be Withdrawn
                        blockchainTransactionId:
                            type: string
                            description: Blockchain Transaction Id for successful deposit
                        status:
                            type: string
                            description: Status of the withdrawal request
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      get:
        summary: "Returns a list of withdrawals"
        tags:
          - Liquidity Providers - Withdrawals
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: _size
            in: query
            description: Limits the number of items on a page
            schema:
              type: integer
          - name: _before
            in: query
            description: Specifies the pagingToken that will be used as max
            schema: 
              type: string
          - name: _after
            in: query
            description: Specifies the pagingToken that will be used as min
            schema: 
              type: string
          - name: _sort
            in: query
            description: fieldname.asc or fieldname.desc or fieldname.asc,otherfield.desc
            schema: 
              type: string
          - name: paymentGatewayId
            in: query
            required: false
            description: "filter by Payment Gateway Id where the funds will be withdrawn from."
            schema: 
              type: string
          - name: paymentGatewayTransactionId
            in: query
            required: false
            description: "filter by Payment Gateway Transaction Id "
            schema: 
              type: string
          - name: amount
            in: query
            required: false
            description: "filter by Amount to withdraw"
            schema: 
              type: string
          - name: fee
            in: query
            required: false
            description: "filter by withdrawal Fee"
            schema: 
              type: string
          - name: currency
            in: query
            required: false
            description: "filter by Currency To be Withdrawan"
            schema: 
              type: string
          - name: blockchainTransactionId
            in: query
            required: false
            description: "filter by Blockchain Transaction Id"
            schema: 
              type: string
          - name: status
            in: query
            required: false
            description: "filter by Status of the withdrawal request"
            schema: 
              type: string

          
        responses:
          '200':
            description: Successfully returned a list of withdrawals
            content:
              application/json:
                schema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      paymentGatewayId:
                          type: string
                          description: Payment Gateway Id where the funds will be withdrawn from.. Payment Gateway Id where the funds will be withdrawn from.
                      paymentGatewayTransactionId:
                          type: string
                          description: Payment Gateway Transaction Id . Payment Gateway Transaction Id refers to the payment gateway transaction id of the processed withdrawal.
                      amount:
                          type: string
                          description: Amount to withdraw. Amount to withdraw
                      fee:
                          type: string
                          description: withdrawal Fee. Fee for amount to be withdrawn
                      currency:
                          type: string
                          description: Currency To be Withdrawan. Currency To be Withdrawn
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id. Blockchain Transaction Id for successful deposit
                      status:
                          type: string
                          description: Status of the withdrawal request. Status of the withdrawal request

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'



    /liquidity-providers/{v-liquidity-provider-id}/withdrawals/{v-withdrawal-id}:

      get:
        summary: Obtain information about withdrawal from id
        tags:
          - Liquidity Providers - Withdrawals
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: v-withdrawal-id
            in: path
            required: true
            schema:
              type: string
          - name: paymentGatewayId
            in: query
            required: False
            description: "Payment Gateway Id where the funds will be withdrawn from."
            schema: 
              type: string
          - name: paymentGatewayTransactionId
            in: query
            required: False
            description: "Payment Gateway Transaction Id "
            schema: 
              type: string
          - name: amount
            in: query
            required: False
            description: "Amount to withdraw"
            schema: 
              type: string
          - name: fee
            in: query
            required: False
            description: "withdrawal Fee"
            schema: 
              type: string
          - name: currency
            in: query
            required: False
            description: "Currency To be Withdrawan"
            schema: 
              type: string
          - name: blockchainTransactionId
            in: query
            required: False
            description: "Blockchain Transaction Id"
            schema: 
              type: string
          - name: status
            in: query
            required: False
            description: "Status of the withdrawal request"
            schema: 
              type: string


        responses:
          '200':
            description: Successfully returned one withdrawals
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      paymentGatewayId:
                          type: string
                          description: Payment Gateway Id where the funds will be withdrawn from.. Payment Gateway Id where the funds will be withdrawn from.
                      paymentGatewayTransactionId:
                          type: string
                          description: Payment Gateway Transaction Id . Payment Gateway Transaction Id refers to the payment gateway transaction id of the processed withdrawal.
                      amount:
                          type: string
                          description: Amount to withdraw. Amount to withdraw
                      fee:
                          type: string
                          description: withdrawal Fee. Fee for amount to be withdrawn
                      currency:
                          type: string
                          description: Currency To be Withdrawan. Currency To be Withdrawn
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id. Blockchain Transaction Id for successful deposit
                      status:
                          type: string
                          description: Status of the withdrawal request. Status of the withdrawal request

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      put:
        summary: "Update existing withdrawal"
        tags:
          - Liquidity Providers - Withdrawals
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string

          - name: v-withdrawal-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      paymentGatewayId:
                          type: string
                          description: Payment Gateway Id where the funds will be withdrawn from.
                      amount:
                          type: string
                          description: Amount to withdraw
                      fee:
                          type: string
                          description: Fee for amount to be withdrawn
                      currency:
                          type: string
                          description: Currency To be Withdrawn
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id for successful deposit
                      status:
                          type: string
                          description: Status of the withdrawal request
        
        responses:
          '200':
            description: "Succesfully updated withdrawal"
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      
    /liquidity-providers/{v-liquidity-provider-id}/exchange-rates:
      post:
        summary: "Post a new exchange-rate"
        tags:
          - Liquidity Providers - Exchange Rates
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      baseGatewayId:
                          type: string
                          description: Base Gateway Id
                      counterGatewayId:
                          type: string
                          description: Counter Gateway Id
                      baseCurrency:
                          type: string
                          description: Base Currency
                      counterCurrency:
                          type: string
                          description: Counter Currency
                      buyPrice:
                          type: string
                          description: Price to Buy 1 Base Currency in Counter currency
                      sellPrice:
                          type: string
                          description: Price to Sell 1 Base Currency in Counter currency
        
        responses:
          '200':
            description: "Succesfully created new exchange-rate"
            content:
              application/json:
                  schema:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID of new item
                        baseGatewayId:
                            type: string
                            description: Base Gateway Id
                        counterGatewayId:
                            type: string
                            description: Counter Gateway Id
                        baseCurrency:
                            type: string
                            description: Base Currency
                        counterCurrency:
                            type: string
                            description: Counter Currency
                        buyPrice:
                            type: string
                            description: Price to Buy 1 Base Currency in Counter currency
                        sellPrice:
                            type: string
                            description: Price to Sell 1 Base Currency in Counter currency
                        buyPriceN:
                            type: integer
                            description: Price to Buy 1 Base Currency in Counter currency
                        buyPriceD:
                            type: integer
                            description: Price to Buy 1 Base Currency in Counter currency
                        sellPriceN:
                            type: integer
                            description: Price to Sell 1 Base Currency in Counter currency
                        sellPriceD:
                            type: integer
                            description: Price to Sell 1 Base Currency in Counter currency
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      get:
        summary: "Returns a list of exchange-rates"
        tags:
          - Liquidity Providers - Exchange Rates
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: _size
            in: query
            description: Limits the number of items on a page
            schema:
              type: integer
          - name: _before
            in: query
            description: Specifies the pagingToken that will be used as max
            schema: 
              type: string
          - name: _after
            in: query
            description: Specifies the pagingToken that will be used as min
            schema: 
              type: string
          - name: _sort
            in: query
            description: fieldname.asc or fieldname.desc or fieldname.asc,otherfield.desc
            schema: 
              type: string
          - name: baseGatewayId
            in: query
            required: false
            description: "filter by Base Gateway Id"
            schema: 
              type: string
          - name: counterGatewayId
            in: query
            required: false
            description: "filter by Counter Gateway Id"
            schema: 
              type: string
          - name: baseCurrency
            in: query
            required: false
            description: "filter by Base Currency"
            schema: 
              type: string
          - name: counterCurrency
            in: query
            required: false
            description: "filter by Counter Currency"
            schema: 
              type: string
          - name: buyPrice
            in: query
            required: false
            description: "filter by Price to Buy 1 Base Currency in Counter currency"
            schema: 
              type: string
          - name: sellPrice
            in: query
            required: false
            description: "filter by Price to Sell 1 Base Currency in Counter currency"
            schema: 
              type: string
          - name: buyPriceN
            in: query
            required: false
            description: "filter by Price to Buy 1 Base Currency in Counter currency"
            schema: 
              type: integer
          - name: buyPriceD
            in: query
            required: false
            description: "filter by Price to Buy 1 Base Currency in Counter currency"
            schema: 
              type: integer
          - name: sellPriceN
            in: query
            required: false
            description: "filter by Price to Sell 1 Base Currency in Counter currency"
            schema: 
              type: integer
          - name: sellPriceD
            in: query
            required: false
            description: "filter by Price to Sell 1 Base Currency in Counter currency"
            schema: 
              type: integer

          
        responses:
          '200':
            description: Successfully returned a list of exchange-rates
            content:
              application/json:
                schema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      baseGatewayId:
                          type: string
                          description: Base Gateway Id. Base Gateway Id
                      counterGatewayId:
                          type: string
                          description: Counter Gateway Id. Counter Gateway Id
                      baseCurrency:
                          type: string
                          description: Base Currency. Base Currency
                      counterCurrency:
                          type: string
                          description: Counter Currency. Counter Currency
                      buyPrice:
                          type: string
                          description: Price to Buy 1 Base Currency in Counter currency. Price to Buy 1 Base Currency in Counter currency
                      sellPrice:
                          type: string
                          description: Price to Sell 1 Base Currency in Counter currency. Price to Sell 1 Base Currency in Counter currency
                      buyPriceN:
                          type: integer
                          description: Price to Buy 1 Base Currency in Counter currency. Price to Buy 1 Base Currency in Counter currency
                      buyPriceD:
                          type: integer
                          description: Price to Buy 1 Base Currency in Counter currency. Price to Buy 1 Base Currency in Counter currency
                      sellPriceN:
                          type: integer
                          description: Price to Sell 1 Base Currency in Counter currency. Price to Sell 1 Base Currency in Counter currency
                      sellPriceD:
                          type: integer
                          description: Price to Sell 1 Base Currency in Counter currency. Price to Sell 1 Base Currency in Counter currency

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'



    /liquidity-providers/{v-liquidity-provider-id}/exchange-rates/{v-exchange-rate-id}:

      get:
        summary: Obtain information about exchange-rate from id
        tags:
          - Liquidity Providers - Exchange Rates
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: v-exchange-rate-id
            in: path
            required: true
            schema:
              type: string
          - name: baseGatewayId
            in: query
            required: False
            description: "Base Gateway Id"
            schema: 
              type: string
          - name: counterGatewayId
            in: query
            required: False
            description: "Counter Gateway Id"
            schema: 
              type: string
          - name: baseCurrency
            in: query
            required: False
            description: "Base Currency"
            schema: 
              type: string
          - name: counterCurrency
            in: query
            required: False
            description: "Counter Currency"
            schema: 
              type: string
          - name: buyPrice
            in: query
            required: False
            description: "Price to Buy 1 Base Currency in Counter currency"
            schema: 
              type: string
          - name: sellPrice
            in: query
            required: False
            description: "Price to Sell 1 Base Currency in Counter currency"
            schema: 
              type: string
          - name: buyPriceN
            in: query
            required: False
            description: "Price to Buy 1 Base Currency in Counter currency"
            schema: 
              type: integer
          - name: buyPriceD
            in: query
            required: False
            description: "Price to Buy 1 Base Currency in Counter currency"
            schema: 
              type: integer
          - name: sellPriceN
            in: query
            required: False
            description: "Price to Sell 1 Base Currency in Counter currency"
            schema: 
              type: integer
          - name: sellPriceD
            in: query
            required: False
            description: "Price to Sell 1 Base Currency in Counter currency"
            schema: 
              type: integer


        responses:
          '200':
            description: Successfully returned one exchange-rates
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      baseGatewayId:
                          type: string
                          description: Base Gateway Id. Base Gateway Id
                      counterGatewayId:
                          type: string
                          description: Counter Gateway Id. Counter Gateway Id
                      baseCurrency:
                          type: string
                          description: Base Currency. Base Currency
                      counterCurrency:
                          type: string
                          description: Counter Currency. Counter Currency
                      buyPrice:
                          type: string
                          description: Price to Buy 1 Base Currency in Counter currency. Price to Buy 1 Base Currency in Counter currency
                      sellPrice:
                          type: string
                          description: Price to Sell 1 Base Currency in Counter currency. Price to Sell 1 Base Currency in Counter currency
                      buyPriceN:
                          type: integer
                          description: Price to Buy 1 Base Currency in Counter currency. Price to Buy 1 Base Currency in Counter currency
                      buyPriceD:
                          type: integer
                          description: Price to Buy 1 Base Currency in Counter currency. Price to Buy 1 Base Currency in Counter currency
                      sellPriceN:
                          type: integer
                          description: Price to Sell 1 Base Currency in Counter currency. Price to Sell 1 Base Currency in Counter currency
                      sellPriceD:
                          type: integer
                          description: Price to Sell 1 Base Currency in Counter currency. Price to Sell 1 Base Currency in Counter currency

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      put:
        summary: "Update existing exchange-rate"
        tags:
          - Liquidity Providers - Exchange Rates
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string

          - name: v-exchange-rate-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      baseGatewayId:
                          type: string
                          description: Base Gateway Id
                      counterGatewayId:
                          type: string
                          description: Counter Gateway Id
                      baseCurrency:
                          type: string
                          description: Base Currency
                      counterCurrency:
                          type: string
                          description: Counter Currency
                      buyPrice:
                          type: string
                          description: Price to Buy 1 Base Currency in Counter currency
                      sellPrice:
                          type: string
                          description: Price to Sell 1 Base Currency in Counter currency
        
        responses:
          '200':
            description: "Succesfully updated exchange-rate"
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      
    /liquidity-providers/{v-liquidity-provider-id}/transfers:
      post:
        summary: "Post a new transfer"
        tags:
          - Liquidity Providers - Transfers
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      from:
                          type: string
                          description: From
                          enum:
                            - wallet
                            - exchange-rate
                      to:
                          type: string
                          description: To
                          enum:
                            - wallet
                            - exchange-rate
                      exchangeRateId:
                          type: string
                          description: Affected Exchange Rate
                      gatewayId:
                          type: string
                          description: Gateway Id
                      currency:
                          type: string
                          description: Currency
                      amount:
                          type: string
                          description: Amount
        
        responses:
          '200':
            description: "Succesfully created new transfer"
            content:
              application/json:
                  schema:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID of new item
                        from:
                            type: string
                            description: From
                            enum:
                              - wallet
                              - exchange-rate
                        to:
                            type: string
                            description: To
                            enum:
                              - wallet
                              - exchange-rate
                        exchangeRateId:
                            type: string
                            description: Affected Exchange Rate
                        gatewayId:
                            type: string
                            description: Gateway Id
                        currency:
                            type: string
                            description: Currency
                        amount:
                            type: string
                            description: Amount
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      get:
        summary: "Returns a list of transfers"
        tags:
          - Liquidity Providers - Transfers
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: _size
            in: query
            description: Limits the number of items on a page
            schema:
              type: integer
          - name: _before
            in: query
            description: Specifies the pagingToken that will be used as max
            schema: 
              type: string
          - name: _after
            in: query
            description: Specifies the pagingToken that will be used as min
            schema: 
              type: string
          - name: _sort
            in: query
            description: fieldname.asc or fieldname.desc or fieldname.asc,otherfield.desc
            schema: 
              type: string
          - name: from
            in: query
            required: false
            description: "filter by From"
            schema: 
              type: string
          - name: to
            in: query
            required: false
            description: "filter by To"
            schema: 
              type: string
          - name: exchangeRateId
            in: query
            required: false
            description: "filter by Affected Exchange Rate."
            schema: 
              type: string
          - name: gatewayId
            in: query
            required: false
            description: "filter by Gateway Id"
            schema: 
              type: string
          - name: currency
            in: query
            required: false
            description: "filter by Currency"
            schema: 
              type: string
          - name: amount
            in: query
            required: false
            description: "filter by Amount"
            schema: 
              type: string

          
        responses:
          '200':
            description: Successfully returned a list of transfers
            content:
              application/json:
                schema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      from:
                          type: string
                          description: From. From
                      to:
                          type: string
                          description: To. To
                      exchangeRateId:
                          type: string
                          description: Affected Exchange Rate.. Affected Exchange Rate
                      gatewayId:
                          type: string
                          description: Gateway Id. Gateway Id
                      currency:
                          type: string
                          description: Currency. Currency
                      amount:
                          type: string
                          description: Amount. Amount

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'



    /liquidity-providers/{v-liquidity-provider-id}/transfers/{v-transfer-id}:

      get:
        summary: Obtain information about transfer from id
        tags:
          - Liquidity Providers - Transfers
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string
          - name: v-transfer-id
            in: path
            required: true
            schema:
              type: string
          - name: from
            in: query
            required: False
            description: "From"
            schema: 
              type: string
          - name: to
            in: query
            required: False
            description: "To"
            schema: 
              type: string
          - name: exchangeRateId
            in: query
            required: False
            description: "Affected Exchange Rate."
            schema: 
              type: string
          - name: gatewayId
            in: query
            required: False
            description: "Gateway Id"
            schema: 
              type: string
          - name: currency
            in: query
            required: False
            description: "Currency"
            schema: 
              type: string
          - name: amount
            in: query
            required: False
            description: "Amount"
            schema: 
              type: string


        responses:
          '200':
            description: Successfully returned one transfers
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      from:
                          type: string
                          description: From. From
                      to:
                          type: string
                          description: To. To
                      exchangeRateId:
                          type: string
                          description: Affected Exchange Rate.. Affected Exchange Rate
                      gatewayId:
                          type: string
                          description: Gateway Id. Gateway Id
                      currency:
                          type: string
                          description: Currency. Currency
                      amount:
                          type: string
                          description: Amount. Amount

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      put:
        summary: "Update existing transfer"
        tags:
          - Liquidity Providers - Transfers
        parameters:
          - name: v-liquidity-provider-id
            in: path
            required: true
            schema:
              type: string

          - name: v-transfer-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      from:
                          type: string
                          description: From
                      to:
                          type: string
                          description: To
                      exchangeRateId:
                          type: string
                          description: Affected Exchange Rate
                      gatewayId:
                          type: string
                          description: Gateway Id
                      currency:
                          type: string
                          description: Currency
                      amount:
                          type: string
                          description: Amount
        
        responses:
          '200':
            description: "Succesfully updated transfer"
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      
    /payment-gateways/{v-payment-gateway-id}/withdrawals:
      get:
        summary: "Returns a list of withdrawals"
        tags:
          - Payment Gateway Liquidity Provider Withdrawals
        parameters:
          - name: v-payment-gateway-id
            in: path
            required: true
            schema:
              type: string
          - name: _size
            in: query
            description: Limits the number of items on a page
            schema:
              type: integer
          - name: _before
            in: query
            description: Specifies the pagingToken that will be used as max
            schema: 
              type: string
          - name: _after
            in: query
            description: Specifies the pagingToken that will be used as min
            schema: 
              type: string
          - name: _sort
            in: query
            description: fieldname.asc or fieldname.desc or fieldname.asc,otherfield.desc
            schema: 
              type: string
          - name: gatewayTransactionId
            in: query
            required: false
            description: "filter by Payment Gateway Transaction Id "
            schema: 
              type: string
          - name: liquidityProviderId
            in: query
            required: false
            description: "filter by Liquidity Provider Id"
            schema: 
              type: string
          - name: amount
            in: query
            required: false
            description: "filter by Amount to withdraw"
            schema: 
              type: string
          - name: fee
            in: query
            required: false
            description: "filter by withdrawal Fee"
            schema: 
              type: string
          - name: currency
            in: query
            required: false
            description: "filter by Currency To be Withdrawan"
            schema: 
              type: string
          - name: blockchainTransactionId
            in: query
            required: false
            description: "filter by Blockchain Transaction Id"
            schema: 
              type: string
          - name: status
            in: query
            required: false
            description: "filter by Status of the withdrawal request"
            schema: 
              type: string

          
        responses:
          '200':
            description: Successfully returned a list of withdrawals
            content:
              application/json:
                schema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      gatewayTransactionId:
                          type: string
                          description: Payment Gateway Transaction Id . Payment Gateway Transaction Id refers to the payment gateway transaction id of the processed withdrawal.
                      liquidityProviderId:
                          type: string
                          description: Liquidity Provider Id. Liqudity Provider Id
                      amount:
                          type: string
                          description: Amount to withdraw. Amount to withdraw
                      fee:
                          type: string
                          description: withdrawal Fee. Fee for amount to be withdrawn
                      currency:
                          type: string
                          description: Currency To be Withdrawan. Currency To be Withdrawn
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id. Blockchain Transaction Id for successful deposit
                      status:
                          type: string
                          description: Status of the withdrawal request. Status of the withdrawal request

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'



    /payment-gateways/{v-payment-gateway-id}/withdrawals/{v-withdrawal-id}:

      get:
        summary: Obtain information about withdrawal from id
        tags:
          - Payment Gateway Liquidity Provider Withdrawals
        parameters:
          - name: v-payment-gateway-id
            in: path
            required: true
            schema:
              type: string
          - name: v-withdrawal-id
            in: path
            required: true
            schema:
              type: string
          - name: gatewayTransactionId
            in: query
            required: False
            description: "Payment Gateway Transaction Id "
            schema: 
              type: string
          - name: liquidityProviderId
            in: query
            required: False
            description: "Liquidity Provider Id"
            schema: 
              type: string
          - name: amount
            in: query
            required: False
            description: "Amount to withdraw"
            schema: 
              type: string
          - name: fee
            in: query
            required: False
            description: "withdrawal Fee"
            schema: 
              type: string
          - name: currency
            in: query
            required: False
            description: "Currency To be Withdrawan"
            schema: 
              type: string
          - name: blockchainTransactionId
            in: query
            required: False
            description: "Blockchain Transaction Id"
            schema: 
              type: string
          - name: status
            in: query
            required: False
            description: "Status of the withdrawal request"
            schema: 
              type: string


        responses:
          '200':
            description: Successfully returned one withdrawals
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      gatewayTransactionId:
                          type: string
                          description: Payment Gateway Transaction Id . Payment Gateway Transaction Id refers to the payment gateway transaction id of the processed withdrawal.
                      liquidityProviderId:
                          type: string
                          description: Liquidity Provider Id. Liqudity Provider Id
                      amount:
                          type: string
                          description: Amount to withdraw. Amount to withdraw
                      fee:
                          type: string
                          description: withdrawal Fee. Fee for amount to be withdrawn
                      currency:
                          type: string
                          description: Currency To be Withdrawan. Currency To be Withdrawn
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id. Blockchain Transaction Id for successful deposit
                      status:
                          type: string
                          description: Status of the withdrawal request. Status of the withdrawal request

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      put:
        summary: "Update existing withdrawal"
        tags:
          - Payment Gateway Liquidity Provider Withdrawals
        parameters:
          - name: v-payment-gateway-id
            in: path
            required: true
            schema:
              type: string

          - name: v-withdrawal-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      amount:
                          type: string
                          description: Amount to withdraw
                      fee:
                          type: string
                          description: Fee for amount to be withdrawn
                      currency:
                          type: string
                          description: Currency To be Withdrawn
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id for successful deposit
                      status:
                          type: string
                          description: Status of the withdrawal request
        
        responses:
          '200':
            description: "Succesfully updated withdrawal"
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      
    /payment-intents:
      post:
        summary: "Post a new payment-intent"
        tags:
          - Payment Intents
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      senderGatewayId:
                          type: string
                          description: Sender Payment Gateway.
                      senderCurrency:
                          type: string
                          description: Sender Currency.
                      senderAccount:
                          type: string
                          description: Sender Account
                      receiverGatewayId:
                          type: string
                          description: Receiver Payment Gateway Id
                      receiverAmount:
                          type: string
                          description: Receiver Amount
                      receiverCurrency:
                          type: string
                          description: Receiver Currency.
                      receiverAccount:
                          type: string
                          description: Receiver Account
        
        responses:
          '200':
            description: "Succesfully created new payment-intent"
            content:
              application/json:
                  schema:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID of new item
                        senderGatewayId:
                            type: string
                            description: Sender Payment Gateway.
                        senderAmount:
                            type: string
                            description: Sender Payment Gateway.
                        senderCurrency:
                            type: string
                            description: Sender Currency.
                        senderAccount:
                            type: string
                            description: Sender Account
                        senderName:
                            type: string
                            description: Sender Name
                        receiverGatewayId:
                            type: string
                            description: Receiver Payment Gateway Id
                        receiverAmount:
                            type: string
                            description: Receiver Amount
                        receiverCurrency:
                            type: string
                            description: Receiver Currency.
                        receiverAccount:
                            type: string
                            description: Receiver Account
                        receiverName:
                            type: string
                            description: Receiver Name
                        receivingGatewayFee:
                            type: string
                            description: Receiving Gateway FEe
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'


    /payment-intents/{v-payment-intent-id}:

      get:
        summary: Obtain information about payment-intent from id
        tags:
          - Payment Intents
        parameters:
          - name: v-payment-intent-id
            in: path
            required: true
            schema:
              type: string
          - name: senderGatewayId
            in: query
            required: False
            description: "Sender Payment Gateway Id"
            schema: 
              type: string
          - name: senderAmount
            in: query
            required: False
            description: "Sender Amount"
            schema: 
              type: string
          - name: senderCurrency
            in: query
            required: False
            description: "Sender Currency"
            schema: 
              type: string
          - name: senderAccount
            in: query
            required: False
            description: "Sender Account"
            schema: 
              type: string
          - name: senderName
            in: query
            required: False
            description: "Sender Name"
            schema: 
              type: string
          - name: receiverGatewayId
            in: query
            required: False
            description: "Receiver Gateway Id"
            schema: 
              type: string
          - name: receiverAmount
            in: query
            required: False
            description: "Receiver Amount"
            schema: 
              type: string
          - name: receiverCurrency
            in: query
            required: False
            description: "Receiver Currency"
            schema: 
              type: string
          - name: receiverAccount
            in: query
            required: False
            description: "Receiver Account"
            schema: 
              type: string
          - name: receiverName
            in: query
            required: False
            description: "Receiver Name"
            schema: 
              type: string
          - name: receivingGatewayFee
            in: query
            required: False
            description: "Receiving Gateway Fee"
            schema: 
              type: string


        responses:
          '200':
            description: Successfully returned one payment-intents
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      senderGatewayId:
                          type: string
                          description: Sender Payment Gateway Id. Sender Payment Gateway.
                      senderAmount:
                          type: string
                          description: Sender Amount. Sender Payment Gateway.
                      senderCurrency:
                          type: string
                          description: Sender Currency. Sender Currency.
                      senderAccount:
                          type: string
                          description: Sender Account. Sender Account
                      senderName:
                          type: string
                          description: Sender Name. Sender Name
                      receiverGatewayId:
                          type: string
                          description: Receiver Gateway Id. Receiver Payment Gateway Id
                      receiverAmount:
                          type: string
                          description: Receiver Amount. Receiver Amount
                      receiverCurrency:
                          type: string
                          description: Receiver Currency. Receiver Currency.
                      receiverAccount:
                          type: string
                          description: Receiver Account. Receiver Account
                      receiverName:
                          type: string
                          description: Receiver Name. Receiver Name
                      receivingGatewayFee:
                          type: string
                          description: Receiving Gateway Fee. Receiving Gateway FEe

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      
    /payments:
      post:
        summary: "Post a new payment"
        tags:
          - Payments
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      senderGatewayId:
                          type: string
                          description: Sender Payment Gateway.
                      senderAmount:
                          type: string
                          description: Sender Payment Gateway.
                      senderCurrency:
                          type: string
                          description: Sender Currency.
                      senderAccount:
                          type: string
                          description: Sender Account
                      senderName:
                          type: string
                          description: Sender Name
                      receiverGatewayId:
                          type: string
                          description: Receiver Payment Gateway Id
                      receiverAmount:
                          type: string
                          description: Receiver Amount
                      receiverCurrency:
                          type: string
                          description: Receiver Currency.
                      receiverAccount:
                          type: string
                          description: Receiver Account
                      receiverName:
                          type: string
                          description: Receiver Name
        
        responses:
          '200':
            description: "Succesfully created new payment"
            content:
              application/json:
                  schema:
                      type: object
                      properties:
                        id:
                          type: string
                          description: ID of new item
                        senderGatewayId:
                            type: string
                            description: Sender Payment Gateway.
                        senderAmount:
                            type: string
                            description: Sender Payment Gateway.
                        senderCurrency:
                            type: string
                            description: Sender Currency.
                        senderAccount:
                            type: string
                            description: Sender Account
                        senderName:
                            type: string
                            description: Sender Name
                        receiverGatewayId:
                            type: string
                            description: Receiver Payment Gateway Id
                        receiverAmount:
                            type: string
                            description: Receiver Amount
                        receiverCurrency:
                            type: string
                            description: Receiver Currency.
                        receiverAccount:
                            type: string
                            description: Receiver Account
                        receiverName:
                            type: string
                            description: Receiver Name
                        senderGatewayStatus:
                            type: string
                            description: Sender Gateway Status
                            enum:
                              - pending
                              - processed
                              - error
                              - reverted
                        receiverGatewayStatus:
                            type: string
                            description: Sender Gateway Status
                            enum:
                              - pending
                              - processed
                              - error
                              - reverted
                        senderGatewayTransactionId:
                            type: string
                            description: Sender Gateway Transaction Id
                        receiverGatewayTransactionId:
                            type: string
                            description: Receiver Gateway Transaction Id
                        senderGatewaySignature:
                            type: string
                            description: Sender Gateway Signature
                        receiverGatewaySignature:
                            type: string
                            description: Receiver Gateway Signature
                        senderGatewayPublicKey:
                            type: string
                            description: Sender Gateway Public Key
                        receiverGatewayPublicKey:
                            type: string
                            description: Receiver Gateway Public Key
                        blockchainTransactionId:
                            type: string
                            description: Blockchain Transaction Id for successful deposit
                        receivingGatewayFee:
                            type: string
                            description: Receiving Gateway FEe
                        creationRequestUrl:
                            type: string
                            description: Creation Request Url
                        creationRequestBody:
                            type: string
                            description: Creation Request Body
                        creationRequestPublicKeyBase64:
                            type: string
                            description: Creation Request Public Key
                        creationRequestSignatureBase64:
                            type: string
                            description: Creation Request Signature
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'
      get:
        summary: "Returns a list of payments"
        tags:
          - Payments
        parameters:
          - name: _size
            in: query
            description: Limits the number of items on a page
            schema:
              type: integer
          - name: _before
            in: query
            description: Specifies the pagingToken that will be used as max
            schema: 
              type: string
          - name: _after
            in: query
            description: Specifies the pagingToken that will be used as min
            schema: 
              type: string
          - name: _sort
            in: query
            description: fieldname.asc or fieldname.desc or fieldname.asc,otherfield.desc
            schema: 
              type: string
          - name: senderGatewayId
            in: query
            required: false
            description: "filter by Sender Payment Gateway Id"
            schema: 
              type: string
          - name: senderAmount
            in: query
            required: false
            description: "filter by Sender Amount"
            schema: 
              type: string
          - name: senderCurrency
            in: query
            required: false
            description: "filter by Sender Currency"
            schema: 
              type: string
          - name: senderAccount
            in: query
            required: false
            description: "filter by Sender Account"
            schema: 
              type: string
          - name: senderName
            in: query
            required: false
            description: "filter by Sender Name"
            schema: 
              type: string
          - name: receiverGatewayId
            in: query
            required: false
            description: "filter by Receiver Gateway Id"
            schema: 
              type: string
          - name: receiverAmount
            in: query
            required: false
            description: "filter by Receiver Amount"
            schema: 
              type: string
          - name: receiverCurrency
            in: query
            required: false
            description: "filter by Receiver Currency"
            schema: 
              type: string
          - name: receiverAccount
            in: query
            required: false
            description: "filter by Receiver Account"
            schema: 
              type: string
          - name: receiverName
            in: query
            required: false
            description: "filter by Receiver Name"
            schema: 
              type: string
          - name: senderGatewayStatus
            in: query
            required: false
            description: "filter by Sender Gateway Status"
            schema: 
              type: string
          - name: receiverGatewayStatus
            in: query
            required: false
            description: "filter by Receiver Gateway Status"
            schema: 
              type: string
          - name: senderGatewayTransactionId
            in: query
            required: false
            description: "filter by Sender Gateway Transaction Id"
            schema: 
              type: string
          - name: receiverGatewayTransactionId
            in: query
            required: false
            description: "filter by Receiver Gateway Transaction Id"
            schema: 
              type: string
          - name: senderGatewaySignature
            in: query
            required: false
            description: "filter by Sender Gateway Signature"
            schema: 
              type: string
          - name: receiverGatewaySignature
            in: query
            required: false
            description: "filter by Receiver Gateway Signature"
            schema: 
              type: string
          - name: senderGatewayPublicKey
            in: query
            required: false
            description: "filter by Sender Gateway Public Key"
            schema: 
              type: string
          - name: receiverGatewayPublicKey
            in: query
            required: false
            description: "filter by Receiver Gateway Public Key"
            schema: 
              type: string
          - name: blockchainTransactionId
            in: query
            required: false
            description: "filter by Blockchain Transaction Id"
            schema: 
              type: string
          - name: receivingGatewayFee
            in: query
            required: false
            description: "filter by Receiving Gateway Fee"
            schema: 
              type: string
          - name: creationRequestUrl
            in: query
            required: false
            description: "filter by Creation Request Url"
            schema: 
              type: string
          - name: creationRequestBody
            in: query
            required: false
            description: "filter by Creation Request Body"
            schema: 
              type: string
          - name: creationRequestPublicKeyBase64
            in: query
            required: false
            description: "filter by Creation Request Public Key"
            schema: 
              type: string
          - name: creationRequestSignatureBase64
            in: query
            required: false
            description: "filter by Creation Request Signature"
            schema: 
              type: string

          
        responses:
          '200':
            description: Successfully returned a list of payments
            content:
              application/json:
                schema:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      senderGatewayId:
                          type: string
                          description: Sender Payment Gateway Id. Sender Payment Gateway.
                      senderAmount:
                          type: string
                          description: Sender Amount. Sender Payment Gateway.
                      senderCurrency:
                          type: string
                          description: Sender Currency. Sender Currency.
                      senderAccount:
                          type: string
                          description: Sender Account. Sender Account
                      senderName:
                          type: string
                          description: Sender Name. Sender Name
                      receiverGatewayId:
                          type: string
                          description: Receiver Gateway Id. Receiver Payment Gateway Id
                      receiverAmount:
                          type: string
                          description: Receiver Amount. Receiver Amount
                      receiverCurrency:
                          type: string
                          description: Receiver Currency. Receiver Currency.
                      receiverAccount:
                          type: string
                          description: Receiver Account. Receiver Account
                      receiverName:
                          type: string
                          description: Receiver Name. Receiver Name
                      senderGatewayStatus:
                          type: string
                          description: Sender Gateway Status. Sender Gateway Status
                      receiverGatewayStatus:
                          type: string
                          description: Receiver Gateway Status. Sender Gateway Status
                      senderGatewayTransactionId:
                          type: string
                          description: Sender Gateway Transaction Id. Sender Gateway Transaction Id
                      receiverGatewayTransactionId:
                          type: string
                          description: Receiver Gateway Transaction Id. Receiver Gateway Transaction Id
                      senderGatewaySignature:
                          type: string
                          description: Sender Gateway Signature. Sender Gateway Signature
                      receiverGatewaySignature:
                          type: string
                          description: Receiver Gateway Signature. Receiver Gateway Signature
                      senderGatewayPublicKey:
                          type: string
                          description: Sender Gateway Public Key. Sender Gateway Public Key
                      receiverGatewayPublicKey:
                          type: string
                          description: Receiver Gateway Public Key. Receiver Gateway Public Key
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id. Blockchain Transaction Id for successful deposit
                      receivingGatewayFee:
                          type: string
                          description: Receiving Gateway Fee. Receiving Gateway FEe
                      creationRequestUrl:
                          type: string
                          description: Creation Request Url. Creation Request Url
                      creationRequestBody:
                          type: string
                          description: Creation Request Body. Creation Request Body
                      creationRequestPublicKeyBase64:
                          type: string
                          description: Creation Request Public Key. Creation Request Public Key
                      creationRequestSignatureBase64:
                          type: string
                          description: Creation Request Signature. Creation Request Signature

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'



    /payments/{v-payment-id}:

      get:
        summary: Obtain information about payment from id
        tags:
          - Payments
        parameters:
          - name: v-payment-id
            in: path
            required: true
            schema:
              type: string
          - name: senderGatewayId
            in: query
            required: False
            description: "Sender Payment Gateway Id"
            schema: 
              type: string
          - name: senderAmount
            in: query
            required: False
            description: "Sender Amount"
            schema: 
              type: string
          - name: senderCurrency
            in: query
            required: False
            description: "Sender Currency"
            schema: 
              type: string
          - name: senderAccount
            in: query
            required: False
            description: "Sender Account"
            schema: 
              type: string
          - name: senderName
            in: query
            required: False
            description: "Sender Name"
            schema: 
              type: string
          - name: receiverGatewayId
            in: query
            required: False
            description: "Receiver Gateway Id"
            schema: 
              type: string
          - name: receiverAmount
            in: query
            required: False
            description: "Receiver Amount"
            schema: 
              type: string
          - name: receiverCurrency
            in: query
            required: False
            description: "Receiver Currency"
            schema: 
              type: string
          - name: receiverAccount
            in: query
            required: False
            description: "Receiver Account"
            schema: 
              type: string
          - name: receiverName
            in: query
            required: False
            description: "Receiver Name"
            schema: 
              type: string
          - name: senderGatewayStatus
            in: query
            required: False
            description: "Sender Gateway Status"
            schema: 
              type: string
          - name: receiverGatewayStatus
            in: query
            required: False
            description: "Receiver Gateway Status"
            schema: 
              type: string
          - name: senderGatewayTransactionId
            in: query
            required: False
            description: "Sender Gateway Transaction Id"
            schema: 
              type: string
          - name: receiverGatewayTransactionId
            in: query
            required: False
            description: "Receiver Gateway Transaction Id"
            schema: 
              type: string
          - name: senderGatewaySignature
            in: query
            required: False
            description: "Sender Gateway Signature"
            schema: 
              type: string
          - name: receiverGatewaySignature
            in: query
            required: False
            description: "Receiver Gateway Signature"
            schema: 
              type: string
          - name: senderGatewayPublicKey
            in: query
            required: False
            description: "Sender Gateway Public Key"
            schema: 
              type: string
          - name: receiverGatewayPublicKey
            in: query
            required: False
            description: "Receiver Gateway Public Key"
            schema: 
              type: string
          - name: blockchainTransactionId
            in: query
            required: False
            description: "Blockchain Transaction Id"
            schema: 
              type: string
          - name: receivingGatewayFee
            in: query
            required: False
            description: "Receiving Gateway Fee"
            schema: 
              type: string
          - name: creationRequestUrl
            in: query
            required: False
            description: "Creation Request Url"
            schema: 
              type: string
          - name: creationRequestBody
            in: query
            required: False
            description: "Creation Request Body"
            schema: 
              type: string
          - name: creationRequestPublicKeyBase64
            in: query
            required: False
            description: "Creation Request Public Key"
            schema: 
              type: string
          - name: creationRequestSignatureBase64
            in: query
            required: False
            description: "Creation Request Signature"
            schema: 
              type: string


        responses:
          '200':
            description: Successfully returned one payments
            content:
              application/json:
                schema:
                    type: object
                    properties:
                      id:
                        type: string
                      senderGatewayId:
                          type: string
                          description: Sender Payment Gateway Id. Sender Payment Gateway.
                      senderAmount:
                          type: string
                          description: Sender Amount. Sender Payment Gateway.
                      senderCurrency:
                          type: string
                          description: Sender Currency. Sender Currency.
                      senderAccount:
                          type: string
                          description: Sender Account. Sender Account
                      senderName:
                          type: string
                          description: Sender Name. Sender Name
                      receiverGatewayId:
                          type: string
                          description: Receiver Gateway Id. Receiver Payment Gateway Id
                      receiverAmount:
                          type: string
                          description: Receiver Amount. Receiver Amount
                      receiverCurrency:
                          type: string
                          description: Receiver Currency. Receiver Currency.
                      receiverAccount:
                          type: string
                          description: Receiver Account. Receiver Account
                      receiverName:
                          type: string
                          description: Receiver Name. Receiver Name
                      senderGatewayStatus:
                          type: string
                          description: Sender Gateway Status. Sender Gateway Status
                      receiverGatewayStatus:
                          type: string
                          description: Receiver Gateway Status. Sender Gateway Status
                      senderGatewayTransactionId:
                          type: string
                          description: Sender Gateway Transaction Id. Sender Gateway Transaction Id
                      receiverGatewayTransactionId:
                          type: string
                          description: Receiver Gateway Transaction Id. Receiver Gateway Transaction Id
                      senderGatewaySignature:
                          type: string
                          description: Sender Gateway Signature. Sender Gateway Signature
                      receiverGatewaySignature:
                          type: string
                          description: Receiver Gateway Signature. Receiver Gateway Signature
                      senderGatewayPublicKey:
                          type: string
                          description: Sender Gateway Public Key. Sender Gateway Public Key
                      receiverGatewayPublicKey:
                          type: string
                          description: Receiver Gateway Public Key. Receiver Gateway Public Key
                      blockchainTransactionId:
                          type: string
                          description: Blockchain Transaction Id. Blockchain Transaction Id for successful deposit
                      receivingGatewayFee:
                          type: string
                          description: Receiving Gateway Fee. Receiving Gateway FEe
                      creationRequestUrl:
                          type: string
                          description: Creation Request Url. Creation Request Url
                      creationRequestBody:
                          type: string
                          description: Creation Request Body. Creation Request Body
                      creationRequestPublicKeyBase64:
                          type: string
                          description: Creation Request Public Key. Creation Request Public Key
                      creationRequestSignatureBase64:
                          type: string
                          description: Creation Request Signature. Creation Request Signature

          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        code:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'

      put:
        summary: "Update existing payment"
        tags:
          - Payments
        parameters:

          - name: v-payment-id
            in: path
            required: true
            schema:
              type: string
        requestBody:
          required: True
          content:
            application/json:
                schema:
                    type: object
                    properties:
                      senderGatewayId:
                          type: string
                          description: Sender Payment Gateway.
                      senderAmount:
                          type: string
                          description: Sender Payment Gateway.
                      senderCurrency:
                          type: string
                          description: Sender Currency.
                      senderAccount:
                          type: string
                          description: Sender Account
                      senderName:
                          type: string
                          description: Sender Name
                      receiverGatewayId:
                          type: string
                          description: Receiver Payment Gateway Id
                      receiverAmount:
                          type: string
                          description: Receiver Amount
                      receiverCurrency:
                          type: string
                          description: Receiver Currency.
                      receiverAccount:
                          type: string
                          description: Receiver Account
                      receiverName:
                          type: string
                          description: Receiver Name
        
        responses:
          '200':
            description: "Succesfully updated payment"
            
          '400':
            description: "Invalid Request"
            content:
                application/json:
                  schema:
                      type: object
                      properties:
                        error:
                            type: string
                        message:
                            type: string
          '401':
            $ref: '#/components/responses/UnauthorizedError'