basePath: /v1
consumes: []
definitions:
  AcceptanceQualifier:
    description: All accepted payments will receive the matching qualifier code
    enum:
    - after_next_working_day
    - next_calendar_day
    - next_working_day
    - none
    - same_day
    - some_other_time
    type: string
    x-access:
    - Public
  Account:
    properties:
      attributes:
        $ref: '#/definitions/AccountAttributes'
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/AccountRelationships'
      type:
        description: Name of the resource type
        example: accounts
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  AccountAmendment:
    properties:
      data:
        $ref: '#/definitions/AccountUpdate'
    type: object
    x-access:
    - Public
  AccountAttributes:
    properties:
      acceptance_qualifier:
        $ref: '#/definitions/AcceptanceQualifier'
      account_classification:
        default: Personal
        description: Is the account business or personal?
        enum:
        - Business
        - Personal
        type: string
      account_matching_opt_out:
        default: false
        description: '- deprecated - Is the account opted out of account matching,
          e.g. CoP?'
        type: boolean
      account_number:
        description: Account number of the account. A unique number will automatically
          be generated if not provided.
        example: '41426819'
        pattern: ^[A-Z0-9]{0,64}$
        type: string
      alternative_bank_account_names:
        description: '- deprecated - Alternative account names. Used for Confirmation
          of Payee matching.'
        items:
          maxLength: 140
          minLength: 1
          type: string
        maxItems: 3
        type: array
        x-nullable: true
        x-omitempty: true
      alternative_names:
        description: Alternative names. Used for Confirmation of Payee matching.
        items:
          maxLength: 140
          minLength: 1
          type: string
        maxItems: 3
        type: array
        x-nullable: true
        x-omitempty: true
      bank_account_name:
        description: '- deprecated - Primary account name. Used for Confirmation of
          Payee matching. Required if confirmation_of_payee_enabled is true for the
          organisation.'
        maxLength: 140
        minLength: 1
        type: string
      bank_id:
        description: Local country bank identifier. In the UK this is the sort code.
        example: '400300'
        pattern: ^[A-Z0-9]{0,16}$
        type: string
      bank_id_code:
        description: ISO 20022 code used to identify the type of bank ID being used
        example: GBDSC
        pattern: ^[A-Z]{0,16}$
        type: string
      base_currency:
        description: ISO 4217 code used to identify the base currency of the account
        example: GBP
        pattern: ^[A-Z]{3}$
        type: string
      bic:
        description: SWIFT BIC in either 8 or 11 character format
        example: NWBKGB22
        pattern: ^([A-Z]{6}[A-Z0-9]{2}|[A-Z]{6}[A-Z0-9]{5})$
        type: string
      country:
        description: ISO 3166-1 code used to identify the domicile of the account
        example: GB
        pattern: ^[A-Z]{2}$
        type: string
      customer_id:
        description: A free-format reference that can be used to link this account
          to an external system
        example: '12345'
        pattern: ^[a-zA-Z0-9-$@., ]{0,256}$
        type: string
      first_name:
        description: '- deprecated - Customer first name.'
        maxLength: 40
        minLength: 1
        type: string
      iban:
        description: IBAN of the account. Will be calculated from other fields if
          not supplied.
        example: GB11NWBK40030041426819
        pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{0,64}$
        type: string
      joint_account:
        default: false
        description: Is the account joint?
        type: boolean
      name:
        description: Account holder names (for example title, first name, last name).
          Used for Confirmation of Payee matching.
        items:
          maxLength: 256
          minLength: 1
          type: string
        maxItems: 4
        type: array
        x-nullable: true
        x-omitempty: true
      name_matching_status:
        default: supported
        description: Describes the status of the account for name matching via CoP.
          The value determines the code with which Form3 responds to matched CoP requests
          to this account.
        enum:
        - not_supported
        - opted_out
        - supported
        - switched
        type: string
      organisation_identification:
        $ref: '#/definitions/AccountAttributesOrganisationIdentification'
      private_identification:
        $ref: '#/definitions/AccountAttributesPrivateIdentification'
      processing_service:
        description: '- deprecated - Accounting system or service. It will be added
          to each payment received to an account.'
        maxLength: 35
        type: string
        x-nullable: true
      reference_mask:
        description: When set will apply a validation mask on the payment reference
          to each payment received to an account.
        example: 4929############
        maxLength: 35
        type: string
        x-nullable: true
      secondary_identification:
        description: Secondary identification, e.g. building society roll number.
          Used for Confirmation of Payee.
        maxLength: 140
        minLength: 1
        type: string
      status:
        description: Current status of the account
        enum:
        - closed
        - confirmed
        - failed
        - pending
        type: string
      status_reason:
        $ref: '#/definitions/StatusReason'
      switched:
        default: false
        description: '- deprecated - Indicates whether the account has been switched
          using the Current Account Switch Service.'
        type: boolean
      switched_account_details:
        $ref: '#/definitions/SwitchedAccountDetails'
      title:
        description: '- deprecated - Customer title.'
        example: Ms
        maxLength: 40
        minLength: 1
        type: string
      type:
        description: Account type
        maxLength: 35
        type: string
      user_defined_data:
        description: All purpose list of key-value pairs to store specific data for
          the associated account. It will be added to each payment received to an
          account.
        items:
          $ref: '#/definitions/UserDefinedData'
        maxItems: 5
        type: array
        x-omitempty: true
      user_defined_information:
        description: '- deprecated - All purpose field to store specific data for
          the associated account. It will be added to each payment received to an
          account.'
        maxLength: 35
        type: string
        x-nullable: true
      validation_type:
        $ref: '#/definitions/ValidationType'
    required:
    - country
    type: object
    x-access:
    - Public
  AccountAttributesOrganisationIdentification:
    properties:
      actors:
        items:
          $ref: '#/definitions/AccountAttributesOrganisationIdentificationActor'
        type: array
      address:
        items:
          maxLength: 140
          minLength: 1
          type: string
        type: array
      city:
        maxLength: 35
        minLength: 1
        type: string
      country:
        example: GB
        pattern: ^[A-Z]{2}$
        type: string
      identification:
        maxLength: 140
        minLength: 1
        type: string
      identification_issuer:
        type: string
      identification_scheme:
        maxLength: 35
        minLength: 1
        type: string
      identification_scheme_code:
        maxLength: 35
        minLength: 1
        type: string
      registration_number:
        type: string
      tax_residency:
        description: ISO 3166-1 code used to identify the domicile of the account
        example: GB
        pattern: ^[A-Z]{2}$
        type: string
    type: object
    x-access:
    - Public
  AccountAttributesOrganisationIdentificationActor:
    properties:
      birth_date:
        example: '2017-07-23'
        format: date
        type: string
        x-nullable: true
      name:
        description: Actor names (for example title, first name, last name). Used
          for Confirmation of Payee matching.
        items:
          maxLength: 255
          minLength: 1
          type: string
        maxItems: 4
        type: array
        x-nullable: true
      residency:
        description: ISO 3166-1 code used to identify the domicile of the actor
        example: GB
        pattern: ^[A-Z]{2}$
        type: string
      role:
        type: string
    type: object
    x-access:
    - Public
  AccountAttributesPrivateIdentification:
    properties:
      address:
        items:
          maxLength: 140
          minLength: 1
          type: string
        type: array
      birth_country:
        example: GB
        pattern: ^[A-Z]{2}$
        type: string
      birth_date:
        description: Customer birth date
        example: '2017-07-23'
        format: date
        type: string
        x-nullable: true
      city:
        maxLength: 35
        minLength: 1
        type: string
      country:
        example: GB
        pattern: ^[A-Z]{2}$
        type: string
      identification:
        example: L-123456789
        maxLength: 140
        minLength: 1
        type: string
      identification_issuer:
        minLength: 1
        type: string
      identification_scheme:
        maxLength: 35
        minLength: 1
        type: string
      identification_scheme_code:
        maxLength: 35
        minLength: 1
        type: string
    type: object
    x-access:
    - Public
  AccountClassification:
    enum:
    - business
    - personal
    type: string
    x-access:
    - Public
  AccountCreation:
    properties:
      data:
        $ref: '#/definitions/Account'
    required:
    - data
    type: object
    x-access:
    - Public
  AccountCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Account'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AccountDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Account'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AccountDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Account'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AccountEvent:
    properties:
      attributes:
        $ref: '#/definitions/AccountEventAttributes'
      id:
        description: Unique resource ID
        example: 6d4f9916-3af9-416e-a347-2d8df90fc4ab
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: cfc09fb8-bbca-40bd-a518-6e58d8a9c7f4
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/AccountEventRelationships'
      type:
        description: Name of the resource type
        example: account_events
        pattern: ^[A-Za-z]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    - type
    - version
    type: object
    x-access:
    - Public
  AccountEventAttributes:
    properties:
      account_id:
        description: ID of the account this event relates to
        example: cfc09fb8-bbca-40bd-a518-6e58d8a9c7f4
        format: uuid
        type: string
      date_time:
        format: date-time
        type: string
      description:
        description: Contains the event description
        enum:
        - confirmed
        - failed
        - pending
        example: confirmed
        type: string
      reason:
        description: Failure reason. Should only be present when description is failed
        example: Invalid BIC
        type: string
      routing_status:
        description: Contains the routing status
        enum:
        - deleted
        - routable
        - unroutable
        example: routable
        type: string
      status:
        description: Contains the event status
        enum:
        - confirmed
        - failed
        - pending
        example: confirmed
        type: string
    required:
    - account_id
    - date_time
    - routing_status
    - status
    type: object
    x-access:
    - Public
  AccountEventDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/AccountEvent'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AccountEventListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/AccountEvent'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AccountEventRelationships:
    properties:
      account:
        $ref: '#/definitions/RelationshipAccount'
        description: Account this event relates to
    type: object
    x-access:
    - Public
  AccountHoldingEntity:
    description: Information about the financial institution servicing the account.
    properties:
      bank_address:
        description: Financial institution address
        example:
        - L13 1NW
        - Liverpool Customer Service Centre
        - Stevenson Way
        - Wavertree
        items:
          type: string
        type: array
        x-omitempty: true
      bank_id:
        pattern: ^[A-Z0-9]{0,16}$
        type: string
      bank_id_code:
        $ref: '#/definitions/BankIdCode'
        enum:
        - GBDSC
        example: GBDSC
        type: string
        x-length: 5
      bank_ids:
        description: Array for additional ID(s) for agent
        items:
          $ref: '#/definitions/AccountWithBankId'
        type: array
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Array for additional ID(s) for agent
        x-omitempty: true
      bank_name:
        description: Financial institution name
        example: NATIONAL WESTMINSTER BANK PLC
        type: string
      bank_party_id:
        description: Identifier of the financial institution which services the account
        example: //AT12345
        type: string
    required:
    - bank_id
    - bank_id_code
    type: object
    x-access:
    - Public
  AccountIdentification:
    properties:
      attributes:
        $ref: '#/definitions/AccountIdentificationAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Type of this resource, always account_identifications
        example: account_identifications
        format: ^account_identifications$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  AccountIdentificationAttributes:
    properties:
      secondary_identification:
        description: Used to validate where expecting an exact match against payment's
          reference information.
        maxLength: 35
        minLength: 1
        type: string
    required:
    - secondary_identification
    type: object
    x-access:
    - Public
  AccountIdentificationData:
    allOf:
    - $ref: '#/definitions/AccountIdentification'
    - properties:
        relationships:
          $ref: '#/definitions/AccountIdentificationRelationships'
      type: object
    x-access:
    - Public
  AccountIdentificationEventData:
    allOf:
    - $ref: '#/definitions/AccountIdentification'
    - properties:
        relationships:
          $ref: '#/definitions/AccountIdentificationEventRelationships'
      type: object
    x-access:
    - Public
  AccountIdentificationEventRelationships:
    properties:
      account:
        $ref: '#/definitions/RelationshipAccount'
    x-access:
    - Public
  AccountIdentificationEventResponse:
    properties:
      data:
        $ref: '#/definitions/AccountIdentificationEventData'
    type: object
    x-access:
    - Public
  AccountIdentificationListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/AccountIdentification'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AccountIdentificationRelationships:
    properties:
      account:
        $ref: '#/definitions/RelationshipLinks'
    x-access:
    - Public
  AccountIdentificationRequest:
    properties:
      data:
        $ref: '#/definitions/AccountIdentification'
    required:
    - data
    type: object
    x-access:
    - Public
  AccountIdentificationResponse:
    properties:
      data:
        $ref: '#/definitions/AccountIdentificationData'
    type: object
    x-access:
    - Public
  AccountNumber:
    properties:
      id:
        type: string
      relationships:
        properties:
          sort_code:
            $ref: '#/definitions/SortCode'
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
    type: object
    x-access:
    - Public
  AccountNumberCode:
    description: The type of identification given at `account_number` attribute
    enum:
    - BBAN
    - IBAN
    example: IBAN
    maxLength: 4
    type: string
    x-access:
    - Public
  AccountNumberDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/AccountNumber'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AccountRelationships:
    properties:
      account_events:
        $ref: '#/definitions/RelationshipLinks'
        description: Events related to the lifecycle of this account
      master_account:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the master account related to this account
    type: object
    x-access:
    - Public
  AccountUpdate:
    properties:
      attributes:
        properties:
          acceptance_qualifier:
            $ref: '#/definitions/AcceptanceQualifier'
          account_classification:
            description: Is the account business or personal?
            enum:
            - Business
            - Personal
            type: string
          account_matching_opt_out:
            description: '- deprecated - Is the account opted out of account matching,
              e.g. CoP?'
            type: boolean
            x-nullable: true
          account_number:
            description: Account number of the account. A unique number will automatically
              be generated if not provided.
            example: '41426819'
            pattern: ^[A-Z0-9]{0,64}$
            type: string
          alternative_bank_account_names:
            description: '- deprecated - Alternative account names. Used for Confirmation
              of Payee matching.'
            items:
              maxLength: 140
              minLength: 1
              type: string
            maxItems: 3
            type: array
            x-nullable: true
          alternative_names:
            description: Alternative names. Used for Confirmation of Payee matching.
            items:
              maxLength: 140
              minLength: 1
              type: string
            maxItems: 3
            type: array
            x-nullable: true
          bank_account_name:
            description: '- deprecated - Primary account name. Used for Confirmation
              of Payee matching. Required if confirmation_of_payee_enabled is true
              for the organisation.'
            maxLength: 140
            minLength: 1
            type: string
          bank_id:
            description: Local country bank identifier. In the UK this is the sort
              code.
            example: '400300'
            pattern: ^[A-Z0-9]{0,16}$
            type: string
          bank_id_code:
            description: ISO 20022 code used to identify the type of bank ID being
              used
            example: GBDSC
            pattern: ^[A-Z]{0,16}$
            type: string
          base_currency:
            description: ISO 4217 code used to identify the base currency of the account
            example: GBP
            pattern: ^[A-Z]{3}$
            type: string
          bic:
            description: SWIFT BIC in either 8 or 11 character format
            example: NWBKGB22
            pattern: ^([A-Z]{6}[A-Z0-9]{2}|[A-Z]{6}[A-Z0-9]{5})$
            type: string
          country:
            description: ISO 3166-1 code used to identify the domicile of the account
            example: GB
            pattern: ^[A-Z]{2}$
            type: string
          customer_id:
            description: A free-format reference that can be used to link this account
              to an external system
            example: '12345'
            pattern: ^[a-zA-Z0-9-$@., ]{0,256}$
            type: string
          first_name:
            description: '- deprecated - Customer first name.'
            maxLength: 40
            minLength: 1
            type: string
          iban:
            description: IBAN of the account. Will be calculated from other fields
              if not supplied.
            example: GB11NWBK40030041426819
            pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{0,64}$
            type: string
          joint_account:
            description: Is the account joint?
            type: boolean
            x-nullable: true
          name:
            description: Account holder names (for example title, first name, last
              name). Used for Confirmation of Payee matching.
            items:
              maxLength: 256
              minLength: 1
              type: string
            maxItems: 4
            type: array
            x-nullable: true
          name_matching_status:
            description: Describes the status of the account for name matching via
              CoP. The value determines the code with which Form3 responds to matched
              CoP requests to this account.
            enum:
            - not_supported
            - opted_out
            - supported
            - switched
            type: string
          organisation_identification:
            $ref: '#/definitions/AccountAttributesOrganisationIdentification'
          private_identification:
            $ref: '#/definitions/AccountAttributesPrivateIdentification'
          processing_service:
            description: '- deprecated - Accounting system or service. It will be
              added to each payment received to an account.'
            maxLength: 35
            type: string
            x-nullable: true
          reference_mask:
            description: When set will apply a validation mask on the payment reference
              to each payment received to an account.
            example: 4929############
            maxLength: 35
            type: string
            x-nullable: true
          secondary_identification:
            description: Secondary identification, e.g. building society roll number.
              Used for Confirmation of Payee.
            maxLength: 140
            minLength: 1
            type: string
          status:
            description: Current status of the account
            enum:
            - closed
            - confirmed
            - failed
            - pending
            type: string
          status_reason:
            $ref: '#/definitions/StatusReason'
          switched:
            description: '- deprecated - Indicates whether the account has been switched
              using the Current Account Switch Service.'
            type: boolean
            x-nullable: true
          switched_account_details:
            $ref: '#/definitions/SwitchedAccountDetails'
          title:
            description: '- deprecated - Customer title.'
            example: Ms
            maxLength: 40
            minLength: 1
            type: string
          type:
            description: Account type
            maxLength: 35
            type: string
            x-nullable: true
          user_defined_data:
            description: All purpose list of key-value pairs to store specific data
              for the associated account. It will be added to each payment received
              to an account.
            items:
              $ref: '#/definitions/UserDefinedData'
            maxItems: 5
            type: array
            x-omitempty: true
          user_defined_information:
            description: '- deprecated - All purpose field to store specific data
              for the associated account. It will be added to each payment received
              to an account.'
            maxLength: 35
            type: string
            x-nullable: true
          validation_type:
            $ref: '#/definitions/ValidationType'
        type: object
        x-access:
        - Public
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/AccountRelationships'
      type:
        description: Name of the resource type
        example: accounts
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    - version
    type: object
    x-access:
    - Public
  AccountValidationOutcome:
    description: Outcome of the validation of the beneficiary's account number, which
      is sometimes performed on a customer's behalf
    enum:
    - failed
    - failed_auto_reject_disabled
    - failed_auto_reject_enabled
    - passed
    type: string
    x-access:
    - Public
  AccountWithBankId:
    properties:
      bank_id:
        description: Other ID of agent
        example: H7FNTJ4851HG0EXQ1Z70
        maxLength: 30
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Other ID of agent
        x-length: 11
        x-omitempty: true
      bank_id_code:
        description: Code for the type of other ID for agent
        example: LEI
        maxLength: 5
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Code for the type of other ID for agent
        x-length: 5
        x-omitempty: true
    type: object
    x-access:
    - Public
  Ace:
    properties:
      attributes:
        properties:
          action:
            description: Action that this ACE controls
            example: CREATE
            type: string
          filter:
            type: string
          record_type:
            description: Type of record that this ACE gives access to
            example: User
            type: string
          role_id:
            description: Role ID of the role that this ACE belongs to
            example: 813e371b-c16c-4b86-adbf-82bcda159b27
            format: uuid
            type: string
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: ace
        pattern: ^[A-Za-z]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  AceCreation:
    properties:
      data:
        $ref: '#/definitions/Ace'
    required:
    - data
    type: object
    x-access:
    - Public
  AceCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Ace'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  AceDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Ace'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  AceDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Ace'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  AdviceCreation:
    properties:
      data:
        $ref: '#/definitions/PaymentAdvice'
    type: object
    x-access:
    - Public
  AdviceCreationResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentAdvice'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AdviceDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentAdvice'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AdviceSubmission:
    properties:
      attributes:
        $ref: '#/definitions/AdviceSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/AdviceSubmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  AdviceSubmissionAttributes:
    properties:
      status:
        $ref: '#/definitions/AdviceSubmissionStatus'
      status_reason:
        type: string
      submission_datetime:
        format: date-time
        readOnly: true
        type: string
      transaction_start_datetime:
        format: date-time
        readOnly: true
        type: string
    type: object
    x-access:
    - Public
  AdviceSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/NewAdviceSubmission'
    type: object
    x-access:
    - Public
  AdviceSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/AdviceSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AdviceSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/AdviceSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AdviceSubmissionFetch:
    properties:
      attributes:
        $ref: '#/definitions/AdviceSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/AdviceSubmissionFetchRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  AdviceSubmissionFetchRelationships:
    properties:
      advice:
        $ref: '#/definitions/RelationshipLinks'
      payment:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  AdviceSubmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/AdviceSubmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  AdviceSubmissionRelationships:
    properties:
      advice:
        $ref: '#/definitions/RelationshipAdvices'
      payment:
        $ref: '#/definitions/RelationshipPayments'
    type: object
    x-access:
    - Public
  AdviceSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
  Agent:
    properties:
      account_number:
        description: Account number of the financial institution. Can be BBAN or IBAN.
        example: BBAN
        type: string
      account_number_code:
        $ref: '#/definitions/AccountNumberCode'
      address:
        example:
        - 1 Clarence Mew, Horsforth, Leeds UK 4EP
        items:
          type: string
        maxItems: 4
        type: array
        x-omitempty: true
      identification:
        properties:
          bank_id:
            description: Identification code of the financial institution.
            example: LOYDGB2L
            maxLength: 30
            type: string
          bank_id_code:
            description: Type of identification provided in bank_id field. Required
              when bank_id is provided, not used otherwise.
            example: SWBIC
            maxLength: 5
            type: string
          bank_ids:
            description: Array for additional ID(s) for agent
            items:
              $ref: '#/definitions/AccountWithBankId'
            type: array
            x-omitempty: true
        type: object
      name:
        description: Name by which the financial institution is known
        example: Lloyds Bank
        type: string
      role:
        $ref: '#/definitions/AgentRole'
    type: object
    x-access:
    - Public
  AgentInstruction:
    properties:
      instructions:
        items:
          $ref: '#/definitions/Instruction'
        type: array
      role:
        $ref: '#/definitions/AgentInstructionRole'
    type: object
    x-access:
    - Public
  AgentInstructionRole:
    enum:
    - BeneficiaryAgent
    type: string
    x-access:
    - Public
  AgentRole:
    description: Role of the agent in the payment chain. Enum of pre-defined values,
      new values can be added when needed
    enum:
    - AdditionalBeneficiaryPartyAgentInformation
    - CaseCreator
    - InstructedAgent
    - InstructingAgent
    - IntermediaryAgent1
    - IntermediaryAgent2
    - IntermediaryAgent3
    example: IntermediaryAgent1
    type: string
    x-access:
    - Public
  ApiError:
    properties:
      error_code:
        format: uuid
        type: string
      error_message:
        type: string
    type: object
    x-access:
    - Public
  ApiErrorWithActualResource:
    properties:
      actual_resource:
        type: object
      error_code:
        format: uuid
        type: string
      error_message:
        type: string
    type: object
    x-access:
    - Public
  AuditEntry:
    properties:
      attributes:
        properties:
          action_time:
            description: Timestamp when the change was requested
            example: '2017-03-20T17:13:41.308Z'
            format: date-time
            type: string
          actioned_by:
            description: User ID of the user who requested the change
            example: 9a120694-2308-4044-9a6b-b667a9fc3e48
            format: uuid
            type: string
          after_data:
            description: Snapshot of what the data would be after the change (empty
              if the request was to DELETE a record)
            type: object
          before_data:
            description: Snapshot of the data before the change (empty if the request
              was to CREATE a new record)
            type: object
          description:
            description: Textual description of the change being made
            example: Record insert request - pending approval
            pattern: ^[A-Za-z0-9 .,@:]*$
            type: string
          record_id:
            description: ID of the resource that is being changed
            example: e90c3385-e299-4d1c-95f3-fc1075e047a4
            format: uuid
            type: string
          record_type:
            description: Type of the resource that is being changed
            example: User
            pattern: ^[A-Za-z]*$
            type: string
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: auditentry
        pattern: ^[A-Za-z]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  AuditEntryListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/AuditEntry'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  BankIDCode:
    enum:
    - GBDSC
    - SWBIC
    type: string
    x-access:
    - Public
  BankIdCode:
    enum:
    - BE
    - CHBCC
    - DEBLZ
    - ESNCC
    - FR
    - GBDSC
    - GRBIC
    - ITNCC
    - PLKNR
    - PTNCC
    - SWBIC
    type: string
    x-access:
    - Public
  BeneficiaryDebtorAccountHoldingEntity:
    properties:
      bank_additional_address_line:
        description: Additional address lines of the debtor/benificiary bank address
        items:
          maxLength: 35
          type: string
        maxItems: 3
        type: array
        x-omitempty: true
      bank_address:
        description: Financial institution address
        example:
        - L13 1NW
        - Liverpool Customer Service Centre
        - Stevenson Way
        - Wavertree
        items:
          type: string
        type: array
        x-omitempty: true
      bank_building_number:
        description: Building number of the debtor/benificiary bank address
        maxLength: 16
        type: string
      bank_city:
        description: City/Town of the debtor/benificiary bank address
        maxLength: 35
        type: string
      bank_country:
        description: Country of the debtor/benificiary bank address, ISO 3166 format
          country code
        example: US
        maxLength: 2
        type: string
      bank_id:
        description: Financial institution identification
        example: '333333'
        type: string
        x-length: 11
      bank_id_code:
        description: The type of identification provided at `bank_id` attribute. Must
          be ISO code as listed in the [External Code Sets spreadsheet](https://www.iso20022.org/external_code_list.page)
        type: string
        x-length: 5
      bank_ids:
        description: Array for additional ID(s) for agent
        items:
          $ref: '#/definitions/AccountWithBankId'
        type: array
        x-omitempty: true
      bank_name:
        description: Financial institution name
        example: NATIONAL WESTMINSTER BANK PLC
        type: string
        x-length: 35
      bank_party_id:
        description: Identifier of the financial institution which services the account
        example: //AT12345
        type: string
        x-length: 35
      bank_post_code:
        description: Post code of the debtor/benificiary bank address
        maxLength: 16
        type: string
      bank_postal_address:
        $ref: '#/definitions/PostalAddress'
        description: Postal address of the debtor/benificiary bank
        x-omitempty: true
      bank_province:
        description: Province of the debtor/benificiary bank address
        maxLength: 35
        type: string
      bank_street_name:
        description: Street name of the debtor/benificiary bank address
        maxLength: 70
        type: string
    type: object
    x-access:
    - Public
  BeneficiaryDebtorAccountProxy:
    properties:
      proxy:
        description: Name of the identification scheme, in a free text form. When
          used proxy_id_code must not be present
        example: ID123456
        maxLength: 35
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Name of the identification scheme, in a free text form. When used
            proxy_id_code must not be present
        x-nullable: true
        x-omitempty: true
      proxy_id:
        description: Identification used to indicate the account identification under
          another specified name
        example: 07495845323
        maxLength: 2048
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Identification used to indicate the account identification under another
            specified name
      proxy_id_code:
        description: Name of the identification scheme, in a coded form as published
          in an external list. When used proxy field must not be present
        example: MBNO
        maxLength: 4
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Name of the identification scheme, in a coded form as published in
            an external list. When used proxy field must not be present
        x-nullable: true
        x-omitempty: true
    type: object
    x-access:
    - Public
  BeneficiaryDebtorOrganisationIdentification:
    properties:
      identification:
        description: Another ID of the organisation
        example: H7FNTJ4851HG0EXQ1Z70
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Another ID of the organisation
        x-length: 35
        x-omitempty: true
      identification_code:
        description: Code for the type of other ID of organisation
        example: LEI
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Code for the type of other ID of organisation
        x-length: 5
        x-omitempty: true
      identification_issuer:
        description: Issuer of the other ID of organisation
        example: London Stock Exchange
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Issuer of the other ID of organisation
        x-length: 35
        x-omitempty: true
      identification_scheme:
        description: Custom internal code for the type of other ID of organisation
        example: Custom code
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Custom internal code for the type of other ID of organisation
        x-length: 35
        x-omitempty: true
    type: object
    x-access:
    - Public
  Branch:
    properties:
      attributes:
        $ref: '#/definitions/BranchAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: branches
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  BranchAmendment:
    properties:
      data:
        $ref: '#/definitions/BranchUpdate'
    type: object
    x-access:
    - Public
  BranchAttributes:
    properties:
      acceptance_qualifier:
        $ref: '#/definitions/AcceptanceQualifier'
      bank_id:
        description: Local country bank identifier. In the UK this is the sort code.
        example: '400300'
        pattern: ^[A-Z0-9]{1,11}$
        type: string
      bank_id_code:
        description: ISO 20022 code used to identify the type of bank ID being used
        example: GBDSC
        pattern: ^[A-Z]{0,16}$
        type: string
      reference_mask:
        description: "if present \u2013 has effect of making secondary reference in\
          \ payment mandatory"
        example: 4929############
        type: string
      user_defined_data:
        description: All purpose list of key-value pairs to store specific data.
        items:
          $ref: '#/definitions/UserDefinedData'
        maxItems: 5
        type: array
        x-omitempty: true
      validation_type:
        $ref: '#/definitions/BranchValidationType'
    required:
    - bank_id
    - bank_id_code
    type: object
    x-access:
    - Public
  BranchCreation:
    properties:
      data:
        $ref: '#/definitions/Branch'
    required:
    - data
    type: object
    x-access:
    - Public
  BranchCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Branch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  BranchDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Branch'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  BranchDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Branch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  BranchIdentification:
    properties:
      attributes:
        $ref: '#/definitions/BranchIdentificationAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Type of this resource, always branch_identifications
        example: branch_identifications
        format: ^branch_identifications$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  BranchIdentificationAttributes:
    properties:
      secondary_identification:
        description: Used to validate where expecting an exact match against payment's
          reference information.
        maxLength: 35
        minLength: 1
        type: string
    required:
    - secondary_identification
    type: object
    x-access:
    - Public
  BranchIdentificationData:
    allOf:
    - $ref: '#/definitions/BranchIdentification'
    - properties:
        relationships:
          $ref: '#/definitions/BranchIdentificationRelationships'
      type: object
    x-access:
    - Public
  BranchIdentificationEventData:
    allOf:
    - $ref: '#/definitions/BranchIdentification'
    - properties:
        relationships:
          $ref: '#/definitions/BranchIdentificationEventRelationships'
      type: object
    x-access:
    - Public
  BranchIdentificationEventRelationships:
    properties:
      branch:
        $ref: '#/definitions/RelationshipBranch'
    x-access:
    - Public
  BranchIdentificationEventResponse:
    properties:
      data:
        $ref: '#/definitions/BranchIdentificationEventData'
    type: object
    x-access:
    - Public
  BranchIdentificationListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/BranchIdentification'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  BranchIdentificationRelationships:
    properties:
      branch:
        $ref: '#/definitions/RelationshipLinks'
    x-access:
    - Public
  BranchIdentificationRequest:
    properties:
      data:
        $ref: '#/definitions/BranchIdentification'
    required:
    - data
    type: object
    x-access:
    - Public
  BranchIdentificationResponse:
    properties:
      data:
        $ref: '#/definitions/BranchIdentificationData'
    type: object
    x-access:
    - Public
  BranchUpdate:
    properties:
      attributes:
        properties:
          acceptance_qualifier:
            $ref: '#/definitions/AcceptanceQualifier'
          reference_mask:
            $ref: '#/definitions/ReferenceMask'
          user_defined_data:
            description: All purpose list of key-value pairs to store specific data.
            items:
              $ref: '#/definitions/UserDefinedData'
            maxItems: 5
            type: array
            x-omitempty: true
          validation_type:
            $ref: '#/definitions/BranchValidationType'
        type: object
        x-access:
        - Public
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: accounts
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    - version
    type: object
    x-access:
    - Public
  BranchValidationType:
    description: optional validation to apply to the branch
    enum:
    - account_mod_check
    - card
    - mandatory_reference
    - none
    type: string
    x-access:
    - Public
  CallbackTransport:
    enum:
    - http
    - http_aws_private
    - http_azure_private
    - http_gcp_private
    - queue
    type: string
    x-access:
    - Public
  CallbackURI:
    properties:
      callback_transport:
        $ref: '#/definitions/CallbackTransport'
        description: 'Type of transport: queue, public http or private http for specific
          cloud'
      callback_uri:
        description: URI that will be called with the notification
        pattern: ^[A-Za-z0-9 .,@:\&\?=\/\-_]*$
        type: string
    required:
    - callback_transport
    - callback_uri
    type: object
    x-access:
    - Public
  ChargesInformation:
    properties:
      bearer_code:
        description: 'Specifies which party/parties will bear the charges associated
          with the processing of the payment transaction. Can be one of the following:
          `DEBT`, `CRED`, `SHAR` or `SLEV`'
        example: SLEV
        type: string
        x-length: 4
      charges_bearer:
        items:
          description: List of agents applying charges
          properties:
            agent:
              properties:
                bank_additional_address_line:
                  items:
                    maxLength: 35
                    type: string
                  maxItems: 3
                  type: array
                  x-omitempty: true
                bank_building_number:
                  maxLength: 16
                  type: string
                bank_city:
                  maxLength: 35
                  type: string
                bank_country:
                  description: ISO 3166 format country code
                  example: US
                  maxLength: 2
                  type: string
                bank_ids:
                  description: Array for additional ID(s) for agent
                  items:
                    $ref: '#/definitions/AccountWithBankId'
                  type: array
                  x-omitempty: true
                bank_name:
                  maxLength: 140
                  type: string
                bank_post_code:
                  maxLength: 16
                  type: string
                bank_postal_address:
                  $ref: '#/definitions/PostalAddress'
                  description: Agent postal address
                  x-omitempty: true
                bank_province:
                  maxLength: 35
                  type: string
                bank_street_name:
                  maxLength: 70
                  type: string
              type: object
            amount:
              description: Transaction charges applied by agent. Requires 1 to 2 decimal
                places. Must be > 0.
              example: '1.20'
              pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
              type: string
            currency:
              description: Currency of charges_bearer amount. Currency code as defined
                in [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
              example: USD
              maxLength: 3
              type: string
          type: object
        type: array
        x-omitempty: true
      receiver_charges_amount:
        description: Transaction charges due to the receiver of the transaction. Requires
          1 to 2 decimal places. Must be > 0.
        example: '1.20'
        type: string
      receiver_charges_currency:
        description: Currency of `receiver_charges_amount`. Currency code as defined
          in [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
        example: EUR
        type: string
        x-length: 3
      sender_charges:
        items:
          description: List of transaction charges due to the sender of the transaction
          properties:
            amount:
              description: Amount of each transaction charge due to the sender of
                the transaction. Requires 1 to 2 decimal places. Must be > 0.
              example: '2.00'
              type: string
            currency:
              description: Currency of `amount`. Currency code as defined in [ISO
                4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
              example: EUR
              type: string
          type: object
        type: array
        x-omitempty: true
    type: object
    x-access:
    - Public
  Claim:
    properties:
      attributes:
        $ref: '#/definitions/ClaimAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ClaimRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ClaimAttributes:
    properties:
      beneficiary_party:
        properties:
          account_number:
            pattern: ^[A-Z0-9]{6,34}$
            type: string
          bank_id:
            type: string
        required:
        - account_number
        - bank_id
        type: object
      clearing_id:
        pattern: ^[0-9]{6}$
        type: string
      contact_name:
        type: string
      debtor_party:
        properties:
          account_name:
            type: string
            x-omitempty: false
          account_number:
            pattern: ^[A-Z0-9]{6,34}$
            type: string
          bank_id:
            type: string
        required:
        - account_name
        - account_number
        - bank_id
        type: object
      disputed_transactions:
        items:
          $ref: '#/definitions/DisputedTransaction'
        type: array
      number_of_claims:
        type: integer
      original_instruction:
        properties:
          clearing_id:
            pattern: ^[0-9]{6}$
            type: string
          reference:
            type: string
        required:
        - clearing_id
        - reference
        type: object
      payment_scheme:
        type: string
      processing_date:
        format: date
        type: string
      reason_code:
        pattern: ^[1-9]$
        type: string
      reference:
        type: string
      request_date:
        format: date
        type: string
    required:
    - beneficiary_party
    - clearing_id
    - debtor_party
    - disputed_transactions
    - number_of_claims
    - original_instruction
    - payment_scheme
    - reason_code
    - reference
    type: object
    x-access:
    - Public
  ClaimCreation:
    properties:
      data:
        $ref: '#/definitions/Claim'
    type: object
    x-access:
    - Public
  ClaimDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Claim'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ClaimDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Claim'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ClaimRelationships:
    properties:
      claim_reversal:
        properties:
          data:
            items:
              $ref: '#/definitions/ClaimReversal'
            type: array
        type: object
      claim_submission:
        properties:
          data:
            items:
              $ref: '#/definitions/ClaimSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ClaimResourceType:
    enum:
    - claim_reversal_submission_validations
    - claim_reversal_submissions
    - claim_reversals
    - claim_submission_validations
    - claim_submissions
    - claims
    type: string
    x-access:
    - Public
  ClaimReversal:
    properties:
      attributes:
        properties:
          original_instruction_id:
            minLength: 1
            type: string
        required:
        - original_instruction_id
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ClaimReversalRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ClaimReversalCreation:
    properties:
      data:
        $ref: '#/definitions/ClaimReversal'
    required:
    - data
    type: object
    x-access:
    - Public
  ClaimReversalDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ClaimReversal'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ClaimReversalRelationships:
    properties:
      claim:
        properties:
          data:
            items:
              $ref: '#/definitions/Claim'
            type: array
        type: object
      claim_reversal_submission:
        properties:
          data:
            items:
              $ref: '#/definitions/ClaimReversalSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ClaimReversalSubmission:
    properties:
      attributes:
        properties:
          status:
            $ref: '#/definitions/ClaimSubmissionStatus'
          status_reason:
            type: string
          submission_datetime:
            format: date-time
            readOnly: true
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ClaimReversalSubmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ClaimReversalSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/ClaimReversalSubmission'
    required:
    - data
    type: object
    x-access:
    - Public
  ClaimReversalSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ClaimReversalSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ClaimReversalSubmissionRelationships:
    properties:
      claim:
        properties:
          data:
            items:
              $ref: '#/definitions/Claim'
            type: array
        type: object
      claim_reversal:
        properties:
          data:
            items:
              $ref: '#/definitions/ClaimReversal'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ClaimSubmission:
    properties:
      attributes:
        properties:
          scheme_message_id:
            type: string
          status:
            $ref: '#/definitions/ClaimSubmissionStatus'
          status_reason:
            type: string
          submission_datetime:
            format: date-time
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ClaimSubmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ClaimSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/ClaimSubmission'
    required:
    - data
    type: object
    x-access:
    - Public
  ClaimSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ClaimSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ClaimSubmissionRelationships:
    properties:
      claim:
        properties:
          data:
            items:
              $ref: '#/definitions/Claim'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ClaimSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - validation_failed
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
  ClearingChannel:
    description: Answer to the recall request. Can either be `MPNS`, `RTGS` or `RTNS`.
    enum:
    - MPNS
    - RTGS
    - RTNS
    example: MPNS
    type: string
    x-access:
    - Public
  CorrectionTransactionInformation:
    description: References a transaction initiated to fix the case under investigation.
    properties:
      amount:
        description: Amount of money moved between the instructing agent and the instructed
          agent.
        pattern: ^[0-9.]{0,14}$
        type: string
        x-length: 14
        x-omitempty: true
      currency:
        description: Currency of the transaction amount. Currency code as defined
          in [ISO 4217](https://www.iso.org/iso/home/standards/currency_codes.htm)
        maxLength: 3
        minLength: 3
        type: string
        x-length: 3
        x-omitempty: true
      end_to_end_reference:
        description: Unique identification, as assigned by the initiating party, to
          unambiguously identify the transaction. This identification is passed on,
          unchanged, throughout the entire end-to-end chain.
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      instruction_id:
        description: Unique identification, as assigned by an instructing party for
          an instructed party, to unambiguously identify the instruction.
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      processing_date:
        description: Date on which the amount of money ceases to be available to the
          agent that owes it and when the amount of money becomes available to the
          agent to which it is due.
        example: '2015-12-23'
        format: date
        type: string
        x-nullable: true
        x-omitempty: true
      references:
        description: Reference for the corrective payment for this query case.
        items:
          $ref: '#/definitions/QueryReference'
        type: array
        x-omitempty: true
      scheme_transaction_id:
        description: Unique identification, as assigned by the first instructing agent,
          to unambiguously identify the transaction that is passed on, unchanged,
          throughout the entire interbank chain.
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      unique_scheme_id:
        description: The scheme-specific unique transaction ID to unambiguously identify
          the message. Populated by the scheme.
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
    type: object
    x-access:
    - Public
  Credential:
    properties:
      client_id:
        type: string
    type: object
    x-access:
    - Public
  CredentialCreationResponse:
    properties:
      data:
        $ref: '#/definitions/CredentialSecret'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  CredentialDetail:
    properties:
      client_id:
        type: string
      client_secret:
        type: string
      rate_limit:
        properties:
          block_interval_seconds:
            minimum: 1
            type: integer
          interval_seconds:
            minimum: 1
            type: integer
          rate:
            minimum: 1
            type: integer
        type: object
      role:
        default: user
        type: string
    type: object
    x-access:
    - Public
  CredentialSecret:
    properties:
      client_id:
        type: string
      client_secret:
        type: string
    type: object
    x-access:
    - Public
  CurrencyAndAmount:
    properties:
      amount:
        example: '10.00'
        pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
        type: string
      currency:
        description: ISO currency code for `amount`
        type: string
    type: object
    x-access:
    - Public
  DebtorParty:
    properties:
      account_with:
        properties:
          bank_name:
            description: Financial institution name
            type: string
        type: object
    type: object
    x-access:
    - Public
    x-omitempty: true
  DirectDebit:
    properties:
      attributes:
        properties:
          amount:
            description: Amount of money moved between the instructing agent and instructed
              agent
            example: '10.00'
            pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
            type: string
            x-parent: data.attributes
          beneficiary_party:
            properties:
              account_name:
                description: Name of beneficiary as given with account
                example: James Bond
                type: string
                x-omitempty: false
                x-parent: data.attributes.beneficiary_party
              account_number:
                description: Beneficiary account number
                example: '71268996'
                type: string
                x-parent: data.attributes.beneficiary_party
              account_number_code:
                $ref: '#/definitions/AccountNumberCode'
                x-parent: data.attributes.beneficiary_party
              account_type:
                description: The type of the account given with `beneficiary_party.account_number`.
                  Single digit number. Only required if requested by the beneficiary
                  party. Defaults to 0.
                example: 0
                type: integer
                x-omitempty: false
                x-parent: data.attributes.beneficiary_party
              account_with:
                $ref: '#/definitions/AccountHoldingEntity'
                x-parent: data.attributes.beneficiary_party
              address:
                description: Beneficiary address
                example:
                - 1 Clarence Mew
                - Horsforth
                - Leeds Ls18 4EP
                items:
                  type: string
                type: array
                x-omitempty: true
                x-parent: data.attributes.beneficiary_party
              building_number:
                description: Building number of the Debtor address
                type: string
                x-length: 16
                x-parent: data.attributes.beneficiary_party
              city:
                description: City/Town of the Debtor address
                example: BRUSSELS
                type: string
                x-length: 35
                x-parent: data.attributes.beneficiary_party
              country:
                description: Country of the beneficiary address, ISO 3166 format country
                  code
                example: DE
                type: string
                x-parent: data.attributes.beneficiary_party
              name:
                description: Beneficiary name
                example: James Bond
                type: string
                x-availability:
                  get:
                    sepa: always
                  post:
                    sepa: required
                x-description:
                  swift: 'Field 59A: Beneficiary customer name and address (140)'
                x-length: 70
                x-parent: data.attributes.beneficiary_party
              post_code:
                description: Post code of the Debtor address
                type: string
                x-length: 16
                x-parent: data.attributes.beneficiary_party
              postal_address:
                $ref: '#/definitions/PostalAddress'
                description: Beneficiary postal address
                x-omitempty: true
              private_identification:
                $ref: '#/definitions/PrivateIdentification'
                x-parent: data.attributes.beneficiary_party
              province:
                description: Province of the Debtor address
                type: string
                x-length: 35
                x-parent: data.attributes.beneficiary_party
              street_name:
                description: Street name of the Debtor address
                example: Park Avenue
                type: string
                x-length: 70
                x-parent: data.attributes.beneficiary_party
            type: object
            x-parent: data.attributes
          category_purpose:
            description: Category purpose in proprietary form. Specifies the high
              level purpose of the instruction. Cannot be used at the same time as
              `category_purpose_coded`.
            type: string
            x-availability:
              get:
                sepa: sometimes
              post:
                sepa: optional
            x-length: 35
            x-parent: data.attributes
          category_purpose_coded:
            description: Category purpose in a coded form. Specifies the high level
              purpose of the instruction. Cannot be used at the same time as `category_purpose`.
            type: string
            x-availability:
              get:
                sepa: sometimes
              post:
                sepa: optional
            x-description:
              sepa: The codes used must be part of the ISO 20022 ExternalCategoryPurpose1Code
                list
            x-length: 4
            x-parent: data.attributes
          clearing_id:
            description: Unique identifier for organisations collecting payments
            example: '123456'
            type: string
            x-parent: data.attributes
          currency:
            description: Currency of the transaction amount. Currency code as defined
              in [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm)
            example: EUR
            type: string
            x-length: 3
            x-parent: data.attributes
          debtor_party:
            properties:
              account_name:
                description: Name of debtor as given with account
                example: Jane Bond
                type: string
                x-omitempty: false
                x-parent: data.attributes.debtor_party
              account_number:
                description: Debtor account number. Allows upper case and numeric
                  characters.
                example: '12345678'
                type: string
                x-parent: data.attributes.debtor_party
              account_number_code:
                $ref: '#/definitions/AccountNumberCode'
                x-parent: data.attributes.debtor_party
              account_with:
                $ref: '#/definitions/AccountHoldingEntity'
                x-parent: data.attributes.debtor_party
              address:
                description: Debtor address
                example:
                - 63 St Mary Axe
                - EC3A 8AA
                - London
                items:
                  type: string
                type: array
                x-omitempty: true
                x-parent: data.attributes.debtor_party
              building_number:
                description: Building number of the Debtor address
                type: string
                x-length: 16
                x-parent: data.attributes.debtor_party
              city:
                description: City/Town of the Debtor address
                example: BRUSSELS
                type: string
                x-length: 35
                x-parent: data.attributes.debtor_party
              country:
                description: Country of debtor address. ISO 3166 format country code"
                example: GB
                type: string
                x-parent: data.attributes.debtor_party
              name:
                description: Debtor name
                example: Norman Smith
                type: string
                x-availability:
                  get:
                    sepa: always
                  post:
                    sepa: required
                x-description:
                  swift: 'Field 50A: Ordering customer name and address (140)'
                x-length: 70
                x-parent: data.attributes.debtor_party
              organisation_identification:
                description: Organisation identification of a beneficiary, used in
                  the case that the beneficiary is an organisation and not a private
                  person
                example: ID1234656
                type: string
                x-availability:
                  get:
                    sepa: sometimes
                  post:
                    sepa: optional
                x-description:
                  sepa: The Identification can either be a BIC, BEI or Other Identification
                x-length: 35
                x-parent: data.attributes.debtor_party
              organisation_identification_code:
                description: The code that specifies the type of `organisation_identification`
                example: BIC
                type: string
                x-availability:
                  get:
                    sepa: sometimes
                  post:
                    sepa: conditional
                x-description:
                  sepa: If `beneficiary_party.organisation_identification` is specified,
                    must be one of `BIC`, `BEI`, `BANK`, `CBID`, `CHID`, `CINC`, `COID`,
                    `CUST`, `DUNS`, `EMPL`, `GS1G`, `SREN`, `SRET`, `TXID` or `Other`
                x-length: 5
                x-parent: data.attributes.debtor_party
              organisation_identification_issuer:
                description: Issuer of the `organisation_identification`
                example: NATIONAL WESTMINSTER BANK PLC
                type: string
                x-availability:
                  get:
                    sepa: sometimes
                  post:
                    sepa: optional
                x-description:
                  sepa: May only be present if `beneficiary_party.organisation_identification_code`
                    is `Other`
                x-length: 35
                x-parent: data.attributes.debtor_party
              organisation_identification_scheme:
                description: The code that specifies the scheme of `organisation_identification`
                example: CustomerId
                type: string
                x-availability:
                  get:
                    sepa: sometimes
                  post:
                    sepa: optional
                x-description:
                  sepa: May only be present if `beneficiary_party.organisation_identification_code`
                    is `Other`
                x-length: 35
                x-parent: data.attributes.debtor_party
              organisation_identifications:
                description: Array for additional ID(s) of ultimate organisation
                items:
                  $ref: '#/definitions/BeneficiaryDebtorOrganisationIdentification'
                type: array
                x-availability:
                  get:
                    sepa: sometimes
                  post:
                    sepa: optional
                x-description:
                  sepa: Array for additional ID(s) for ultimate organisation
                x-omitempty: true
                x-parent: data.attributes.debtor_party
              post_code:
                description: Post code of the Debtor address
                type: string
                x-length: 16
                x-parent: data.attributes.debtor_party
              postal_address:
                $ref: '#/definitions/PostalAddress'
                description: Debtor postal address
                x-omitempty: true
              private_identification:
                $ref: '#/definitions/PrivateIdentification'
                x-parent: data.attributes.debtor_party
              province:
                description: Province of the Debtor address
                type: string
                x-length: 35
                x-parent: data.attributes.debtor_party
              street_name:
                description: Street name of the Debtor address
                example: Park Avenue
                type: string
                x-length: 70
                x-parent: data.attributes.debtor_party
            type: object
            x-parent: data.attributes
          end_to_end_reference:
            description: Unique identification, as assigned by the initiating party,
              to unambiguously identify the transaction. This identification is passed
              on, unchanged, throughout the entire end-to-end chain.
            example: 'PAYMENT REF: 20094'
            type: string
            x-availability:
              get:
                sepa: always
              post:
                sepa: required
            x-description:
              sepa: In the event that no reference was given, `NOTPROVIDED` must be
                used.
              swift: 'Field70: Remittance Information after /ROC/ code (31)'
            x-length: 35
            x-parent: data.attributes
          instruction_id:
            description: Unique identification, as assigned by the initiating party
              to unambiguously identify the transaction. This identification is an
              point-to-point reference and is passed on, unchanged, throughout the
              entire chain. Cannot include leading, trailing or internal spaces.
            example: ID1245799
            type: string
            x-availability:
              get:
                sepa: sometimes
              post:
                sepa: optional
            x-description:
              sepa: Cannot include leading, trailing or internal spaces
            x-length: 35
            x-parent: data.attributes
          mandate_amendment_indicator:
            description: Indicator notifying whether the underlying mandate is amended
              or not
            type: boolean
            x-nullable: true
            x-parent: data.attributes
          mandate_id:
            description: Original mandate id.
            type: string
            x-availability:
              post:
                sepa: required
            x-parent: data.attributes
          mandate_signature_date:
            description: Date on which the direct debit mandate has been signed by
              the debtor.
            example: '2017-07-23'
            format: date
            type: string
            x-availability:
              get:
                sepa: always
              post:
                sepa: required
            x-nullable: true
            x-parent: data.attributes
          numeric_reference:
            description: Numeric reference field, see scheme specific descriptions
              for usage
            type: string
            x-parent: data.attributes
          payment_purpose_coded:
            description: Purpose of the direct debit in a coded form
            type: string
            x-availability:
              get:
                sepa: sometimes
              post:
                sepa: optional
            x-description:
              sepa: The codes used must be part of the ISO 20022 ExternalPurpose1Code
                list.
            x-length: 4
            x-parent: data.attributes
          payment_scheme:
            description: Clearing infrastructure through which the operation instruction
              is to be processed. Default for given organisation ID is used if left
              empty. Has to be a valid [scheme identifier](http://draft-api-docs.form3.tech/api.html#enumerations-schemes).
            example: BACS
            type: string
            x-parent: data.attributes
          processing_date:
            description: 'Date on which the operation is to be debited from the debtor
              account. Formatted according to ISO 8601 format: YYYY-MM-DD.'
            example: '2015-02-12'
            format: date
            type: string
            x-nullable: true
            x-parent: data.attributes
          reference:
            description: Payment reference for beneficiary use
            example: rent for oct
            type: string
            x-length: 18
            x-parent: data.attributes
          remittance_information:
            description: Information supplied to enable the matching of an entry with
              the items that the transfer is intended to settle, such as commercial
              invoices in an accounts receivable system provided by the debtor for
              the beneficiary.
            example: Additional remittance information over and above reference information
            type: string
            x-availability:
              get:
                sepa: sometimes
              post:
                sepa: conditional
            x-description:
              sepa: Either the structured remittance information `structured_reference`
                or unstructured `remittance_information` may be present but not both.
            x-length: 140
            x-parent: data.attributes
          scheme_payment_type:
            description: The [scheme-specific payment type](#enumerations-scheme-payment-types)
            example: DirectDebitFirst
            type: string
            x-parent: data.attributes
          scheme_processing_date:
            description: 'Date on which the operation is processed by the scheme.
              Formatted according to ISO 8601 format: YYYY-MM-DD. Only used if different
              from `processing_date`.'
            example: '2015-02-12'
            format: date
            type: string
            x-nullable: true
            x-parent: data.attributes
          scheme_status:
            description: "This reference is used by the receiving party to identify\
              \ whether the related DDI would have been electronic (AUDDIS) or paper\u2010\
              based."
            enum:
            - AUDDIS
            - MIGRATING
            example: AUDDIS
            type: string
            x-parent: data.attributes
          scheme_transaction_id:
            description: Unique identification, as assigned by the first instructing
              agent, to unambiguously identify the transaction that is passed on,
              unchanged, throughout the entire interbank chain.
            example: '123456789012345678'
            type: string
            x-availability:
              get:
                sepa: always
              post:
                sepa: required
            x-description:
              sepa: Cannot include leading, trailing or internal spaces
            x-length: 35
            x-parent: data.attributes
          settlement:
            $ref: '#/definitions/Settlement'
            x-omitempty: true
            x-parent: data.attributes
          structured_reference:
            properties:
              issuer:
                description: Issuer of remittance reference
                type: string
                x-availability:
                  get:
                    sepa: sometimes
                  post:
                    sepa: conditional
                x-description:
                  sepa: Either the structured remittance information `structured_reference`
                    or unstructured `remittance_information` may be present but not
                    both. Mandatory if `SCOR` is used in the remittance data proprietary
                    code.
                x-length: 35
                x-parent: data.attributes.structured_reference
              reference:
                description: Unique reference to unambiguously refer to the payment
                  originated by the creditor, this reference enables reconciliation
                  by the creditor upon receipt of the amount of money.
                type: string
                x-availability:
                  get:
                    sepa: sometimes
                  post:
                    sepa: conditional
                x-description:
                  sepa: Either the structured remittance information `structured_reference`
                    or unstructured `remittance_information` may be present but not
                    both.
                x-length: 35
                x-parent: data.attributes.structured_reference
            type: object
            x-parent: data.attributes
          ultimate_beneficiary:
            $ref: '#/definitions/UltimateEntity'
          ultimate_debtor:
            $ref: '#/definitions/UltimateEntity'
          unique_scheme_id:
            description: The scheme-specific unique transaction ID. Populated by the
              scheme.
            example: L5W48NDWYW7JV9MRO71020180301826040011
            type: string
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/DirectDebitRelationships'
      type:
        description: Name of the resource type
        example: direct_debits
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version of the resource
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitAdmission:
    properties:
      attributes:
        properties:
          admission_datetime:
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
          scheme_status_code:
            type: string
            x-parent: data.attributes
          scheme_status_code_description:
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitAdmissionStatus'
          status_reason:
            $ref: '#/definitions/DirectDebitAdmissionStatusReason'
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/DirectDebitAdmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitAdmissionRelationships:
    properties:
      direct_debit:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebit'
            type: array
        type: object
    type: object
    x-access:
    - Public
  DirectDebitAdmissionStatus:
    enum:
    - confirmed
    - failed
    - limit_check_passed
    - limit_check_pending
    - pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitAdmissionStatusReason:
    enum:
    - accepted
    - account_closed
    - account_transferred_to_new_psp
    - authorisation_failed_by_sponsor
    - authorised_by_sponsor
    - bank_identifier_incorrect
    - bankid_not_provisioned
    - blocked_account
    - cancelled_by_payer
    - closed_account
    - creditor_bank_not_registered_under_bic
    - debtor_bank_not registered_under_bic
    - duplication
    - end_customer_deceased
    - insufficient_funds
    - invalid_bank_operation_code
    - invalid_beneficiary_details
    - invalid_debtor_account_type
    - invalid_transaction
    - mandate_cancelled
    - missing_creditor_name_or_address
    - missing_debtor_account
    - missing_debtor_name_or_address
    - missing_mandatory_mandate_information
    - no_instruction
    - not_allowed_amount
    - not_specified_reason_agent
    - not_specified_reason_customer
    - operation_code_incorrect
    - payer_deceased
    - paying_bank_cancellation
    - pending_authorisation_by_sponsor
    - pending_settlement
    - recalled_by_originator
    - regulatory_reason
    - scheme_status_invalid
    - settlement_failed
    - specific_service_offered_by_debtor_bank
    - transaction_forbidden
    - unauthorised_transaction
    - unknown_accountnumber
    - unknown_status_reason
    - unrecognised_initiating_party
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebit'
    type: object
    x-access:
    - Public
  DirectDebitCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebit'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitDecision:
    properties:
      attributes:
        properties:
          answer:
            description: Answer to direct debit request. Only `rejected` can be used.
            enum:
            - rejected
            type: string
            x-parent: data.attributes
          reason:
            description: Free text reason in addition to `reason_code`. Maximum length
              105 characters for both inbound and outbound direct debit decisions.
            example: Closed account number
            type: string
            x-omitempty: true
            x-parent: data.attributes
          reason_code:
            description: Reason for a rejected decision. Required when answer is rejected,
              ignored otherwise. Has to be a valid SEPA direct debit decision reason
              code.
            example: AC04
            type: string
            x-omitempty: true
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 67a1b31c-0743-429a-b664-ae63925e142f
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: 763e3cbb-da91-46fd-a0f8-169038a8324e
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_decision_admission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitDecisionAdmission'
                type: array
            type: object
          direct_debit_decision_submission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitDecisionSubmission'
                type: array
            type: object
        type: object
      type:
        description: Name of the resource type
        example: direct_debit_decisions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitDecisionAdmission:
    properties:
      attributes:
        properties:
          admission_datetime:
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
          source_gateway:
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitDecisionAdmissionStatus'
          status_reason:
            $ref: '#/definitions/DirectDebitDecisionAdmissionStatusReason'
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/DirectDebitDecisionAdmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitDecisionAdmissionCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecisionAdmission'
    type: object
    x-access:
    - Public
  DirectDebitDecisionAdmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecisionAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitDecisionAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecisionAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitDecisionAdmissionRelationships:
    properties:
      direct_debit:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebit'
            type: array
        type: object
      direct_debit_decision:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitDecision'
            type: array
        type: object
    type: object
    x-access:
    - Public
  DirectDebitDecisionAdmissionStatus:
    enum:
    - confirmed
    - failed
    - pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitDecisionAdmissionStatusReason:
    enum:
    - accepted
    - bankid_not_provisioned
    - invalid_beneficiary_details
    - pending_settlement
    - unknown_accountnumber
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitDecisionCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecision'
    type: object
    x-access:
    - Public
  DirectDebitDecisionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecision'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitDecisionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecision'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitDecisionSubmission:
    properties:
      attributes:
        properties:
          auto:
            default: false
            description: Indicates if the submission was created automatically by
              the system (`true`) or manually (`false`).
            type: boolean
            x-nullable: false
            x-parent: data.attributes
          scheme_status_code:
            description: Scheme-specific status (if submission has been submitted
              to a scheme)
            example: '0000'
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitDecisionSubmissionStatus'
          status_reason:
            description: Reason for submission failure if status is `delivery_failed`
            example: direct debit does not exist
            type: string
            x-parent: data.attributes
          submission_datetime:
            description: Date and time of the submission
            example: '2018-03-12T14:11:48.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 2eae8187-7119-470d-abbb-33b11f21d3ad
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: 763e3cbb-da91-46fd-a0f8-169038a8324e
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_decision:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitDecision'
                type: array
            type: object
        type: object
      type:
        description: Name of the resource type
        example: direct_debit_decision_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitDecisionSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecisionSubmission'
    type: object
    x-access:
    - Public
  DirectDebitDecisionSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecisionSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitDecisionSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitDecisionSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitDecisionSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/DirectDebit'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebit'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitMandate:
    properties:
      id:
        format: uuid
        type: string
      type:
        pattern: ^[A-Za-z_]*$
        type: string
    type: object
    x-access:
    - Public
  DirectDebitRecall:
    properties:
      attributes:
        properties:
          reason:
            description: Further explanation of the reason given in reason_code. Only
              evaluated for certain reason codes.
            example: Payment was a duplicate
            type: string
            x-omitempty: true
            x-parent: data.attributes
          reason_code:
            description: The reason for the recall. Has to be a valid [recall reason
              code](http://api-docs.form3.tech/api.html#enumerations-recall-reason-codes).
            example: DUPL
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/RecallStatus'
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_recall_admission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitRecallAdmission'
                type: array
            type: object
          direct_debit_recall_submission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitRecallSubmission'
                type: array
            type: object
        type: object
      type:
        description: Name of the resource type
        example: direct_debit_recalls
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    type: object
    x-access:
    - Public
  DirectDebitRecallAdmission:
    properties:
      attributes:
        properties:
          admission_datetime:
            description: Date and time the recall admission was created
            example: '2018-09-26T15:26:57.494Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
            x-parent: data.attributes
          source_gateway:
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitRecallAdmissionStatus'
          status_reason:
            description: Human-readable reason for failure if admission status is
              failed
            example: payment does not exist
            type: string
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_recall:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitRecall'
                type: array
            type: object
        type: object
      type:
        description: Name of the resource type
        example: direct_debit_recall_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    type: object
    x-access:
    - Public
  DirectDebitRecallAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitRecallAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitRecallAdmissionStatus:
    description: '[Status](http://draft-api-docs.form3.tech/api.html#enumerations-payment-admission-status)
      of the recall admission'
    enum:
    - confirmed
    - failed
    example: confirmed
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitRecallCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitRecall'
    type: object
    x-access:
    - Public
  DirectDebitRecallCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitRecall'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitRecallDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitRecall'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitRecallSubmission:
    properties:
      attributes:
        properties:
          destination_gateway:
            type: string
            x-parent: data.attributes
          scheme_status_code:
            description: Scheme-specific status (if submission has been submitted
              to a scheme)
            example: '0000'
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitRecallSubmissionStatus'
          status_reason:
            description: Reason for submission failure if status is `delivery_failed`
            example: direct debit does not exist
            type: string
            x-parent: data.attributes
          submission_datetime:
            description: Date and time of the submission
            example: '2018-03-12T14:11:48.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_recall:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitRecall'
                type: array
            type: object
        type: object
      type:
        description: Name of the resource type
        example: direct_debit_recall_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitRecallSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitRecallSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitRecallSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - pending
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitRelationships:
    properties:
      direct_debit_admission:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitAdmission'
            type: array
        type: object
      direct_debit_decision:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitDecision'
            type: array
        type: object
      direct_debit_recall:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitRecall'
            type: array
        type: object
      direct_debit_return:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitReturn'
            type: array
        type: object
      direct_debit_reversal:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitReversal'
            type: array
        type: object
      direct_debit_submission:
        description: The submission resource related to the direct debit
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitSubmission'
            type: array
        type: object
      mandate:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitMandate'
            type: array
        type: object
    type: object
    x-access:
    - Public
  DirectDebitResourceType:
    enum:
    - direct_debit_admissions
    - direct_debit_automatic_returns
    - direct_debit_decision_admissions
    - direct_debit_decision_submission_validations
    - direct_debit_decision_submissions
    - direct_debit_decisions
    - direct_debit_recall_admissions
    - direct_debit_recall_submission_validations
    - direct_debit_recall_submissions
    - direct_debit_recalls
    - direct_debit_return_admissions
    - direct_debit_return_reversal_admissions
    - direct_debit_return_reversals
    - direct_debit_return_submission_validations
    - direct_debit_return_submissions
    - direct_debit_return_submissions_with_final_state
    - direct_debit_returns
    - direct_debit_reversal_admissions
    - direct_debit_reversal_submission_validations
    - direct_debit_reversal_submissions
    - direct_debit_reversals
    - direct_debit_status
    - direct_debit_submission_validations
    - direct_debit_submissions
    - direct_debit_submissions_with_final_state
    - direct_debits
    type: string
    x-access:
    - Public
  DirectDebitReturn:
    properties:
      attributes:
        properties:
          charges_amount:
            $ref: '#/definitions/CurrencyAndAmount'
            x-omitempty: true
            x-parent: data.attributes
          clearing_id:
            description: Unique identifier for organisations collecting payments
            example: '123456'
            type: string
            x-parent: data.attributes
          compensation_amount:
            $ref: '#/definitions/CurrencyAndAmount'
            x-omitempty: true
            x-parent: data.attributes
          processing_date:
            description: 'Date on which the operation is to be debited from the debtor
              account. Formatted according to ISO 8601 format: YYYY-MM-DD.'
            example: '2015-02-12'
            format: date
            type: string
            x-nullable: true
            x-parent: data.attributes
          return_amount:
            $ref: '#/definitions/CurrencyAndAmount'
            x-omitempty: true
            x-parent: data.attributes
          return_code:
            type: string
            x-parent: data.attributes
          return_initiator:
            enum:
            - BANK
            - CUSTOMER
            type: string
            x-parent: data.attributes
          scheme_processing_date:
            description: 'Date on which the operation is processed by the scheme.
              Formatted according to ISO 8601 format: YYYY-MM-DD. Only used if different
              from `processing_date`.'
            example: '2015-02-12'
            format: date
            type: string
            x-nullable: true
            x-parent: data.attributes
          scheme_transaction_id:
            type: string
            x-parent: data.attributes
          settlement:
            $ref: '#/definitions/Settlement'
            x-omitempty: true
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_return_admission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReturnAdmission'
                type: array
            type: object
          direct_debit_return_reversal:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReturnReversal'
                type: array
            type: object
          direct_debit_return_submission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReturnSubmission'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitReturnAdmission:
    properties:
      attributes:
        properties:
          admission_datetime:
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
          scheme_status_code:
            type: string
            x-parent: data.attributes
          scheme_status_code_description:
            type: string
            x-parent: data.attributes
          settlement_cycle:
            minimum: 0
            type: integer
            x-parent: data.attributes
          settlement_date:
            format: date
            type: string
            x-nullable: true
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitReturnAdmissionStatus'
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/DirectDebitReturnAdmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitReturnAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReturnAdmissionRelationships:
    properties:
      direct_debit:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebit'
            type: array
        type: object
      direct_debit_return:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitReturn'
            type: array
        type: object
    type: object
    x-access:
    - Public
  DirectDebitReturnAdmissionStatus:
    enum:
    - confirmed
    - failed
    - limit_check_passed
    - limit_check_pending
    - pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitReturnCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturn'
    type: object
    x-access:
    - Public
  DirectDebitReturnCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturn'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReturnDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturn'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReturnReversal:
    properties:
      attributes:
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_return:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReturn'
                type: array
            type: object
          direct_debit_return_reversal_admission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReturnReversalAdmission'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitReturnReversalAdmission:
    properties:
      attributes:
        properties:
          scheme_status_code:
            minLength: 1
            type: string
            x-parent: data.attributes
          scheme_status_code_description:
            minLength: 1
            type: string
            x-parent: data.attributes
        required:
        - scheme_status_code
        - scheme_status_code_description
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_return:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReturn'
                type: array
            type: object
          direct_debit_return_reversal:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReturnReversal'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitReturnReversalAdmissionCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnReversalAdmission'
    type: object
    x-access:
    - Public
  DirectDebitReturnReversalAdmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnReversalAdmission'
    type: object
    x-access:
    - Public
  DirectDebitReturnReversalAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnReversalAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReturnReversalCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnReversal'
    type: object
    x-access:
    - Public
  DirectDebitReturnReversalCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnReversal'
    type: object
    x-access:
    - Public
  DirectDebitReturnReversalDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnReversal'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReturnSubmission:
    properties:
      attributes:
        properties:
          auto:
            default: false
            description: Indicates if the submission was created automatically by
              the system (true) or manually (false)
            type: boolean
            x-nullable: true
            x-parent: data.attributes
          file_identifier:
            pattern: ^[0-9a-zA-Z]+$
            type: string
            x-nullable: true
            x-parent: data.attributes
          file_number:
            pattern: ^[0-9]+$
            type: string
            x-nullable: true
            x-parent: data.attributes
          scheme_status_code:
            type: string
            x-parent: data.attributes
          scheme_status_code_description:
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitReturnSubmissionStatus'
          status_reason:
            type: string
            x-parent: data.attributes
          submission_datetime:
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
          transaction_start_datetime:
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_return:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReturn'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitReturnSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnSubmission'
    type: object
    x-access:
    - Public
  DirectDebitReturnSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReturnSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReturnSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReturnSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitReversal:
    properties:
      attributes:
        properties:
          charges_amount:
            description: Only present when a DirectDebitReversal contains charges.
              SEPA only
            properties:
              amount:
                description: The charges amount
                example: '10.00'
                pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
                type: string
                x-parent: data.attributes.charges_amount
              currency:
                description: ISO currency code for `amount`
                example: EUR
                type: string
                x-parent: data.attributes.charges_amount
            type: object
            x-omitempty: true
            x-parent: data.attributes
          processing_date:
            description: 'Date on which the operation is to be debited from the debtor
              account. Formatted according to ISO 8601 format: YYYY-MM-DD.'
            example: '2015-02-12'
            format: date
            type: string
            x-nullable: true
            x-parent: data.attributes
          reason:
            description: Further explanation of the reason given in reason_code. Only
              evaluated for certain reason codes.
            example: Direct debit was a duplicate
            type: string
            x-omitempty: true
            x-parent: data.attributes
          reason_code:
            description: The reason for the direct debit reversal. Has to be a valid
              [reversal reason code](http://api-docs.form3.tech/api.html#enumerations-reversal-reason-codes).
            example: AM05
            type: string
            x-parent: data.attributes
          reversal_amount:
            description: SEPA only
            properties:
              amount:
                description: Full amount of the Direct Debit Reversal including charges
                example: '10.00'
                pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
                type: string
                x-parent: data.attributes.reversal_amount
              currency:
                description: ISO currency code for `amount`
                example: EUR
                type: string
                x-parent: data.attributes.reversal_amount
            type: object
            x-omitempty: true
            x-parent: data.attributes
          scheme_processing_date:
            description: 'Date on which the operation is processed by the scheme.
              Formatted according to ISO 8601 format: YYYY-MM-DD. Only used if different
              from `processing_date`.'
            example: '2015-02-12'
            format: date
            type: string
            x-nullable: true
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_reversal_admission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReversalAdmission'
                type: array
            type: object
          direct_debit_reversal_submission:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReversalSubmission'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitReversalAdmission:
    properties:
      attributes:
        properties:
          scheme_status_code:
            type: string
            x-parent: data.attributes
          scheme_status_code_description:
            type: string
            x-parent: data.attributes
          source_gateway:
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitReversalAdmissionStatus'
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_reversal:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReversal'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitReversalAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReversalAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReversalAdmissionStatus:
    enum:
    - confirmed
    - failed
    example: confirmed
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitReversalCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReversal'
    type: object
    x-access:
    - Public
  DirectDebitReversalCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReversal'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReversalDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReversal'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReversalSubmission:
    properties:
      attributes:
        properties:
          destination_gateway:
            type: string
            x-parent: data.attributes
          scheme_status_code:
            type: string
            x-parent: data.attributes
          scheme_status_code_description:
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitReversalSubmissionStatus'
          status_reason:
            type: string
            x-parent: data.attributes
          submission_datetime:
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
          transaction_start_datetime:
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          direct_debit:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebit'
                type: array
            type: object
          direct_debit_reversal:
            properties:
              data:
                items:
                  $ref: '#/definitions/DirectDebitReversal'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitReversalSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReversalSubmission'
    type: object
    x-access:
    - Public
  DirectDebitReversalSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReversalSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReversalSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitReversalSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitReversalSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - limit_check_passed
    - limit_check_pending
    - pending
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitSubmission:
    properties:
      attributes:
        properties:
          file_identifier:
            pattern: ^[0-9a-zA-Z]+$
            type: string
            x-nullable: true
            x-parent: data.attributes
          file_number:
            pattern: ^[0-9]+$
            type: string
            x-nullable: true
            x-parent: data.attributes
          scheme_status_code:
            description: Scheme-specific status (if submission has been submitted
              to a scheme)
            example: '0000'
            type: string
            x-parent: data.attributes
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
            x-parent: data.attributes
          status:
            $ref: '#/definitions/DirectDebitSubmissionStatus'
            description: Status of the submission
            example: released_to_gateway
          status_reason:
            description: Description of the submission status
            example: Accepted without qualification
            type: string
            x-parent: data.attributes
          submission_datetime:
            description: Date of the submission
            example: '2018-03-12T14:11:48.055Z'
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
          transaction_start_datetime:
            description: Time the request was received by Form3. Used to compute the
              total transaction time of an operation.
            example: '2018-03-12T14:11:49.055Z'
            format: date-time
            readOnly: true
            type: string
            x-parent: data.attributes
        type: object
        x-parent: data
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique ID
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/DirectDebitSubmissionRelationships'
      type:
        description: Name of the resource type
        example: direct_debit_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version of the resource
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  DirectDebitSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/DirectDebitSubmission'
    type: object
    x-access:
    - Public
  DirectDebitSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/DirectDebitSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  DirectDebitSubmissionRelationships:
    properties:
      direct_debit:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebit'
            type: array
        type: object
    type: object
    x-access:
    - Public
  DirectDebitSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - pending
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  DirectDebitSubmissionValidationsRelationships:
    properties:
      direct_debit:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebit'
            type: array
        type: object
      direct_debit_submission:
        properties:
          data:
            items:
              $ref: '#/definitions/DirectDebitSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  DirectDebitWithReturn:
    properties:
      direct_debit:
        $ref: '#/definitions/DirectDebit'
      direct_debit_return:
        $ref: '#/definitions/DirectDebitReturn'
    type: object
    x-access:
    - Public
  DisputedTransaction:
    properties:
      amount:
        pattern: ^[0-9.]{0,20}$
        type: string
      date:
        format: date
        type: string
    required:
    - amount
    - date
    type: object
    x-access:
    - Public
  DuplicateTransactionInformation:
    properties:
      end_to_end_reference:
        description: Unique identification, as assigned by the initiating party, to
          unambiguously identify the transaction. This identification is passed on,
          unchanged, throughout the entire end-to-end chain.
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      references:
        description: Reference for the duplicated payment for this Exception and Investigation
          case.
        items:
          $ref: '#/definitions/QueryReference'
        type: array
        x-omitempty: true
      scheme_transaction_id:
        description: Unique identification, as assigned by the first instructing agent,
          to unambiguously identify the transaction that is passed on, unchanged,
          throughout the entire interbank chain.
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
    type: object
    x-access:
    - Public
  Instruction:
    properties:
      code:
        example: PHOB
        maxLength: 4
        type: string
      information:
        example: Phone Beneficiary
        maxLength: 140
        type: string
    type: object
    x-access:
    - Public
  IntermediaryBankAccountHoldingEntity:
    properties:
      bank_address:
        description: Financial institution address
        example:
        - L13 1NW
        - Liverpool Customer Service Centre
        - Stevenson Way
        - Wavertree
        items:
          type: string
        type: array
        x-omitempty: true
      bank_id:
        description: Financial institution identification
        example: '333333'
        type: string
        x-length: 11
      bank_id_code:
        description: The type of identification provided at `bank_id` attribute. Must
          be ISO code as listed in the [External Code Sets spreadsheet](https://www.iso20022.org/external_code_list.page)
        type: string
        x-length: 5
      bank_name:
        description: Financial institution name
        example: XYZ BANK PLC
        type: string
        x-length: 35
      bank_party_id:
        description: Identifier of the financial institution which services the account
        example: //AT12345
        type: string
        x-length: 37
    type: object
    x-access:
    - Public
  Links:
    properties:
      first:
        description: Link to the first resource in the list
        example: https://api.test.form3.tech/v1/api_name/resource_type
        type: string
        x-nullable: true
      last:
        description: Link to the last resource in the list
        example: https://api.test.form3.tech/v1/api_name/resource_type
        type: string
        x-nullable: true
      next:
        description: Link to the next resource in the list
        example: https://api.test.form3.tech/v1/api_name/resource_type
        type: string
        x-nullable: true
      prev:
        description: Link to the previous resource in the list
        example: https://api.test.form3.tech/v1/api_name/resource_type
        type: string
        x-nullable: true
      self:
        description: Link to this resource type
        example: https://api.test.form3.tech/v1/api_name/resource_type
        type: string
    required:
    - self
    type: object
    x-access:
    - Public
  ListSchemeFilesResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/SchemeFile'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  ListTransactionFileItem:
    properties:
      attributes:
        $ref: '#/definitions/TransactionFileAttributes'
        x-order: 7
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 1
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 6
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      relationships:
        $ref: '#/definitions/ListTransactionFileItemRelationships'
        x-order: 8
      type:
        enum:
        - transaction_files
        type: string
        x-order: 2
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
        x-order: 4
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ListTransactionFileItemRelationships:
    properties:
      reports:
        $ref: '#/definitions/ThinRelationship'
      transaction_file_admissions:
        properties:
          data:
            items:
              $ref: '#/definitions/TransactionFileAdmission'
            type: array
        type: object
      transaction_file_submissions:
        properties:
          data:
            items:
              $ref: '#/definitions/TransactionFileSubmissionShortRelationship'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ListTransactionFilesResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/ListTransactionFileItem'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  Mandate:
    properties:
      attributes:
        $ref: '#/definitions/MandateAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/MandateRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  MandateAdmission:
    properties:
      attributes:
        properties:
          admission_datetime:
            format: date-time
            readOnly: true
            type: string
          scheme_status_code:
            type: string
          scheme_status_code_description:
            type: string
          status:
            $ref: '#/definitions/MandateAdmissionStatus'
          status_reason:
            $ref: '#/definitions/MandateAdmissionStatusReason'
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/MandateAdmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  MandateAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/MandateAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateAdmissionRelationships:
    properties:
      mandate:
        properties:
          data:
            items:
              $ref: '#/definitions/Mandate'
            type: array
        type: object
    type: object
    x-access:
    - Public
  MandateAdmissionStatus:
    enum:
    - confirmed
    - failed
    type: string
    x-access:
    - Public
  MandateAdmissionStatusReason:
    enum:
    - accepted
    - bankid_not_provisioned
    - invalid_beneficiary_details
    - invalid_reference
    - mandate_cancelled
    - mandate_expired
    - mandate_failed
    - not_eligible_for_reinstatement_by_originator
    - payer_reference_not_unique
    - unknown_accountnumber
    - unknown_instruction
    type: string
    x-access:
    - Public
  MandateAmendment:
    properties:
      data:
        $ref: '#/definitions/Mandate'
    type: object
    x-access:
    - Public
  MandateAttributes:
    properties:
      amount:
        pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
        type: string
      beneficiary_party:
        $ref: '#/definitions/MandateAttributesBeneficiaryParty'
      clearing_id:
        type: string
      currency:
        type: string
      debtor_party:
        $ref: '#/definitions/MandateAttributesDebtorParty'
      frequency:
        $ref: '#/definitions/MandateFrequency'
      numeric_reference:
        type: string
      payment_scheme:
        type: string
      processing_date:
        format: date
        type: string
        x-nullable: true
      reference:
        type: string
      scheme_payment_type:
        type: string
      scheme_processing_date:
        format: date
        type: string
        x-nullable: true
      source:
        type: string
        x-nullable: true
        x-omitempty: true
      status:
        $ref: '#/definitions/MandateStatus'
        x-nullable: true
        x-omitempty: true
      status_reason:
        type: string
        x-nullable: true
        x-omitempty: true
      unique_scheme_id:
        type: string
    type: object
    x-access:
    - Public
  MandateAttributesBeneficiaryParty:
    properties:
      account_name:
        type: string
        x-omitempty: false
      account_number:
        pattern: ^[A-Z0-9]{6,34}$
        type: string
      account_number_code:
        $ref: '#/definitions/AccountNumberCode'
      account_type:
        type: integer
      account_with:
        $ref: '#/definitions/AccountHoldingEntity'
      address:
        items:
          type: string
        type: array
        x-omitempty: true
      country:
        type: string
      private_identification:
        $ref: '#/definitions/PrivateIdentification'
    type: object
    x-access:
    - Public
  MandateAttributesDebtorParty:
    properties:
      account_name:
        type: string
        x-omitempty: false
      account_number:
        pattern: ^[A-Z0-9]{6,34}$
        type: string
      account_number_code:
        $ref: '#/definitions/AccountNumberCode'
      account_with:
        $ref: '#/definitions/AccountHoldingEntity'
      address:
        items:
          type: string
        type: array
        x-omitempty: true
      country:
        type: string
    type: object
    x-access:
    - Public
  MandateCreation:
    properties:
      data:
        $ref: '#/definitions/Mandate'
    type: object
    x-access:
    - Public
  MandateCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Mandate'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Mandate'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Mandate'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateFrequency:
    enum:
    - bimonthly
    - daily
    - fortnightly
    - monthly
    - quarterly
    - weekly
    - yearly
    type: string
    x-access:
    - Public
  MandateRelationships:
    properties:
      mandate_admission:
        properties:
          data:
            items:
              $ref: '#/definitions/MandateAdmission'
            type: array
        type: object
      mandate_return:
        properties:
          data:
            items:
              $ref: '#/definitions/MandateReturn'
            type: array
        type: object
      mandate_submission:
        properties:
          data:
            items:
              $ref: '#/definitions/MandateSubmission'
            type: array
        type: object
      most_recent_collection:
        properties:
          data:
            $ref: '#/definitions/MostRecentCollection'
        type: object
    type: object
    x-access:
    - Public
  MandateResourceType:
    enum:
    - mandate_admissions
    - mandate_automatic_returns
    - mandate_managements
    - mandate_return_submission_validations
    - mandate_return_submissions
    - mandate_returns
    - mandate_submission_validations
    - mandate_submissions
    - mandate_submissions_with_final_state
    - mandates
    type: string
    x-access:
    - Public
  MandateReturn:
    properties:
      attributes:
        properties:
          debtor_party:
            properties:
              new_bank_details:
                properties:
                  account_number:
                    type: string
                  account_number_code:
                    $ref: '#/definitions/AccountNumberCode'
                  account_with:
                    $ref: '#/definitions/AccountHoldingEntity'
                type: object
            type: object
          return_code:
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          mandate:
            properties:
              data:
                items:
                  $ref: '#/definitions/Mandate'
                type: array
            type: object
          mandate_return_submission:
            properties:
              data:
                items:
                  $ref: '#/definitions/MandateReturnSubmission'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  MandateReturnCreation:
    properties:
      data:
        $ref: '#/definitions/MandateReturn'
    type: object
    x-access:
    - Public
  MandateReturnCreationResponse:
    properties:
      data:
        $ref: '#/definitions/MandateReturn'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateReturnDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/MandateReturn'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateReturnSubmission:
    properties:
      attributes:
        properties:
          auto:
            default: false
            description: Indicates if the submission was created automatically by
              the system (true) or manually (false)
            type: boolean
            x-nullable: true
            x-parent: data.attributes
          status:
            $ref: '#/definitions/MandateReturnSubmissionStatus'
          status_reason:
            type: string
          submission_datetime:
            format: date-time
            readOnly: true
            type: string
          transaction_start_datetime:
            format: date-time
            readOnly: true
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          mandate:
            properties:
              data:
                items:
                  $ref: '#/definitions/Mandate'
                type: array
            type: object
          mandate_return:
            properties:
              data:
                items:
                  $ref: '#/definitions/MandateReturn'
                type: array
            type: object
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  MandateReturnSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/MandateReturnSubmission'
    type: object
    x-access:
    - Public
  MandateReturnSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/MandateReturnSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateReturnSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/MandateReturnSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateReturnSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
  MandateStatus:
    enum:
    - cancelled
    - expired
    - invalid
    - live
    type: string
    x-access:
    - Public
    x-nullable: true
  MandateSubmission:
    properties:
      attributes:
        properties:
          file_identifier:
            pattern: ^[0-9a-zA-Z]+$
            type: string
            x-nullable: true
          file_number:
            pattern: ^[0-9]+$
            type: string
            x-nullable: true
          last_payment_date:
            format: date
            type: string
            x-nullable: true
          original_mandate:
            $ref: '#/definitions/MandateAttributes'
          status:
            $ref: '#/definitions/MandateSubmissionStatus'
          status_reason:
            type: string
          submission_datetime:
            format: date-time
            type: string
          submission_reason:
            type: string
          submitted_mandate:
            $ref: '#/definitions/MandateAttributes'
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/MandateSubmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  MandateSubmissionCreation:
    properties:
      data:
        properties:
          attributes:
            properties:
              file_identifier:
                pattern: ^[0-9a-zA-Z]+$
                type: string
                x-nullable: true
              file_number:
                pattern: ^[0-9]+$
                type: string
                x-nullable: true
              last_payment_date:
                format: date
                type: string
                x-nullable: true
              status:
                $ref: '#/definitions/MandateSubmissionStatus'
                x-nullable: true
              status_reason:
                type: string
                x-nullable: true
              submission_datetime:
                format: date-time
                type: string
                x-nullable: true
              submission_reason:
                type: string
            type: object
          created_on:
            format: date-time
            type: string
            x-nullable: true
          id:
            format: uuid
            type: string
          modified_on:
            format: date-time
            type: string
            x-nullable: true
          organisation_id:
            format: uuid
            type: string
          type:
            pattern: ^[A-Za-z_]*$
            type: string
          version:
            minimum: 0
            type: integer
        type: object
    type: object
    x-access:
    - Public
  MandateSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/MandateSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  MandateSubmissionRelationships:
    properties:
      mandate:
        properties:
          data:
            items:
              $ref: '#/definitions/Mandate'
            type: array
        type: object
    type: object
    x-access:
    - Public
  MandateSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    type: string
    x-access:
    - Public
  MetricsQueryResponse:
    properties:
      data:
        $ref: '#/definitions/prometheusMetricData'
      error:
        type: string
      errorType:
        type: string
      status:
        type: string
      warnings:
        items:
          type: string
        type: array
    type: object
    x-access:
    - Public
  MostRecentCollection:
    properties:
      id:
        format: uuid
        type: string
      type:
        type: string
    type: object
    x-access:
    - Public
  NameVerification:
    properties:
      attributes:
        $ref: '#/definitions/NameVerificationAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/NameVerificationRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NameVerificationAdmission:
    properties:
      attributes:
        $ref: '#/definitions/NameVerificationAdmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/NameVerificationAdmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NameVerificationAdmissionAnswer:
    enum:
    - confirmed
    - rejected
    type: string
    x-access:
    - Public
  NameVerificationAdmissionAttributes:
    properties:
      actual_name:
        type: string
      answer:
        $ref: '#/definitions/NameVerificationAdmissionAnswer'
      debtor_party:
        $ref: '#/definitions/DebtorParty'
      reason:
        type: string
      reason_code:
        $ref: '#/definitions/NameVerificationAdmissionReasonCode'
      status:
        $ref: '#/definitions/NameVerificationAdmissionStatus'
      status_reason:
        type: string
    required:
    - status
    type: object
    x-access:
    - Public
  NameVerificationAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/NameVerificationAdmission'
    type: object
    x-access:
    - Public
  NameVerificationAdmissionReasonCode:
    enum:
    - AC01
    - ACNS
    - ANNM
    - BAMM
    - BANM
    - CASS
    - CMTC
    - IVCR
    - MBAM
    - NMTC
    - NOAP
    - OPTO
    - PAMM
    - PANM
    - SCNS
    type: string
    x-access:
    - Public
  NameVerificationAdmissionRelationships:
    properties:
      name_verification:
        properties:
          data:
            items:
              $ref: '#/definitions/NameVerification'
            type: array
        type: object
    type: object
    x-access:
    - Public
  NameVerificationAdmissionStatus:
    enum:
    - confirmed
    - failed
    type: string
    x-access:
    - Public
  NameVerificationAttributes:
    properties:
      account_classification:
        $ref: '#/definitions/AccountClassification'
      account_number:
        pattern: ^[A-Z0-9]{6,34}$
        type: string
      account_number_code:
        $ref: '#/definitions/AccountNumberCode'
      bank_id:
        type: string
      bank_id_code:
        $ref: '#/definitions/BankIDCode'
      id_code_type:
        maxLength: 36
        minLength: 0
        type: string
      name:
        description: Account holder names (for example title, first name, last name).
          Used for Confirmation of Payee matching.
        items:
          maxLength: 256
          minLength: 1
          type: string
        type: array
      psp_request_id:
        format: uuid
        type: string
      request_datetime:
        format: date-time
        readOnly: true
        x-nullable: true
      requester:
        $ref: '#/definitions/Requester'
      secondary_identification:
        type: string
      verification_scheme:
        $ref: '#/definitions/VerificationScheme'
    required:
    - account_number
    - account_number_code
    - bank_id
    - bank_id_code
    - name
    type: object
    x-access:
    - Public
  NameVerificationCreation:
    properties:
      data:
        $ref: '#/definitions/NameVerification'
    required:
    - data
    type: object
    x-access:
    - Public
  NameVerificationCreationResponse:
    properties:
      data:
        $ref: '#/definitions/NameVerification'
    type: object
    x-access:
    - Public
  NameVerificationDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/NameVerification'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  NameVerificationDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/NameVerification'
    type: object
    x-access:
    - Public
  NameVerificationRelationships:
    properties:
      name_verification_admission:
        properties:
          data:
            items:
              $ref: '#/definitions/NameVerificationAdmission'
            maxItems: 1
            minItems: 0
            type: array
        type: object
      name_verification_submission:
        properties:
          data:
            items:
              $ref: '#/definitions/NameVerificationSubmission'
            maxItems: 1
            minItems: 0
            type: array
        type: object
    type: object
    x-access:
    - Public
  NameVerificationSubmission:
    properties:
      attributes:
        $ref: '#/definitions/NameVerificationSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/NameVerificationSubmissionRelationships'
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NameVerificationSubmissionAdditionalMessage:
    properties:
      message_code:
        maxLength: 20
        type: string
      message_text:
        maxLength: 500
        type: string
      message_type:
        maxLength: 70
        type: string
    type: object
    x-access:
    - Public
  NameVerificationSubmissionAnswer:
    enum:
    - confirmed
    - rejected
    type: string
    x-access:
    - Public
  NameVerificationSubmissionAttributes:
    properties:
      actual_name:
        type: string
      additional_messages:
        items:
          $ref: '#/definitions/NameVerificationSubmissionAdditionalMessage'
        maxItems: 1
        type: array
        x-omitempty: true
      answer:
        $ref: '#/definitions/NameVerificationSubmissionAnswer'
      reason:
        type: string
      reason_code:
        $ref: '#/definitions/NameVerificationSubmissionReasonCode'
      status:
        $ref: '#/definitions/NameVerificationSubmissionStatus'
      status_reason:
        type: string
    required:
    - status
    type: object
    x-access:
    - Public
  NameVerificationSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/NameVerificationSubmission'
    type: object
    x-access:
    - Public
  NameVerificationSubmissionReasonCode:
    enum:
    - AC01
    - ACNS
    - ANNM
    - BAMM
    - BANM
    - CASS
    - CMTC
    - IVCR
    - MBAM
    - NMTC
    - NOAP
    - OPTO
    - PAMM
    - PANM
    - SCNS
    type: string
    x-access:
    - Public
  NameVerificationSubmissionRelationships:
    properties:
      name_verification:
        properties:
          data:
            items:
              $ref: '#/definitions/NameVerification'
            type: array
        type: object
    type: object
    x-access:
    - Public
  NameVerificationSubmissionStatus:
    enum:
    - delivery_confirmed
    - delivery_failed
    type: string
    x-access:
    - Public
  NewAdviceSubmission:
    properties:
      id:
        format: uuid
        type: string
      organisation_id:
        format: uuid
        type: string
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewPayment:
    properties:
      attributes:
        $ref: '#/definitions/PaymentAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/NewPaymentRelationships'
      signatures:
        items:
          $ref: '#/definitions/ResourceSignature'
        maxItems: 1
        type: array
        x-access:
        - Public
        x-omitempty: true
      type:
        description: Name of the resource type
        example: payments
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewPaymentRelationships:
    properties:
      beneficiary:
        properties:
          data:
            description: Array of beneficiary resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      beneficiary_account:
        properties:
          data:
            description: Array of beneficiary account resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      debtor:
        properties:
          data:
            description: Array of debtor resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      debtor_account:
        properties:
          data:
            description: Array of debtor account resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      forwarded_payment:
        properties:
          data:
            description: ' Array of Inbound Payments that triggered the creation of
              this Forwarding Payment.'
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      forwarded_return:
        properties:
          data:
            description: Array of Payment Return resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      fx_deal:
        properties:
          data:
            description: Array of FXDeal resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      payment_admission:
        properties:
          data:
            description: Array of Payment Admission resources related to the payment
            items:
              $ref: '#/definitions/PaymentAdmission'
            type: array
        type: object
      payment_advice:
        properties:
          data:
            description: Array of Payment Advice resources related to the payment
            items:
              $ref: '#/definitions/PaymentAdvice'
            type: array
        type: object
      payment_recall:
        properties:
          data:
            description: Array of Payment Recall resources related to the payment
            items:
              $ref: '#/definitions/Recall'
            type: array
        type: object
      payment_return:
        properties:
          data:
            description: Array of Payment Return resources related to the payment
            items:
              $ref: '#/definitions/ReturnPayment'
            type: array
        type: object
      payment_reversal:
        properties:
          data:
            description: Array of Payment Reversal resources related to the payment
            items:
              $ref: '#/definitions/ReversalPayment'
            type: array
        type: object
      payment_submission:
        properties:
          data:
            description: Array of Payment Submission resources related to the payment
            items:
              $ref: '#/definitions/PaymentSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  NewPaymentSubmission:
    properties:
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          validations:
            $ref: '#/definitions/RelationshipLinks'
        type: object
      type:
        description: Name of the resource type
        example: payment_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewQuery:
    properties:
      attributes:
        $ref: '#/definitions/QueryAttributes'
      id:
        format: uuid
        type: string
      organisation_id:
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/NewQueryRelationships'
      type:
        $ref: '#/definitions/QueryResourceType'
    required:
    - attributes
    - id
    - organisation_id
    - type
    type: object
    x-access:
    - Public
  NewQueryRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipsPayment'
      payment_admission:
        $ref: '#/definitions/RelationshipsPaymentAdmission'
      payment_submission:
        $ref: '#/definitions/RelationshipsPaymentSubmission'
      query:
        $ref: '#/definitions/RelationshipsQuery'
      recall:
        $ref: '#/definitions/RelationshipsPaymentRecall'
      recall_submission:
        $ref: '#/definitions/RelationshipsPaymentRecallSubmission'
    type: object
    x-access:
    - Public
  NewQueryResponse:
    properties:
      attributes:
        $ref: '#/definitions/QueryResponseAttributes'
      id:
        format: uuid
        type: string
      organisation_id:
        format: uuid
        type: string
      type:
        $ref: '#/definitions/QueryResponseResourceType'
    required:
    - attributes
    - id
    - organisation_id
    - type
    type: object
    x-access:
    - Public
  NewQueryResponseSubmission:
    properties:
      attributes:
        properties:
          auto:
            type: boolean
        type: object
      id:
        format: uuid
        type: string
      organisation_id:
        format: uuid
        type: string
      type:
        $ref: '#/definitions/QueryResponseSubmissionResourceType'
    required:
    - id
    - organisation_id
    - type
    type: object
    x-access:
    - Public
  NewQuerySubmission:
    properties:
      id:
        format: uuid
        type: string
      organisation_id:
        format: uuid
        type: string
      type:
        $ref: '#/definitions/QuerySubmissionResourceType'
    required:
    - id
    - organisation_id
    - type
    type: object
    x-access:
    - Public
  NewRecall:
    properties:
      attributes:
        properties:
          agents:
            description: Block to represent a Financial Institution/agent in the payment
              chain
            items:
              $ref: '#/definitions/Agent'
            type: array
            x-omitempty: true
          parties:
            description: Block to represent parties involved in the payment chain
            items:
              $ref: '#/definitions/Party'
            type: array
            x-omitempty: true
          reason:
            description: Further explanation of the reason given in reason_code. Only
              evaluated for certain reason codes.
            example: Payment was a duplicate
            type: string
            x-omitempty: true
          reason_code:
            description: The reason for the recall. Has to be a valid [recall reason
              code](http://api-docs.form3.tech/api.html#enumerations-recall-reason-codes).
            example: DUPL
            type: string
          references:
            description: Block to represent a list of references
            items:
              $ref: '#/definitions/Reference'
            type: array
            x-omitempty: true
          unique_scheme_id:
            description: Scheme-specific unique ID
            example: L5W48NDWYW7JV9MRO71020180301826040011
            type: string
            x-length: 42
            x-omitempty: true
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallRelationships'
      type:
        description: Name of the resource type
        example: recalls
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewRecallDecisionSubmission:
    properties:
      attributes:
        $ref: '#/definitions/RecallDecisionSubmissionAttributes'
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: recall_decision_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewRecallSubmission:
    properties:
      attributes:
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallSubmissionRelationships'
      type:
        description: Name of the resource type
        example: recall_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewReportRelationships:
    properties:
      report_request:
        properties:
          data:
            items:
              properties:
                id:
                  format: uuid
                  type: string
                  x-nullable: false
              type: object
            type: array
        type: object
    type: object
    x-access:
    - Public
  NewReportRequest:
    properties:
      attributes:
        $ref: '#/definitions/NewReportRequestAttributes'
      id:
        format: uuid
        type: string
        x-nullable: false
      organisation_id:
        format: uuid
        type: string
        x-nullable: false
      type:
        enum:
        - report_requests
        type: string
        x-nullable: false
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewReportRequestAttributes:
    properties:
      filter:
        $ref: '#/definitions/NewReportRequestFilter'
      payment_scheme:
        type: string
        x-nullable: false
      report_type:
        type: string
        x-nullable: false
    required:
    - filter
    - payment_scheme
    - report_type
    type: object
    x-access:
    - Public
  NewReportRequestFilter:
    properties:
      date_from:
        format: date
        type: string
        x-nullable: true
      date_to:
        format: date
        type: string
        x-nullable: true
      report_users:
        items:
          $ref: '#/definitions/NewReportRequestReportUser'
        type: array
    required:
    - report_users
    type: object
    x-access:
    - Public
  NewReportRequestReportUser:
    properties:
      user_id:
        description: Identifies a user or organization
        example: '123456'
        type: string
        x-nullable: false
      user_id_code:
        $ref: '#/definitions/ReportRequestUserIdCode'
        description: Type of identifier for the user or organization
        example: SUN
        x-nullable: false
    required:
    - user_id
    - user_id_code
    type: object
    x-access:
    - Public
  NewReportRequestSubmission:
    properties:
      attributes:
        $ref: '#/definitions/NewReportRequestSubmissionAttributes'
      id:
        format: uuid
        type: string
        x-nullable: false
      organisation_id:
        format: uuid
        type: string
        x-nullable: false
      type:
        enum:
        - report_request_submissions
        type: string
        x-nullable: false
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    - type
    type: object
    x-access:
    - Public
  NewReportRequestSubmissionAttributes:
    properties:
      status:
        enum:
        - pending
        type: string
    type: object
    x-access:
    - Public
  NewReturnSubmission:
    properties:
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnSubmissionRelationships'
      type:
        description: Name of the resource type
        example: return_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewReversalSubmission:
    properties:
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: reversal_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewSchemeFile:
    properties:
      attributes:
        $ref: '#/definitions/SchemeFileAttributes'
        x-order: 4
      id:
        format: uuid
        type: string
        x-order: 1
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      type:
        enum:
        - scheme_files
        type: string
        x-order: 2
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  NewTransactionFile:
    properties:
      attributes:
        $ref: '#/definitions/TransactionFileAttributes'
        x-order: 4
      id:
        format: uuid
        type: string
        x-order: 1
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      type:
        enum:
        - transaction_files
        type: string
        x-order: 2
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  Notification:
    properties:
      action_time:
        description: Timestamp when the event that triggered the notification occurred.
        example: '2019-08-02T12:35:57.380Z'
        format: datetime
        type: string
      actioned_by:
        description: The ID of the user that made the change that triggered this notification.
          This can be the user ID of a customer or a Form3 system user.
        example: f1b78f08-785a-4638-ad3c-236aec7ee038
        format: uuid
        type: string
      data:
        description: The full resource itself (as you would see from a GET request)
        type: object
      data_record_type:
        description: Internal representation of the record type. Field values are
          subject to frequent change, evaluation of this field is discouraged.
        example: PaymentAdmission
        pattern: ^[A-Za-z]*$
        type: string
      event_type:
        description: The type of event
        example: created
        pattern: ^[a-z]*$
        type: string
      id:
        description: Unique resource ID
        example: e1fa2883-940a-44d5-88af-e1a62123c67a
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      record_type:
        description: The type of resource contained in `data`
        example: payment_admissions
        pattern: ^[A-Za-z]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  Organisation:
    properties:
      attributes:
        $ref: '#/definitions/OrganisationAttributes'
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: organisations
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  OrganisationAttributes:
    properties:
      name:
        description: Name of the organisation
        example: Acme Corporation
        type: string
    type: object
    x-access:
    - Public
  OrganisationCreation:
    properties:
      data:
        $ref: '#/definitions/Organisation'
    required:
    - data
    type: object
    x-access:
    - Public
  OrganisationCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Organisation'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  OrganisationDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Organisation'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  OrganisationDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Organisation'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  OrganisationUpdate:
    properties:
      data:
        $ref: '#/definitions/Organisation'
    required:
    - data
    type: object
    x-access:
    - Public
  Party:
    properties:
      additional_address_line:
        description: Additional address lines of the party address
        items:
          maxLength: 35
          type: string
        maxItems: 3
        type: array
        x-omitempty: true
      building_number:
        maxLength: 16
        type: string
      city:
        maxLength: 35
        type: string
      country:
        description: Country of the party, ISO 3166 format country code
        example: US
        maxLength: 2
        type: string
      name:
        description: Name by which the party is known
        maxLength: 140
        type: string
      organisation_identifications:
        items:
          $ref: '#/definitions/BeneficiaryDebtorOrganisationIdentification'
        type: array
      post_code:
        maxLength: 16
        type: string
      postal_address:
        $ref: '#/definitions/PostalAddress'
        description: Postal address of the party
        x-omitempty: true
      province:
        maxLength: 35
        type: string
      role:
        $ref: '#/definitions/PartyRole'
      street_name:
        maxLength: 70
        type: string
    type: object
    x-access:
    - Public
  PartyRole:
    description: Role of the party. Enum of pre-defined values, new values can be
      added when needed
    enum:
    - CaseCreator
    - InitiatingParty
    - Invoicee
    - Invoicer
    - Originator
    example: InitiatingParty
    type: string
    x-access:
    - Public
  Payment:
    properties:
      attributes:
        $ref: '#/definitions/PaymentAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/PaymentRelationships'
      signatures:
        items:
          $ref: '#/definitions/ResourceSignature'
        maxItems: 1
        type: array
        x-access:
        - Public
        x-omitempty: true
      type:
        description: Name of the resource type
        example: payments
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  PaymentAdmission:
    properties:
      attributes:
        properties:
          account_validation_outcome:
            $ref: '#/definitions/AccountValidationOutcome'
          admission_datetime:
            description: Date and time the payment admission was created
            example: '2017-09-26T15:26:57.494Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          clearing_system:
            description: Clearing infrastructure through which the payment instruction
              was processed
            example: TIPS
            pattern: ^[0-9A-Za-z_]*$
            type: string
          posting_status:
            $ref: '#/definitions/PostingStatus'
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for an inbound payment
            enum:
            - on_us
            - xp
            type: string
          scheme_received_datetime:
            description: Date and time the inbound payment was received. Supports
              RFC3339 Nano
            example: '2017-09-26T15:26:57.123456789Z'
            format: date-time
            pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z$
            type: string
            x-nullable: true
          scheme_status_code:
            description: Refers to individual scheme where applicable
            example: '10001'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date on which the payment will be settled
            example: '2017-09-28'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/PaymentAdmissionStatus'
          status_reason:
            $ref: '#/definitions/PaymentAdmissionStatusReason'
          validation_completed_datetime:
            description: Date and time the inbound payment was successfully validated
              by Form3. Supports RFC3339 Nano
            example: '2017-09-26T15:26:57.123456789Z'
            format: date-time
            pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z$
            type: string
            x-nullable: true
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          beneficiary_account:
            $ref: '#/definitions/RelationshipPaymentAdmissionBeneficiaryAccount'
          beneficiary_branch:
            $ref: '#/definitions/RelationshipPaymentAdmissionBeneficiaryBranch'
          payment:
            $ref: '#/definitions/RelationshipPayments'
          payment_admission_task:
            $ref: '#/definitions/RelationshipPaymentAdmissionTasks'
        type: object
      type:
        description: Name of the resource type
        example: payment_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  PaymentAdmissionBeneficiaryAccount:
    properties:
      attributes:
        properties:
          user_defined_data:
            description: All purpose list of key-value pairs specific data stored
              on the associated beneficiary account.
            items:
              $ref: '#/definitions/UserDefinedData'
            maxItems: 5
            type: array
        type: object
      id:
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: accounts
        pattern: ^[A-Za-z_]*$
        type: string
    type: object
    x-access:
    - Public
  PaymentAdmissionBeneficiaryBranch:
    properties:
      attributes:
        properties:
          user_defined_data:
            description: All purpose list of key-value pairs specific data stored
              on the associated beneficiary branch.
            items:
              $ref: '#/definitions/UserDefinedData'
            maxItems: 5
            type: array
        type: object
      id:
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: branches
        pattern: ^[A-Za-z_]*$
        type: string
    type: object
    x-access:
    - Public
  PaymentAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentAdmissionFetch:
    properties:
      attributes:
        properties:
          account_validation_outcome:
            $ref: '#/definitions/AccountValidationOutcome'
          admission_datetime:
            description: Date and time the payment admission was created
            example: '2017-09-26T15:26:57.494Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          clearing_system:
            description: Clearing infrastructure through which the payment instruction
              was processed
            example: TIPS
            pattern: ^[0-9A-Za-z_]*$
            type: string
          posting_status:
            $ref: '#/definitions/PostingStatus'
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for an inbound payment
            enum:
            - on_us
            - xp
            type: string
          scheme_received_datetime:
            description: Date and time the inbound payment was received. Supports
              RFC3339 Nano
            example: '2017-09-26T15:26:57.123456789Z'
            format: date-time
            pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z$
            type: string
            x-nullable: true
          scheme_status_code:
            description: Refers to individual scheme where applicable
            example: '10001'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date on which the payment will be settled
            example: '2017-09-28'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/PaymentAdmissionStatus'
          status_reason:
            $ref: '#/definitions/PaymentAdmissionStatusReason'
          validation_completed_datetime:
            description: Date and time the inbound payment was successfully validated
              by Form3. Supports RFC3339 Nano
            example: '2017-09-26T15:26:57.123456789Z'
            format: date-time
            pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z$
            type: string
            x-nullable: true
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          beneficiary_account:
            $ref: '#/definitions/RelationshipPaymentAdmissionBeneficiaryAccount'
          beneficiary_branch:
            $ref: '#/definitions/RelationshipPaymentAdmissionBeneficiaryBranch'
          payment:
            $ref: '#/definitions/RelationshipLinks'
          payment_admission_task:
            $ref: '#/definitions/RelationshipPaymentAdmissionTasks'
        type: object
      type:
        description: Name of the resource type
        example: payment_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  PaymentAdmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentAdmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentAdmissionResourceType:
    enum:
    - payment_admissions
    type: string
    x-access:
    - Public
  PaymentAdmissionStatus:
    description: '[Status of the admission](https://api-docs.form3.tech/api.html#enumerations-payment-status-codes-admission-status)'
    enum:
    - confirmed
    - failed
    - pending
    example: confirmed
    type: string
    x-access:
    - Public
  PaymentAdmissionStatusReason:
    description: '[Payment admission status reason](https://api-docs.form3.tech/api.html#enumerations-payment-status-codes-payment-admission-status-reasons)'
    enum:
    - accepted
    - account_closed
    - account_closed_beneficiary_deceased
    - account_closed_beneficiary_sensitivities
    - account_closed_business_reasons
    - account_closed_currency
    - account_closed_stopped
    - account_closed_terms_and_conditions
    - account_closed_transferred
    - agent_clearing_process_error
    - agent_clearing_process_timeout
    - agent_reason_unknown
    - agent_suspended
    - agent_unavailable
    - amount_exceeds_settlement_limit
    - amount_invalid_or_missing
    - amount_not_allowed
    - bankid_not_provisioned
    - beneficiary_agent_clearing_process_error
    - beneficiary_agent_clearing_process_timeout
    - beneficiary_agent_suspended
    - beneficiary_agent_unavailable
    - blocked_account
    - business_reasons
    - customer_check_failed
    - customer_reason_unknown
    - duplicate_payment
    - end_to_end_id_missing_or_invalid
    - incorrect_reference_reference_mask
    - incorrect_reference_secondary_identification
    - incorrect_reference_validation_type
    - invalid_bank_ID
    - invalid_bank_operation_code
    - invalid_beneficiary_address
    - invalid_beneficiary_agent_BIC
    - invalid_beneficiary_details
    - invalid_debtor_agent_BIC
    - invalid_debtor_details
    - original_payment_not_received
    - regulatory_reason
    - rejected_by_customer
    - scheme_timeout
    - transaction_forbidden
    - transaction_type_not_supported
    - unknown_accountnumber
    example: accepted
    type: string
    x-access:
    - Public
  PaymentAdmissionTask:
    properties:
      attributes:
        properties:
          assignee:
            $ref: '#/definitions/PaymentAdmissionTaskAssignee'
          group:
            $ref: '#/definitions/PaymentAdmissionTaskGroup'
          input:
            additionalProperties:
              type: object
            description: Key Value map that contains additional data for executing
              the task.
            example:
              status_reason: blocked
            type: object
          name:
            $ref: '#/definitions/PaymentAdmissionTaskName'
          output:
            additionalProperties:
              type: object
            description: Key Value map that contains the Task result.
            example:
              outcome: passed
            type: object
          status:
            $ref: '#/definitions/PaymentAdmissionTaskStatus'
          workflow:
            description: Identifies the workflow for which the task was created
            example: c9ae9332-22c3-485d-a9bb-bf0b63bef53a
            format: uuid
            type: string
        type: object
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/PaymentAdmissionTaskRelationships'
      type:
        description: Name of the resource type
        example: payment_admission_tasks
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  PaymentAdmissionTaskAmendment:
    properties:
      data:
        $ref: '#/definitions/PaymentAdmissionTaskUpdate'
    type: object
    x-access:
    - Public
  PaymentAdmissionTaskAssignee:
    description: Helps to identify the owner of the task
    enum:
    - customer
    - form3
    example: form3
    type: string
    x-access:
    - Public
  PaymentAdmissionTaskDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentAdmissionTask'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentAdmissionTaskGroup:
    description: Identifies the task group the task belongs to
    example: accounting
    type: string
    x-access:
    - Public
  PaymentAdmissionTaskListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentAdmissionTask'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentAdmissionTaskName:
    description: Identifies the payment admission task to be executed
    example: account_check
    type: string
    x-access:
    - Public
  PaymentAdmissionTaskRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      payment_admission:
        $ref: '#/definitions/RelationshipPaymentAdmissions'
      payment_admission_task:
        $ref: '#/definitions/RelationshipPaymentAdmissionTask'
    type: object
    x-access:
    - Public
  PaymentAdmissionTaskStatus:
    description: status of the task
    enum:
    - completed
    - failed
    - on_hold
    - pending
    example: completed
    type: string
    x-access:
    - Public
  PaymentAdmissionTaskUpdate:
    properties:
      attributes:
        properties:
          output:
            additionalProperties: true
            description: Key Value map that contains the Task result.
            example:
              outcome: passed
            type: object
          status:
            $ref: '#/definitions/PaymentAdmissionTaskStatus'
        type: object
      id:
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        enum:
        - payment_admission_tasks
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  PaymentAdmissionUpdateRelationships:
    properties:
      payment_admission_tasks:
        items:
          $ref: '#/definitions/PaymentAdmissionTask'
        type: array
    type: object
    x-access:
    - Public
  PaymentAdvice:
    properties:
      attributes:
        properties:
          beneficiary_party:
            properties:
              new_bank_details:
                properties:
                  account_number:
                    type: string
                  account_number_code:
                    $ref: '#/definitions/AccountNumberCode'
                  account_with:
                    $ref: '#/definitions/AccountHoldingEntity'
                  roll_number:
                    type: string
                type: object
            type: object
          reason_code:
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        format: uuid
        type: string
      relationships:
        properties:
          advice_submission:
            $ref: '#/definitions/RelationshipLinks'
          payment:
            $ref: '#/definitions/RelationshipLinks'
        type: object
      type:
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  PaymentAttributes:
    properties:
      agent_instructions:
        description: Block to represent further information related to the processing
          of payment instructions from one agent to another.
        items:
          $ref: '#/definitions/AgentInstruction'
        type: array
        x-omitempty: true
      agents:
        description: Block to represent a Financial Institution/agent in the payment
          chain
        items:
          $ref: '#/definitions/Agent'
        type: array
        x-omitempty: true
      amount:
        description: Amount of money moved between the instructing agent and instructed
          agent
        example: '10.00'
        pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
        type: string
      batch_booking_indicator:
        type: string
      batch_id:
        type: string
      batch_type:
        type: string
      beneficiary_party:
        properties:
          account_name:
            description: Name of beneficiary as given with account
            example: James Bond
            type: string
            x-length: 40
          account_number:
            description: Beneficiary account number
            example: '71268996'
            type: string
            x-length: 34
          account_number_code:
            $ref: '#/definitions/AccountNumberCode'
          account_proxy:
            $ref: '#/definitions/BeneficiaryDebtorAccountProxy'
          account_type:
            description: The type of the account given with `beneficiary_party.account_number`.
              Single digit number. Only required if requested by the beneficiary party.
              Defaults to 0.
            example: 0
            type: integer
            x-omitempty: false
          account_type_code:
            description: ISO20022 four character account type code, or a proprietary
              equivalent
            example: SVGS
            type: string
          account_with:
            $ref: '#/definitions/BeneficiaryDebtorAccountHoldingEntity'
          additional_address_line:
            description: Additional address line of the beneficiary address
            type: string
            x-length: 70
          address:
            description: Beneficiary address
            example:
            - 1 Clarence Mew
            - Horsforth
            - Leeds Ls18 4EP
            items:
              type: string
            type: array
            x-omitempty: true
          birth_city:
            description: Beneficiary birth city
            example: PARIS
            type: string
            x-length: 35
          birth_country:
            description: Beneficiary birth country, ISO 3166 format country code
            example: FR
            type: string
            x-length: 2
          birth_date:
            description: 'Beneficiary birth date. Formatted according to ISO 8601
              format: YYYY-MM-DD'
            example: '1977-02-28'
            format: date
            type: string
            x-nullable: true
          birth_province:
            description: Beneficiary birth province
            example: NORTHSIDE
            type: string
            x-length: 35
          building_number:
            description: Building number of the beneficiary address
            type: string
            x-length: 16
          city:
            description: City/Town of the Beneficiary address
            example: BRUSSELS
            type: string
            x-length: 30
          country:
            description: Country of the beneficiary address, ISO 3166 format country
              code
            example: DE
            type: string
            x-length: 2
          country_of_residence:
            description: Country of residence of the beneficiary party, ISO 3166 format
              country code
            example: PL
            type: string
            x-length: 2
          name:
            description: Beneficiary name
            example: James Bond
            type: string
            x-length: 70
          organisation_identification:
            description: Organisation identification of a beneficiary, used in the
              case that the beneficiary is an organisation and not a private person
            example: ID1234656
            type: string
            x-length: 35
          organisation_identification_code:
            description: The code that specifies the type of `organisation_identification`
            example: BIC
            type: string
            x-length: 5
          organisation_identification_issuer:
            description: Issuer of the `organisation_identification`
            example: NATIONAL WESTMINSTER BANK PLC
            type: string
            x-length: 35
          organisation_identification_scheme:
            description: The code that specifies the scheme of `organisation_identification`
            example: CustomerId
            type: string
            x-length: 35
          organisation_identifications:
            description: Array for additional ID(s) of beneficiary organisation
            items:
              $ref: '#/definitions/BeneficiaryDebtorOrganisationIdentification'
            type: array
            x-omitempty: true
          post_code:
            description: Post code of the beneficiary address
            type: string
            x-length: 16
          postal_address:
            $ref: '#/definitions/PostalAddress'
            description: Beneficiary postal address
            x-omitempty: true
          private_identification:
            $ref: '#/definitions/PrivateIdentification'
          province:
            description: Province of the beneficiary address
            type: string
            x-length: 35
          street_name:
            description: Street name of the beneficiary address
            example: Park Avenue
            type: string
            x-length: 70
          telephone_number:
            description: Beneficiary phone number
            example: '+447921123987'
            type: string
            x-length: 16
        type: object
      category_purpose:
        description: Category purpose in proprietary form. Specifies the high level
          purpose of the instruction. Cannot be used at the same time as `category_purpose_coded`.
        type: string
        x-length: 35
      category_purpose_coded:
        description: Category purpose in a coded form. Specifies the high level purpose
          of the instruction. Cannot be used at the same time as `category_purpose`.
        type: string
        x-length: 4
      charges_information:
        $ref: '#/definitions/ChargesInformation'
        x-omitempty: true
      clearing_id:
        description: Unique identifier for organisations collecting payments
        type: string
        x-length: 6
      currency:
        description: Currency of the transaction amount. Currency code as defined
          in [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm)
        example: EUR
        type: string
        x-length: 3
      debtor_party:
        properties:
          account_name:
            description: Name of debtor as given with account
            example: Jane Bond
            type: string
            x-length: 40
          account_number:
            description: Debtor account number. Allows upper case and numeric characters.
            example: '12345678'
            type: string
            x-length: 34
          account_number_code:
            $ref: '#/definitions/AccountNumberCode'
          account_proxy:
            $ref: '#/definitions/BeneficiaryDebtorAccountProxy'
          account_with:
            $ref: '#/definitions/BeneficiaryDebtorAccountHoldingEntity'
          additional_address_line:
            description: Additional address line of the Debtor address
            type: string
            x-length: 70
          address:
            description: Debtor address
            example:
            - 63 St Mary Axe
            - EC3A 8AA
            - London
            items:
              type: string
            type: array
            x-omitempty: true
          birth_city:
            description: Debtor birth city
            example: PARIS
            type: string
            x-length: 35
          birth_country:
            description: Debtor birth country. ISO 3166 format country code
            example: FR
            type: string
            x-length: 2
          birth_date:
            description: 'Debtor birth date. Formatted according to ISO 8601 format:
              YYYY-MM-DD'
            example: '1973-01-31'
            format: date
            type: string
            x-nullable: true
          birth_province:
            description: Debtor birth province
            example: SOUTH SIDE
            type: string
            x-length: 35
          building_number:
            description: Building number of the Debtor address
            type: string
            x-length: 16
          city:
            description: City/Town of the Debtor address
            example: BRUSSELS
            type: string
            x-length: 30
          country:
            description: Country of debtor address. ISO 3166 format country code"
            example: GB
            type: string
            x-length: 2
          country_of_residence:
            description: Country of residence of the debtor party, ISO 3166 format
              country code
            example: IT
            type: string
            x-length: 2
          customer_id:
            description: SWIFT BIC for ordering customer, either BIC8 or BIC11
            example: BARCGB22
            type: string
            x-length: 11
          customer_id_code:
            description: Code for `customer_id`
            example: SWBIC
            type: string
            x-length: 5
          name:
            description: Debtor name
            example: Norman Smith
            type: string
            x-length: 70
          organisation_identification:
            description: Organisation identification of a debtor, in the case that
              the debtor is an organisation and not a private person
            example: ID1234656
            type: string
            x-length: 35
          organisation_identification_code:
            description: The code that specifies the type of `organisation_identification`
            example: BIC
            type: string
            x-length: 5
          organisation_identification_issuer:
            description: Issuer of the `organisation_identification`
            example: NATIONAL WESTMINSTER BANK PLC
            type: string
            x-length: 35
          organisation_identification_scheme:
            description: The code that specifies the scheme of `organisation_identification`
            example: CustomerId
            type: string
            x-length: 35
          organisation_identifications:
            description: Array for additional ID(s) of debtor organisation
            items:
              $ref: '#/definitions/BeneficiaryDebtorOrganisationIdentification'
            type: array
            x-omitempty: true
          post_code:
            description: Post code of the Debtor address
            type: string
            x-length: 16
          postal_address:
            $ref: '#/definitions/PostalAddress'
            description: Debtor postal address
            x-omitempty: true
          private_identification:
            $ref: '#/definitions/PrivateIdentification'
          province:
            description: Province of the Debtor address
            type: string
            x-length: 35
          street_name:
            description: Street name of the Debtor address
            example: Park Avenue
            type: string
            x-length: 70
        type: object
      end_to_end_reference:
        description: Unique identification, as assigned by the initiating party, to
          unambiguously identify the transaction. This identification is passed on,
          unchanged, throughout the entire end-to-end chain.
        example: 'PAYMENT REF: 20094'
        type: string
        x-length: 35
      file_number:
        type: string
      fx:
        properties:
          contract_reference:
            description: Reference to the foreign exchange contract associated with
              the transaction
            example: FXCONTRACT/REF/123567
            type: string
            x-length: 35
          exchange_rate:
            description: 'Factor used to convert an amount from the instructed currency
              into the transaction currency: i.e. to convert the `fx.original_amount`,
              expressed in the `fx.original_currency`, to `amount` specified in `currency`.
              Decimal value, represented as a string, maximum length 12. Must be >
              0.'
            example: '0.13343'
            type: string
          original_amount:
            description: Amount of money to be moved between the debtor and creditor,
              before deduction of charges, expressed in the currency as instructed
              by the initiating party. Decimal value. Must be > 0.
            example: '100.00'
            type: string
          original_currency:
            description: Currency of `original_amount`. Currency code as defined in
              ISO 4217.
            example: EUR
            type: string
            x-length: 3
        type: object
      instruction_id:
        description: Unique identification, as assigned by the initiating party to
          unambiguously identify the transaction. This identification is an point-to-point
          reference and is passed on, unchanged, throughout the entire chain. Cannot
          include leading, trailing or internal spaces.
        example: ID1245799
        type: string
        x-length: 35
      intermediary_bank:
        $ref: '#/definitions/IntermediaryBankAccountHoldingEntity'
      numeric_reference:
        description: Numeric reference field, see scheme specific descriptions for
          usage
        type: string
        x-length: 4
      parties:
        description: Block to represent parties involved in the payment instruction
        items:
          $ref: '#/definitions/Party'
        type: array
        x-omitempty: true
      payment_acceptance_datetime:
        description: 'Timestamp of when the payment instruction meets the set processing
          conditions. Format: YYYY-MM-DDThh:mm:ss:mmm+hh:mm'
        example: '2017-09-30T12:36:02.123Z'
        format: date-time
        type: string
        x-nullable: true
      payment_purpose:
        description: Purpose of the payment in a proprietary form
        example: X
        type: string
        x-length: 35
      payment_purpose_coded:
        description: Purpose of the payment in a coded form
        type: string
        x-length: 4
      payment_scheme:
        description: Clearing infrastructure through which the payment instruction
          is to be processed. Default for given organisation ID is used if left empty.
          Has to be a valid [scheme identifier](http://draft-api-docs.form3.tech/api.html#enumerations-schemes).
        example: FPS
        pattern: ^[A-Za-z_]*$
        type: string
      payment_type:
        type: string
      processing_date:
        description: 'Date on which the payment is to be debited from the debtor account.
          Formatted according to ISO 8601 format: YYYY-MM-DD.'
        example: '2015-02-12'
        format: date
        type: string
        x-nullable: true
      receivers_correspondent:
        $ref: '#/definitions/ReceiversCorrespondentAccountHoldingEntity'
      reference:
        description: Payment reference for beneficiary use
        example: rent for oct
        type: string
        x-length: 18
      references:
        description: Block to represent a list of references
        items:
          $ref: '#/definitions/Reference'
        type: array
        x-omitempty: true
      regulatory_reporting:
        description: Regulatory reporting information
        example: May be required for some foreign originated payments
        type: string
        x-length: 105
      reimbursement:
        $ref: '#/definitions/ReimbursementAccountHoldingEntity'
      related_remittance_information:
        description: Information relating to the handling of the remittance information
          by any of the agents in the transaction processing chain.
        items:
          properties:
            remittance_id:
              type: string
              x-length: 35
            remittance_location_details:
              description: Information on the location and/or delivery of the remittance
                information.
              items:
                properties:
                  electronic_address:
                    description: Electronic address to which an agent is to send the
                      remittance information. If location_coded is EMAL, this contains
                      an email address. If location_coded is URID, this contains a
                      URI.
                    example: first.name@example.com
                    type: string
                    x-length: 2048
                  location_coded:
                    description: Method used to deliver the remittance advice information.
                    enum:
                    - EDIC
                    - EMAL
                    - FAXI
                    - POST
                    - SMSM
                    - URID
                    type: string
                required:
                - location_coded
                type: object
              type: array
          type: object
        type: array
        x-omitempty: true
      remittance_information:
        description: Information supplied to enable the matching of an entry with
          the items that the transfer is intended to settle, such as commercial invoices
          in an accounts receivable system provided by the debtor for the beneficiary.
        example: Additional remittance information over and above reference information
        type: string
        x-length: 140
      scheme_payment_sub_type:
        description: The scheme specific payment [sub type](http://api-docs.form3.tech/api.html#enumerations-scheme-specific-payment-sub-types)
        example: TelephoneBanking
        type: string
      scheme_payment_type:
        description: The [scheme-specific payment type](#enumerations-scheme-payment-types)
        example: ImmediatePayment
        type: string
      scheme_processing_date:
        description: Date on which the payment is processed by the scheme. Only used
          if different from `processing_date`.
        example: '2015-02-12'
        format: date
        type: string
        x-nullable: true
      scheme_transaction_id:
        description: Unique identification, as assigned by the first instructing agent,
          to unambiguously identify the transaction that is passed on, unchanged,
          throughout the entire interbank chain.
        example: '123456789012345678'
        type: string
        x-length: 35
      senders_correspondent:
        $ref: '#/definitions/SendersCorrespondentAccountHoldingEntity'
      settlement:
        $ref: '#/definitions/Settlement'
      structured_reference:
        properties:
          issuer:
            description: Issuer of remittance reference
            type: string
            x-length: 35
          reference:
            description: Unique reference to unambiguously refer to the payment originated
              by the creditor, this reference enables reconciliation by the creditor
              upon receipt of the amount of money.
            type: string
            x-length: 35
        type: object
      structured_remittance_information:
        description: Information supplied to enable the matching / reconciliation
          of an entry with the items that the payment is intended to settle, such
          as commercial invoices in an accounts' receivables system, in a structured
          form.
        items:
          properties:
            parties:
              items:
                properties:
                  organisation_identifications:
                    description: Additional information such as the Biller / Merchant
                      Identification in certain Bill Pay use cases.
                    items:
                      properties:
                        identification:
                          description: Unique and unambigious identification of a
                            party.
                          type: string
                          x-length: 35
                        identification_code:
                          description: Name of the identification scheme, in a coded
                            form as published in an external list.
                          type: string
                          x-length: 5
                        identification_issuer:
                          description: Entity that assigns the identification.
                          type: string
                          x-length: 35
                        identification_scheme:
                          description: Name of the identification scheme, in a free
                            text form.
                          type: string
                          x-length: 35
                      type: object
                    type: array
                  role:
                    $ref: '#/definitions/PartyRole'
                    description: The type of party.
                type: object
              type: array
            referred_document_amounts:
              items:
                properties:
                  amount:
                    description: Amount of money.
                    example: '200.00'
                    pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
                    type: string
                  amount_type:
                    description: The code relating to any discount that can be applied
                      to an invoice.
                    type: string
                    x-length: 35
                  amount_type_coded:
                    type: string
                    x-length: 35
                  currency:
                    description: ISO currency code for transaction amount
                    example: GBP
                    type: string
                  type:
                    enum:
                    - AdjustmentAmount
                    - CreditNoteAmount
                    - DiscountAppliedAmount
                    - DuePayableAmount
                    - RemittanceAmount
                    - TaxAmount
                    type: string
                required:
                - type
                type: object
              type: array
            referred_document_information:
              description: The identification and the content of the referred document.
                Multiple occurrences are used when a credit transfer is used to return
                funds associated with a previously completed credit transfer.
              items:
                properties:
                  document_date:
                    description: Date associated with the referred document, e.g.
                      the date of the original Credit Transfer (pacs.008) message
                      that is being returned. This is required when the type is RTRN.
                    example: '1982-07-01'
                    format: date
                    type: string
                    x-nullable: true
                  document_id:
                    description: Unique and unambiguous identification of the referred
                      document.
                    type: string
                    x-length: 35
                  document_type:
                    description: Proprietary identification of the type of the remittance
                      document. Used to carry the additional information related to
                      the payment.
                    type: string
                    x-length: 35
                  document_type_coded:
                    description: 'Document type in a coded form. Used to carry the
                      additional information related to the payment. Only one of document_type_coded
                      or document_type can be provided. '
                    enum:
                    - AROI
                    - BOLD
                    - CINV
                    - CMCN
                    - CNFA
                    - CREN
                    - DEBN
                    - DISP
                    - DNFA
                    - HIRI
                    - MSIN
                    - PUDR
                    - SBIN
                    - SOAC
                    - TSUT
                    - VCHR
                    type: string
                type: object
              type: array
          type: object
        type: array
        x-omitempty: true
      swift:
        properties:
          bank_operation_code:
            description: SWIFT service level
            example: CRED
            type: string
            x-length: 4
          header:
            properties:
              destination:
                description: Destination SWIFT logical terminal address. Complete
                  12-character SWIFT destination, including BIC (x8), logical terminal
                  code (x1) and branch code (x).
                example: MIDLGB22XABC
                type: string
                x-length: 12
              message_type:
                description: The message type of the SWIFT payment, has to match `[A-Z]{2}[0-9]{3}`.
                  Currently `MT103` is the only supported value
                example: MT103
                type: string
                x-length: 5
              priority:
                description: SWIFT priority. Either `Normal` or `Priority`.
                example: Priority
                type: string
                x-length: 8
              recipient:
                description: The destination SWIFT BIC for SWIFT MT messages being
                  sent by Form3 client to SWIFT. Formatted as BIC8 or BIC11.
                type: string
                x-length: 8
              source:
                description: The source SWIFT BIC for SWIFT MT messages being received
                  by Form3 client from SWIFT. Formatted as BIC8 or BIC11.
                type: string
                x-length: 8
              user_reference:
                description: Message User Reference (MUR) value, which can be up to
                  16 characters, and will be returned in the ACK
                type: string
                x-length: 16
            type: object
          instruction_code:
            description: A SWIFT instruction code
            example: INTC
            type: string
            x-length: 35
          sender_receiver_information:
            description: This field specifies additional information for the Receiver
              or other party specified.
            example: /INS/ABNANL2A
            type: string
            x-length: 210
          time_indication:
            description: This repetitive field specifies one or several time indication(s)
              related to the processing of the payment instruction.
            example: /CLSTIME/0915+0200
            type: string
        type: object
      ultimate_beneficiary:
        $ref: '#/definitions/UltimateEntity'
      ultimate_debtor:
        $ref: '#/definitions/UltimateEntity'
      unique_scheme_id:
        description: The scheme-specific unique transaction ID. Populated by the scheme.
        example: L5W48NDWYW7JV9MRO71020180301826040011
        type: string
        x-length: 42
      user_defined_data:
        description: All purpose list of key-value pairs specific data stored on the
          payment.
        items:
          $ref: '#/definitions/UserDefinedData'
        maxItems: 10
        type: array
        x-omitempty: true
    type: object
    x-access:
    - Public
  PaymentCreation:
    properties:
      data:
        $ref: '#/definitions/NewPayment'
    required:
    - data
    type: object
    x-access:
    - Public
  PaymentCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Payment'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Payment'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Payment'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentRecallResourceType:
    enum:
    - recalls
    type: string
    x-access:
    - Public
  PaymentRecallSubmissionResourceType:
    enum:
    - recall_submissions
    type: string
    x-access:
    - Public
  PaymentRelationships:
    properties:
      beneficiary:
        properties:
          data:
            description: Array of beneficiary resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      beneficiary_account:
        properties:
          data:
            description: Array of beneficiary account resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      debtor:
        properties:
          data:
            description: Array of debtor resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      debtor_account:
        properties:
          data:
            description: Array of debtor account resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      forwarded_payment:
        properties:
          data:
            description: ' Array of Inbound Payments that triggered the creation of
              this Forwarding Payment.'
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      forwarded_return:
        properties:
          data:
            description: Array of Payment Return resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      forwarding_payment:
        properties:
          data:
            description: Array of Outbound Payments created to forward the payment.
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      fx_deal:
        properties:
          data:
            description: Array of FXDeal resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      payment_admission:
        properties:
          data:
            description: Array of Payment Admission resources related to the payment
            items:
              $ref: '#/definitions/PaymentAdmission'
            type: array
        type: object
      payment_advice:
        properties:
          data:
            description: Array of Payment Advice resources related to the payment
            items:
              $ref: '#/definitions/PaymentAdvice'
            type: array
        type: object
      payment_recall:
        properties:
          data:
            description: Array of Payment Recall resources related to the payment
            items:
              $ref: '#/definitions/Recall'
            type: array
        type: object
      payment_return:
        properties:
          data:
            description: Array of Payment Return resources related to the payment
            items:
              $ref: '#/definitions/ReturnPayment'
            type: array
        type: object
      payment_reversal:
        properties:
          data:
            description: Array of Payment Reversal resources related to the payment
            items:
              $ref: '#/definitions/ReversalPayment'
            type: array
        type: object
      payment_submission:
        properties:
          data:
            description: Array of Payment Submission resources related to the payment
            items:
              $ref: '#/definitions/PaymentSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  PaymentResourceType:
    enum:
    - payments
    type: string
    x-access:
    - Public
  PaymentScheme:
    enum:
    - BACS
    - FDN
    - FDW
    - FPS
    - SEPAINSTANT
    - SEPASCT
    - TCH
    type: string
    x-access:
    - Public
  PaymentSubmission:
    properties:
      attributes:
        properties:
          clearing_system:
            description: Clearing infrastructure through which the payment instruction
              was processed
            example: TIPS
            pattern: ^[0-9A-Za-z_]*$
            type: string
          file_identifier:
            description: Identification code of the file sent to scheme.
            example: '123456'
            pattern: ^[0-9a-zA-Z]+$
            type: string
            x-nullable: true
          file_number:
            description: Number of the file sent to scheme.
            example: '001'
            pattern: ^[0-9]+$
            type: string
            x-nullable: true
          limit_breach_end_datetime:
            description: Time a payment was released from being held due to a limit
              breach
            example: '2018-03-12T14:11:55.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          limit_breach_start_datetime:
            description: Start time a payment was held due to a limit breach
            example: '2018-03-12T14:11:50.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          posting_status:
            $ref: '#/definitions/PostingStatus'
          redirected_account_number:
            description: Details of the account to which funds are redirected (if
              applicable)
            example: '12345678'
            type: string
          redirected_bank_id:
            description: Details of the bank to which funds are redirected (if applicable)
            example: '400300'
            type: string
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for an outbound payment
            enum:
            - on_us
            - xp
            type: string
          scheme_response_received_datetime:
            description: Date and time the final response to the outbound payment
              was received. Supports RFC3339 Nano
            example: '2017-09-26T15:26:57.123456789Z'
            format: date-time
            pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z$
            type: string
            x-nullable: true
          scheme_sent_datetime:
            description: Date and time the outbound payment was sent, or queued for
              internal throttling. Supports RFC3339 Nano
            example: '2017-09-26T15:26:57.123456789Z'
            format: date-time
            pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z$
            type: string
            x-nullable: true
          scheme_status_code:
            description: Scheme-specific status (if submission has been submitted
              to a scheme)
            example: '0000'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date that the payment will be settled
            example: '2017-07-23'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/PaymentSubmissionStatus'
          status_reason:
            description: Description of the submission status
            example: Accepted without qualification
            type: string
          submission_datetime:
            description: Date of the submission
            example: '2018-03-12T14:11:48.055Z'
            format: date-time
            readOnly: true
            type: string
          transaction_start_datetime:
            description: Time the request was received by Form3. Used to compute the
              total transaction time of a payment.
            example: '2018-03-12T14:11:49.055Z'
            format: date-time
            readOnly: true
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/PaymentSubmissionRelationships'
      type:
        description: Name of the resource type
        example: payment_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  PaymentSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/NewPaymentSubmission'
    required:
    - data
    type: object
    x-access:
    - Public
  PaymentSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentSubmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentSubmissionFetch:
    properties:
      attributes:
        properties:
          clearing_system:
            description: Clearing infrastructure through which the payment instruction
              was processed
            example: TIPS
            pattern: ^[0-9A-Za-z_]*$
            type: string
          file_identifier:
            description: Identification code of the file sent to scheme.
            example: '123456'
            pattern: ^[0-9a-zA-Z]+$
            type: string
            x-nullable: true
          file_number:
            description: Number of the file sent to scheme.
            example: '001'
            pattern: ^[0-9]+$
            type: string
            x-nullable: true
          limit_breach_end_datetime:
            description: Time a payment was released from being held due to a limit
              breach
            example: '2018-03-12T14:11:55.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          limit_breach_start_datetime:
            description: Start time a payment was held due to a limit breach
            example: '2018-03-12T14:11:50.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          posting_status:
            $ref: '#/definitions/PostingStatus'
          redirected_account_number:
            description: Details of the account to which funds are redirected (if
              applicable)
            example: '12345678'
            type: string
          redirected_bank_id:
            description: Details of the bank to which funds are redirected (if applicable)
            example: '400300'
            type: string
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for an outbound payment
            enum:
            - on_us
            - xp
            type: string
          scheme_response_received_datetime:
            description: Date and time the final response to the outbound payment
              was received. Supports RFC3339 Nano
            example: '2017-09-26T15:26:57.123456789Z'
            format: date-time
            pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z$
            type: string
            x-nullable: true
          scheme_sent_datetime:
            description: Date and time the outbound payment was sent, or queued for
              internal throttling. Supports RFC3339 Nano
            example: '2017-09-26T15:26:57.123456789Z'
            format: date-time
            pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{1,9}Z$
            type: string
            x-nullable: true
          scheme_status_code:
            description: Scheme-specific status (if submission has been submitted
              to a scheme)
            example: '0000'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date that the payment will be settled
            example: '2017-07-23'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/PaymentSubmissionStatus'
          status_reason:
            description: Description of the submission status
            example: Accepted without qualification
            type: string
          submission_datetime:
            description: Date of the submission
            example: '2018-03-12T14:11:48.055Z'
            format: date-time
            readOnly: true
            type: string
          transaction_start_datetime:
            description: Time the request was received by Form3. Used to compute the
              total transaction time of a payment.
            example: '2018-03-12T14:11:49.055Z'
            format: date-time
            readOnly: true
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/PaymentSubmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: payment_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  PaymentSubmissionFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      payment_submission_task:
        $ref: '#/definitions/RelationshipPaymentSubmissionTasks'
      validations:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  PaymentSubmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentSubmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentSubmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      payment_submission_task:
        $ref: '#/definitions/RelationshipPaymentSubmissionTasks'
      validations:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  PaymentSubmissionResourceType:
    enum:
    - payment_submissions
    type: string
    x-access:
    - Public
  PaymentSubmissionStatus:
    description: '[Status of the submission](https://api-docs.form3.tech/api.html#enumerations-payment-status-codes-submission-status)'
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - limit_check_failed
    - limit_check_passed
    - limit_check_pending
    - queued_for_delivery
    - rejected_by_customer
    - released_to_gateway
    - submitted
    - validation_pending
    example: delivery_confirmed
    type: string
    x-access:
    - Public
  PaymentSubmissionTask:
    properties:
      attributes:
        properties:
          assignee:
            $ref: '#/definitions/PaymentSubmissionTaskAssignee'
          group:
            $ref: '#/definitions/PaymentSubmissionTaskGroup'
          input:
            additionalProperties:
              type: object
            description: Key Value map that contains additional data for executing
              the task.
            example:
              status_reason: blocked
            type: object
          name:
            $ref: '#/definitions/PaymentSubmissionTaskName'
          output:
            additionalProperties:
              type: object
            description: Key Value map that contains the Task result.
            example:
              outcome: passed
            type: object
          status:
            $ref: '#/definitions/PaymentSubmissionTaskStatus'
        type: object
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/PaymentSubmissionTaskRelationships'
      type:
        enum:
        - payment_submission_tasks
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  PaymentSubmissionTaskAssignee:
    description: Helps to identify the owner of the task
    enum:
    - customer
    - form3
    example: form3
    type: string
    x-access:
    - Public
  PaymentSubmissionTaskDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/PaymentSubmissionTask'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  PaymentSubmissionTaskGroup:
    description: Identifies the task group the task belongs to
    example: accounting
    type: string
    x-access:
    - Public
  PaymentSubmissionTaskName:
    description: Identifies the payment submission task to be executed
    example: account_validation
    type: string
    x-access:
    - Public
  PaymentSubmissionTaskRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      payment_submission:
        $ref: '#/definitions/RelationshipPaymentSubmissions'
    type: object
    x-access:
    - Public
  PaymentSubmissionTaskStatus:
    description: status of the submission task
    enum:
    - completed
    - failed
    - on_hold
    - pending
    example: completed
    type: string
    x-access:
    - Public
  PaymentSubmissionUpdateRelationships:
    properties:
      payment_submission_tasks:
        items:
          $ref: '#/definitions/PaymentSubmissionTask'
        type: array
    type: object
    x-access:
    - Public
  PaymentTypeInformation:
    description: Set of elements used to further specify the type of transaction.
    properties:
      amount:
        description: Amount of money to be moved between the debtor and creditor,
          before deduction of charges.
        pattern: ^[0-9.]{0,14}$
        type: string
        x-length: 14
        x-omitempty: true
      category_purpose:
        description: Specifies the high level purpose of the instruction based on
          a set of pre-defined categories.
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      currency:
        description: Currency of the transaction amount. Currency code as defined
          in [ISO 4217](https://www.iso.org/iso/home/standards/currency_codes.htm)
        maxLength: 3
        minLength: 3
        type: string
        x-length: 3
        x-omitempty: true
      payment_purpose:
        description: Underlying reason for the payment transaction. Defined in external
          code list (4 char) or proprietary code (35 char)
        maxLength: 35
        minLength: 4
        type: string
        x-omitempty: true
      processing_date:
        description: Date on which the amount of money ceases to be available to the
          agent that owes it and when the amount of money becomes available to the
          agent to which it is due.
        example: '2015-12-23'
        format: date
        type: string
        x-nullable: true
        x-omitempty: true
      remittance_information:
        description: Unstructured information supplied to enable the matching/reconciliation
          of an entry with the items that the payment is intended to settle.
        maxLength: 140
        type: string
        x-length: 140
        x-omitempty: true
      scheme_payment_sub_type:
        description: Specifies a local instrument to further qualify the level of
          service.
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      scheme_payment_type:
        description: Specifies a pre-agreed level of service as published in an external
          code list (4 char) or a proprietary code (35 char).
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
    type: object
    x-access:
    - Public
  PaymentUpdate:
    properties:
      attributes:
        $ref: '#/definitions/PaymentAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/PaymentUpdateRelationships'
      type:
        description: Name of the resource type
        example: payments
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    - version
    type: object
    x-access:
    - Public
  PaymentUpdateRelationships:
    properties:
      beneficiary:
        properties:
          data:
            description: Array of beneficiary resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      beneficiary_account:
        properties:
          data:
            description: Array of beneficiary account resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      debtor:
        properties:
          data:
            description: Array of debtor resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      debtor_account:
        properties:
          data:
            description: Array of debtor account resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      forwarding_payment:
        properties:
          data:
            description: ID of the Outbound Payment created to forward the payment.
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      fx_deal:
        properties:
          data:
            description: Array of FXDeal resources related to the payment
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      payment_admission:
        properties:
          data:
            description: Array of Payment Admission resources related to the payment
            items:
              $ref: '#/definitions/PaymentAdmission'
            type: array
        type: object
      payment_advice:
        properties:
          data:
            description: Array of Payment Advice resources related to the payment
            items:
              $ref: '#/definitions/PaymentAdvice'
            type: array
        type: object
      payment_recall:
        properties:
          data:
            description: Array of Payment Recall resources related to the payment
            items:
              $ref: '#/definitions/Recall'
            type: array
        type: object
      payment_return:
        properties:
          data:
            description: Array of Payment Return resources related to the payment
            items:
              $ref: '#/definitions/ReturnPayment'
            type: array
        type: object
      payment_reversal:
        properties:
          data:
            description: Array of Payment Reversal resources related to the payment
            items:
              $ref: '#/definitions/ReversalPayment'
            type: array
        type: object
      payment_submission:
        properties:
          data:
            description: Array of Payment Submission resources related to the payment
            items:
              $ref: '#/definitions/PaymentSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  Position:
    properties:
      attributes:
        properties:
          limit:
            description: Current limit
            example: '1000'
            pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
            type: string
          position:
            description: Current position
            example: '10'
            pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
            type: string
          scheme:
            description: Scheme associated with the limit
            example: FPS
            pattern: ^[A-Za-z_\-]*$
            type: string
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      links:
        $ref: '#/definitions/Self'
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: positions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  PositionDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Position'
        type: array
    type: object
    x-access:
    - Public
  PostalAddress:
    properties:
      address:
        description: Beneficiary address
        example:
        - 1 Clarence Mew
        - Horsforth
        - Leeds Ls18 4EP
        items:
          type: string
        type: array
        x-omitempty: true
      building_name:
        description: Building name of the postal address
        type: string
        x-length: 35
      building_number:
        description: Building number of the postal address
        type: string
        x-length: 16
      country:
        description: Country of the postal address, ISO 3166 format country code
        example: SK
        type: string
        x-length: 2
      country_sub_division:
        description: Country sub division of the postal address
        type: string
        x-length: 35
      department:
        description: Department of the postal address
        type: string
        x-length: 70
      district_name:
        description: District name of the postal address
        type: string
        x-length: 35
      floor:
        description: Floor of the postal address
        type: string
        x-length: 70
      post_box:
        description: Postbox of the postal address
        type: string
        x-length: 16
      post_code:
        description: Post code of the postal address
        type: string
        x-length: 16
      room:
        description: Room of the postal address
        type: string
        x-length: 70
      street_name:
        description: Street name of the postal address
        example: Park Avenue
        type: string
        x-length: 70
      sub_department:
        description: Sub department of the postal address
        type: string
        x-length: 70
      town_location_name:
        description: Town location name of the postal address
        type: string
        x-length: 35
      town_name:
        description: Town name of the postal address
        example: BRUSSELS
        type: string
        x-length: 30
    type: object
    x-access:
    - Public
  PostingStatus:
    description: Displays additional information about the latest response to a transaction,
      where multiple responses are allowed
    enum:
    - accepted_funds_checked
    - accepted_settlement_complete
    - accepted_settlement_complete_creditor_account
    - accepted_settlement_in_process
    - blocked
    - passed_without_posting
    - pending
    - posted
    - received
    - rejected
    type: string
    x-access:
    - Public
  PrivateIdentification:
    properties:
      identification:
        description: Private Identification of an debtor/beneficiary or ultimate debtor/beneficiary
        example: AB12345
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-length: 35
      identification_issuer:
        description: Issuer of the `identification`
        example: HM Passport Office
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-length: 35
      identification_scheme:
        description: Scheme of the `identification`
        example: BANK
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-length: 35
      identification_scheme_code:
        description: The code that specifies the type of `identification`
        example: CCPT
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: conditional
        x-description:
          sepa: If `identification` is specified, must be either `ARNU`, `CCPT`, `CUST`,
            `DRLC`, `EMPL`, `NIDN`, `SOSE`, `TXID` or `Other`
    type: object
    x-access:
    - Public
  PublicKey:
    properties:
      attributes:
        properties:
          expires_on:
            format: date-time
            type: string
          fingerprint:
            type: string
          public_key:
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_by:
        format: uuid
        type: string
        x-nullable: true
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: PublicKey
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  PublicKeyResponse:
    properties:
      data:
        $ref: '#/definitions/PublicKey'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  PublicKeysListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/PublicKey'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  Query:
    properties:
      attributes:
        $ref: '#/definitions/QueryAttributes'
        x-order: 7
      created_on:
        format: date-time
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 2
      modified_on:
        format: date-time
        type: string
        x-order: 6
      organisation_id:
        format: uuid
        type: string
        x-order: 4
      relationships:
        $ref: '#/definitions/QueryRelationships'
        x-order: 8
      type:
        $ref: '#/definitions/QueryResourceType'
        x-order: 1
      version:
        minimum: 0
        type: integer
        x-order: 3
    required:
    - attributes
    - id
    - organisation_id
    - type
    - version
    type: object
    x-access:
    - Public
  QueryAccountNumberCode:
    description: The type of identification given at `account_number` attribute
    enum:
    - BBAN
    - IBAN
    example: IBAN
    maxLength: 4
    type: string
    x-access:
    - Public
    x-length: 4
    x-omitempty: true
  QueryAdmission:
    properties:
      attributes:
        $ref: '#/definitions/QueryAdmissionAttributes'
        x-order: 7
      created_on:
        format: date-time
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 2
      modified_on:
        format: date-time
        type: string
        x-order: 6
      organisation_id:
        format: uuid
        type: string
        x-order: 4
      relationships:
        $ref: '#/definitions/QueryAdmissionRelationships'
        x-order: 8
      type:
        $ref: '#/definitions/QueryAdmissionResourceType'
        x-order: 1
      version:
        minimum: 0
        type: integer
        x-order: 3
    required:
    - attributes
    - id
    - organisation_id
    - type
    - version
    type: object
    x-access:
    - Public
  QueryAdmissionAttributes:
    properties:
      status:
        $ref: '#/definitions/QueryAdmissionStatus'
      status_reason:
        type: string
        x-parent: data.attributes
    required:
    - status
    type: object
    x-access:
    - Public
    x-parent: data
  QueryAdmissionRelationships:
    properties:
      query:
        $ref: '#/definitions/RelationshipsFullQuery'
    required:
    - query
    type: object
    x-access:
    - Public
  QueryAdmissionResourceType:
    enum:
    - query_admissions
    type: string
    x-access:
    - Public
  QueryAdmissionResponse:
    properties:
      data:
        $ref: '#/definitions/QueryAdmission'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  QueryAdmissionStatus:
    enum:
    - confirmed
    - failed
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  QueryAttributes:
    properties:
      agents:
        $ref: '#/definitions/RequestForInformationAgents'
        x-parent: data.attributes
      auto_handled:
        type: boolean
        x-nullable: true
        x-parent: data.attributes
      creator_party:
        $ref: '#/definitions/RequestForInformationCreatorParty'
        x-parent: data.attributes
      message_id:
        type: string
        x-parent: data.attributes
      processing_date:
        format: date
        type: string
        x-nullable: true
        x-parent: data.attributes
      query_sub_types:
        $ref: '#/definitions/RequestForInformationQuerySubTypes'
        x-parent: data.attributes
      query_type:
        enum:
        - claim_non_receipt
        - modify_payment
        - request_for_information
        - status_request
        type: string
        x-parent: data.attributes
      references:
        $ref: '#/definitions/RequestForInformationReferences'
        x-parent: data.attributes
      requested_information:
        $ref: '#/definitions/RequestForInformationRequestedInformation'
        x-parent: data.attributes
      scheme_transaction_id:
        type: string
        x-parent: data.attributes
      status:
        enum:
        - closed
        - pending
        type: string
        x-parent: data.attributes
      unstructured_message:
        type: string
        x-nullable: true
        x-parent: data.attributes
    required:
    - query_type
    type: object
    x-access:
    - Public
    x-parent: data
  QueryBeneficiaryDebtorAccountProxy:
    properties:
      proxy:
        description: Name of the identification scheme, in a free text form. When
          used proxy_id_code must not be present.
        example: ID123456
        maxLength: 35
        type: string
        x-length: 35
        x-nullable: true
        x-omitempty: true
      proxy_id:
        description: Identification used to indicate the account identification under
          another specified name
        example: 07495845323
        maxLength: 2048
        type: string
        x-length: 2048
        x-omitempty: true
      proxy_id_code:
        description: Name of the identification scheme, in a coded form as published
          in an external list. When used proxy field must not be present
        example: MBNO
        maxLength: 4
        type: string
        x-length: 4
        x-nullable: true
        x-omitempty: true
    type: object
    x-access:
    - Public
  QueryBeneficiaryDebtorOrganisationIdentification:
    properties:
      identification:
        description: Another ID of the organisation
        example: H7FNTJ4851HG0EXQ1Z70
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      identification_code:
        description: Code for the type of other ID of organisation
        example: LEI
        type: string
        x-length: 5
        x-omitempty: true
      identification_issuer:
        description: Issuer of the other ID of organisation
        example: London Stock Exchange
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      identification_scheme:
        description: Custom internal code for the type of other ID of organisation
        example: Custom code
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
    type: object
    x-access:
    - Public
  QueryBeneficiaryDebtorParty:
    properties:
      account_number:
        description: Debtor/Beneficiary account number. Allows upper case and numeric
          characters.
        example: '12345678'
        maxLength: 34
        type: string
        x-length: 34
        x-omitempty: true
      account_number_code:
        $ref: '#/definitions/QueryAccountNumberCode'
      account_proxy:
        $ref: '#/definitions/QueryBeneficiaryDebtorAccountProxy'
      account_with:
        description: Debtor/Beneficiary agents bank information.
        properties:
          bank_id:
            description: Identification of a member of a clearing system.
            example: 096735172
            maxLength: 35
            type: string
            x-length: 35
            x-omitempty: true
          bank_id_code:
            description: Identification of a clearing system, in a coded form as published
              in an external list.
            example: USABA
            maxLength: 5
            type: string
            x-length: 5
            x-omitempty: true
          bank_name:
            description: Name by which an agent is known and which is usually used
              to identify that agent.
            example: BNP Paribas
            maxLength: 140
            type: string
            x-length: 140
            x-omitempty: true
        type: object
      additional_address_line:
        description: Additional address line of the debtor/beneficiary address
        type: string
        x-length: 70
      birth_city:
        description: Debtor/Beneficiary birth city
        example: New-York
        type: string
        x-length: 35
      birth_country:
        description: Debtor/Beneficiary birth country. ISO 3166 format country code
        example: FR
        type: string
        x-length: 2
      birth_date:
        description: Debtor/Beneficiary birth date. Formatted ISO 8601 format YYYY-MM-DD
        example: '1973-01-31'
        format: date
        type: string
        x-nullable: true
      birth_province:
        description: Debtor/Beneficiary birth province
        example: SOUTH SIDE
        type: string
        x-length: 35
      building_number:
        description: Building number of the debtor/beneficiary address
        type: string
        x-length: 16
      city:
        description: City/Town of the debtor/beneficiary address
        example: BRUSSELS
        type: string
        x-length: 35
      country:
        description: Country of debtor/beneficiary address. ISO 3166 format country
          code
        example: GB
        type: string
        x-length: 2
      country_of_residence:
        description: Country of residence of the debtor/beneficiary, ISO 3166 format
          country code
        example: UA
        type: string
        x-length: 2
      name:
        description: Debtor/Beneficiary name
        example: Jane Bond
        type: string
        x-length: 140
      organisation_identification:
        description: Organisation identification of a debtor/beneficiary, in the case
          that the debtor/beneficiary is an organisation and not a private person.
        example: ID1234656
        type: string
        x-length: 35
      organisation_identification_code:
        description: The code that specifies the type of `organisation_identification`
        example: BIC
        type: string
        x-length: 5
      organisation_identification_issuer:
        description: Issuer of the `organisation_identification`
        example: NATIONAL WESTMINSTER BANK PLC
        type: string
        x-length: 35
      organisation_identification_scheme:
        description: The code that specifies the scheme of `organisation_identification`
        example: CustomerId
        type: string
        x-length: 35
      organisation_identifications:
        description: Array for additional ID(s) of ultimate organisation
        items:
          $ref: '#/definitions/QueryBeneficiaryDebtorOrganisationIdentification'
        type: array
        x-omitempty: true
      post_code:
        description: Post code of the debtor/beneficiary address
        type: string
        x-length: 16
      private_identification:
        $ref: '#/definitions/QueryPrivateIdentification'
      province:
        description: Province of the debtor/beneficiary address
        type: string
        x-length: 35
      street_name:
        description: Street name of the debtor/beneficiary address
        example: Park Avenue
        type: string
        x-length: 70
    type: object
    x-access:
    - Public
  QueryCreation:
    properties:
      data:
        $ref: '#/definitions/NewQuery'
    required:
    - data
    type: object
    x-access:
    - Public
  QueryFetchResponse:
    properties:
      data:
        $ref: '#/definitions/Query'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  QueryListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Query'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    - links
    type: object
    x-access:
    - Public
  QueryPrivateIdentification:
    properties:
      identification:
        description: Private Identification of an debtor/beneficiary or ultimate debtor/beneficiary
        example: AB12345
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      identification_issuer:
        description: Issuer of the `identification`
        example: HM Passport Office
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      identification_scheme:
        description: Scheme of the `identification`
        example: BANK
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      identification_scheme_code:
        description: The code that specifies the type of `identification`
        example: CCPT
        type: string
        x-length: 4
        x-omitempty: true
    type: object
    x-access:
    - Public
  QueryReference:
    description: Arbitrary references for payment or case. Defined by a pair of reference
      type and reference value.
    properties:
      type:
        description: Name of the reference type
        example: UETR
        maxLength: 45
        minLength: 1
        type: string
      value:
        description: Value of the provided reference type
        maxLength: 45
        minLength: 1
        type: string
    required:
    - type
    - value
    type: object
    x-access:
    - Public
  QueryRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipsPayment'
      payment_admission:
        $ref: '#/definitions/RelationshipsPaymentAdmission'
      payment_submission:
        $ref: '#/definitions/RelationshipsPaymentSubmission'
      query:
        $ref: '#/definitions/RelationshipsQuery'
      query_admission:
        $ref: '#/definitions/RelationshipsQueryAdmission'
      query_response:
        $ref: '#/definitions/RelationshipsFullQueryResponse'
      query_submission:
        $ref: '#/definitions/RelationshipsQuerySubmission'
      recall:
        $ref: '#/definitions/RelationshipsPaymentRecall'
      recall_submission:
        $ref: '#/definitions/RelationshipsPaymentRecallSubmission'
    type: object
    x-access:
    - Public
  QueryResourceType:
    enum:
    - queries
    type: string
    x-access:
    - Public
  QueryResponse:
    properties:
      attributes:
        $ref: '#/definitions/QueryResponseAttributes'
        x-order: 7
      created_on:
        format: date-time
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 2
      modified_on:
        format: date-time
        type: string
        x-order: 6
      organisation_id:
        format: uuid
        type: string
        x-order: 4
      relationships:
        $ref: '#/definitions/QueryResponseRelationships'
        x-order: 8
      type:
        $ref: '#/definitions/QueryResponseResourceType'
        x-order: 1
      version:
        minimum: 0
        type: integer
        x-order: 3
    required:
    - attributes
    - id
    - organisation_id
    - type
    - version
    type: object
    x-access:
    - Public
  QueryResponseAdmission:
    properties:
      attributes:
        $ref: '#/definitions/QueryResponseAdmissionAttributes'
        x-order: 7
      created_on:
        format: date-time
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 2
      modified_on:
        format: date-time
        type: string
        x-order: 6
      organisation_id:
        format: uuid
        type: string
        x-order: 4
      relationships:
        $ref: '#/definitions/QueryResponseAdmissionRelationships'
        x-order: 8
      type:
        $ref: '#/definitions/QueryResponseAdmissionResourceType'
        x-order: 1
      version:
        minimum: 0
        type: integer
        x-order: 3
    required:
    - attributes
    - id
    - organisation_id
    - type
    - version
    type: object
    x-access:
    - Public
  QueryResponseAdmissionAttributes:
    properties:
      status:
        $ref: '#/definitions/QueryResponseAdmissionStatus'
      status_reason:
        type: string
    required:
    - status
    type: object
    x-access:
    - Public
  QueryResponseAdmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipsPayment'
      query:
        $ref: '#/definitions/RelationshipsQuery'
      query_response:
        $ref: '#/definitions/RelationshipsQueryResponse'
      recall:
        $ref: '#/definitions/RelationshipsPaymentRecall'
    type: object
    x-access:
    - Public
  QueryResponseAdmissionResourceType:
    enum:
    - query_response_admissions
    type: string
    x-access:
    - Public
  QueryResponseAdmissionResponse:
    properties:
      data:
        $ref: '#/definitions/QueryResponseAdmission'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  QueryResponseAdmissionStatus:
    enum:
    - confirmed
    - failed
    - pending
    type: string
    x-access:
    - Public
  QueryResponseAnswer:
    enum:
    - accepted
    - already_applied
    - modified_as_requested
    - pending
    - rejected
    - rejected_regulatory_reason
    - transaction_not_processed
    - transaction_not_received
    - transaction_rejected
    - transaction_returned
    type: string
    x-access:
    - Public
    x-nullable: false
    x-parent: data.attributes
  QueryResponseAttributes:
    properties:
      answer:
        $ref: '#/definitions/QueryResponseAnswer'
      charges:
        $ref: '#/definitions/QueryResponseCharges'
      compensation:
        $ref: '#/definitions/QueryResponseCompensation'
      compensation_amount:
        type: string
        x-parent: data.attributes
      currency:
        type: string
        x-parent: data.attributes
      information:
        $ref: '#/definitions/QueryResponseInformation'
      status_code:
        $ref: '#/definitions/QueryResponseStatusCode'
    required:
    - answer
    type: object
    x-access:
    - Public
    x-parent: data
  QueryResponseCharges:
    properties:
      account_number:
        type: string
        x-parent: data.attributes.charges
      account_number_code:
        type: string
        x-parent: data.attributes.charges
      amount:
        type: string
        x-parent: data.attributes.charges
      currency:
        type: string
        x-parent: data.attributes.charges
    type: object
    x-access:
    - Public
    x-parent: data.attributes
  QueryResponseCompensation:
    properties:
      account_number:
        type: string
        x-parent: data.attributes.compensation
      account_number_code:
        type: string
        x-parent: data.attributes.compensation
      amount:
        type: string
        x-parent: data.attributes.compensation
      currency:
        type: string
        x-parent: data.attributes.compensation
    type: object
    x-access:
    - Public
    x-parent: data.attributes
  QueryResponseCreation:
    properties:
      data:
        $ref: '#/definitions/NewQueryResponse'
    required:
    - data
    type: object
    x-access:
    - Public
  QueryResponseInformation:
    properties:
      beneficiary_party:
        $ref: '#/definitions/QueryBeneficiaryDebtorParty'
      correction_transaction_information:
        $ref: '#/definitions/CorrectionTransactionInformation'
      debtor_party:
        $ref: '#/definitions/QueryBeneficiaryDebtorParty'
      duplicate_transaction_information:
        $ref: '#/definitions/DuplicateTransactionInformation'
      payment_type_information:
        $ref: '#/definitions/PaymentTypeInformation'
      references:
        description: Reference for the case ID associated to this Exception and Investigation
          case.
        items:
          $ref: '#/definitions/QueryReference'
        type: array
        x-omitempty: true
      ultimate_beneficiary_party:
        $ref: '#/definitions/QueryUltimateEntity'
      ultimate_debtor_party:
        $ref: '#/definitions/QueryUltimateEntity'
    type: object
    x-access:
    - Public
    x-parent: data.attributes
  QueryResponseRelationships:
    properties:
      query:
        $ref: '#/definitions/RelationshipsFullQuery'
      query_response_admission:
        $ref: '#/definitions/RelationshipQueryResponseAdmission'
      query_response_submission:
        $ref: '#/definitions/RelationshipQueryResponseSubmission'
    type: object
    x-access:
    - Public
  QueryResponseResourceType:
    enum:
    - query_responses
    type: string
    x-access:
    - Public
  QueryResponseResponse:
    properties:
      data:
        $ref: '#/definitions/QueryResponse'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  QueryResponseStatusCode:
    enum:
    - IDUP
    - INFO
    - IPAY
    - NINF
    - PDNG
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  QueryResponseSubmission:
    properties:
      attributes:
        $ref: '#/definitions/QueryResponseSubmissionAttributes'
        x-order: 7
      created_on:
        format: date-time
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 2
      modified_on:
        format: date-time
        type: string
        x-order: 6
      organisation_id:
        format: uuid
        type: string
        x-order: 4
      relationships:
        $ref: '#/definitions/QueryResponseSubmissionRelationships'
        x-order: 8
      type:
        $ref: '#/definitions/QueryResponseSubmissionResourceType'
        x-order: 1
      version:
        minimum: 0
        type: integer
        x-order: 3
    required:
    - attributes
    - id
    - organisation_id
    - type
    - version
    type: object
    x-access:
    - Public
  QueryResponseSubmissionAttributes:
    properties:
      auto:
        type: boolean
        x-parent: data.attributes
      status:
        $ref: '#/definitions/QueryResponseSubmissionStatus'
      status_reason:
        type: string
        x-parent: data.attributes
    type: object
    x-access:
    - Public
    x-parent: data
  QueryResponseSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/NewQueryResponseSubmission'
    required:
    - data
    type: object
    x-access:
    - Public
  QueryResponseSubmissionRelationships:
    properties:
      query:
        $ref: '#/definitions/RelationshipsFullQuery'
      query_response:
        $ref: '#/definitions/RelationshipsFullQueryResponse'
    type: object
    x-access:
    - Public
  QueryResponseSubmissionResourceType:
    enum:
    - query_response_submissions
    type: string
    x-access:
    - Public
  QueryResponseSubmissionResponse:
    properties:
      data:
        $ref: '#/definitions/QueryResponseSubmission'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  QueryResponseSubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_pending
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  QuerySubmission:
    properties:
      attributes:
        $ref: '#/definitions/QuerySubmissionAttributes'
        x-order: 7
      created_on:
        format: date-time
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 2
      modified_on:
        format: date-time
        type: string
        x-order: 6
      organisation_id:
        format: uuid
        type: string
        x-order: 4
      relationships:
        $ref: '#/definitions/QuerySubmissionRelationships'
        x-order: 8
      type:
        $ref: '#/definitions/QuerySubmissionResourceType'
        x-order: 1
      version:
        minimum: 0
        type: integer
        x-order: 3
    required:
    - attributes
    - id
    - organisation_id
    - type
    - version
    type: object
    x-access:
    - Public
  QuerySubmissionAttributes:
    properties:
      status:
        $ref: '#/definitions/QuerySubmissionStatus'
      status_reason:
        type: string
    type: object
    x-access:
    - Public
  QuerySubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/NewQuerySubmission'
    required:
    - data
    type: object
    x-access:
    - Public
  QuerySubmissionRelationships:
    properties:
      query:
        $ref: '#/definitions/RelationshipsQuery'
    required:
    - query
    type: object
    x-access:
    - Public
  QuerySubmissionResourceType:
    enum:
    - query_submissions
    type: string
    x-access:
    - Public
  QuerySubmissionResponse:
    properties:
      data:
        $ref: '#/definitions/QuerySubmission'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  QuerySubmissionStatus:
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_pending
    type: string
    x-access:
    - Public
  QueryUltimateEntity:
    properties:
      additional_address_line:
        description: Additional address line of the debtor/beneficiary address
        maxLength: 70
        type: string
        x-length: 70
        x-omitempty: true
      birth_city:
        description: Ultimate debtor/beneficiary birth city
        example: New-York
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      birth_country:
        description: Ultimate debtor/beneficiary birth country. ISO 3166 format country
          code
        example: FR
        pattern: ^[A-Z]{2,2}$
        type: string
        x-length: 2
        x-omitempty: true
      birth_date:
        description: Ultimate debtor/beneficiary birth date. Formatted ISO 8601 format
          YYYY-MM-DD
        example: '1973-01-31'
        format: date
        type: string
        x-nullable: true
        x-omitempty: true
      birth_province:
        description: Ultimate debtor/beneficiary birth province
        example: SOUTH SIDE
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      building_number:
        description: Building number of the debtor/beneficiary address
        maxLength: 16
        type: string
        x-length: 16
        x-omitempty: true
      city:
        description: City/Town of the debtor/beneficiary address
        example: BRUSSELS
        maxLength: 35
        type: string
        x-length: 35
      country:
        description: Country of ultimate debtor/beneficiary address. ISO 3166 format
          country code
        example: GB
        pattern: ^[A-Z]{2,2}$
        type: string
        x-length: 2
        x-omitempty: true
      country_of_residence:
        description: Country of residence of the ultimate debtor/beneficiary, ISO
          3166 format country code
        example: UA
        pattern: ^[A-Z]{2,2}$
        type: string
        x-length: 2
        x-omitempty: true
      name:
        description: Ultimate debtor/beneficiary name
        example: Jane Bond
        maxLength: 140
        type: string
        x-length: 140
        x-omitempty: true
      organisation_identification:
        description: Organisation identification of an ultimate debtor/beneficiary,
          in the case that the ultimate debtor/beneficiary is an organisation and
          not a private person.
        example: ID1234656
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      organisation_identification_code:
        description: The code that specifies the type of `organisation_identification`
        example: BIC
        type: string
        x-length: 5
        x-omitempty: true
      organisation_identification_issuer:
        description: Issuer of the `organisation_identification`
        example: NATIONAL WESTMINSTER BANK PLC
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      organisation_identification_scheme:
        description: The code that specifies the scheme of `organisation_identification`
        example: CustomerId
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      organisation_identifications:
        description: Array for additional ID(s) of ultimate organisation
        items:
          $ref: '#/definitions/QueryBeneficiaryDebtorOrganisationIdentification'
        type: array
        x-omitempty: true
      post_code:
        description: Post code of the debtor/beneficiary address
        maxLength: 16
        type: string
        x-length: 16
        x-omitempty: true
      private_identification:
        $ref: '#/definitions/QueryPrivateIdentification'
      province:
        description: Province of the debtor/beneficiary address
        maxLength: 35
        type: string
        x-length: 35
        x-omitempty: true
      street_name:
        description: Street name of the debtor/beneficiary address
        example: Park Avenue
        maxLength: 70
        type: string
        x-length: 70
        x-omitempty: true
    type: object
    x-access:
    - Public
  Recall:
    properties:
      attributes:
        properties:
          agents:
            description: Block to represent a Financial Institution/agent in the payment
              chain
            items:
              $ref: '#/definitions/Agent'
            type: array
            x-omitempty: true
          parties:
            description: Block to represent parties involved in the payment chain
            items:
              $ref: '#/definitions/Party'
            type: array
            x-omitempty: true
          reason:
            description: Further explanation of the reason given in reason_code. Only
              evaluated for certain reason codes.
            example: Payment was a duplicate
            type: string
            x-omitempty: true
          reason_code:
            description: The reason for the recall. Has to be a valid [recall reason
              code](http://api-docs.form3.tech/api.html#enumerations-recall-reason-codes).
            example: DUPL
            type: string
          references:
            description: Block to represent a list of references
            items:
              $ref: '#/definitions/Reference'
            type: array
            x-omitempty: true
          status:
            $ref: '#/definitions/RecallStatus'
          unique_scheme_id:
            description: Scheme-specific unique ID
            example: L5W48NDWYW7JV9MRO71020180301826040011
            type: string
            x-length: 42
            x-omitempty: true
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallRelationships'
      type:
        description: Name of the resource type
        example: recalls
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallAdmission:
    properties:
      attributes:
        $ref: '#/definitions/RecallAdmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallAdmissionRelationships'
      type:
        description: Name of the resource type
        example: recall_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallAdmissionAttributes:
    properties:
      admission_datetime:
        description: Date and time the recall admission was created
        example: '2018-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-nullable: true
      reference_id:
        description: Additional payment reference assigned by the scheme
        type: string
      source_gateway:
        type: string
      status:
        $ref: '#/definitions/RecallAdmissionStatus'
      status_reason:
        description: Human-readable reason for failure if admission status is failed
        example: payment does not exist
        type: string
    type: object
    x-access:
    - Public
  RecallAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/RecallAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallAdmissionFetch:
    properties:
      attributes:
        $ref: '#/definitions/RecallAdmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallAdmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: recall_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallAdmissionFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      recall:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  RecallAdmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/RecallAdmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallAdmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      recall:
        $ref: '#/definitions/RelationshipRecalls'
    type: object
    x-access:
    - Public
  RecallAdmissionStatus:
    description: '[Status](http://draft-api-docs.form3.tech/api.html#enumerations-payment-admission-status)
      of the recall admission'
    enum:
    - confirmed
    - failed
    example: confirmed
    type: string
    x-access:
    - Public
  RecallAdmissionUpdate:
    properties:
      attributes:
        $ref: '#/definitions/RecallAdmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallAdmissionRelationships'
      type:
        description: Name of the resource type
        example: recall_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallCreation:
    properties:
      data:
        $ref: '#/definitions/NewRecall'
    type: object
    x-access:
    - Public
  RecallCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Recall'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallDecision:
    properties:
      attributes:
        $ref: '#/definitions/RecallDecisionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallDecisionRelationships'
      type:
        description: Name of the resource type
        example: recall_decisions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallDecisionAdmission:
    properties:
      attributes:
        $ref: '#/definitions/RecallDecisionAdmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallDecisionAdmissionRelationships'
      type:
        description: Name of the resource type
        example: recall_decision_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallDecisionAdmissionAttributes:
    properties:
      admission_datetime:
        description: Date and time the recall decision admission was created
        example: '2018-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-nullable: true
      reference_id:
        description: Additional payment reference assigned by the scheme
        type: string
      source_gateway:
        type: string
      status:
        $ref: '#/definitions/RecallDecisionAdmissionStatus'
      status_reason:
        description: Human-readable reason for failure if status is failed.
        example: recall does not exist
        type: string
        x-nullable: true
    type: object
    x-access:
    - Public
  RecallDecisionAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/RecallDecisionAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallDecisionAdmissionFetch:
    properties:
      attributes:
        $ref: '#/definitions/RecallDecisionAdmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallDecisionAdmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: recall_decision_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallDecisionAdmissionFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      recall:
        $ref: '#/definitions/RelationshipLinks'
      recall_decision:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  RecallDecisionAdmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/RecallDecisionAdmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallDecisionAdmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      recall:
        $ref: '#/definitions/RelationshipRecalls'
      recall_decision:
        $ref: '#/definitions/RelationshipRecallDecisions'
    type: object
    x-access:
    - Public
  RecallDecisionAdmissionStatus:
    description: '[Status](http://draft-api-docs.form3.tech/api.html#enumerations-payment-admission-status)
      of the admission'
    enum:
    - confirmed
    - failed
    example: confirmed
    type: string
    x-access:
    - Public
  RecallDecisionAdmissionUpdate:
    properties:
      attributes:
        properties:
          status:
            $ref: '#/definitions/RecallDecisionAdmissionStatus'
          status_reason:
            description: Reason for admission failure if status is `failed`
            example: recall decision does not exist
            type: string
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: recall_decision_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallDecisionAnswer:
    description: Answer to the recall request.
    enum:
    - accepted
    - partially_accepted
    - payment_cancelled
    - pending
    - rejected
    example: accepted
    type: string
    x-access:
    - Public
  RecallDecisionAttributes:
    properties:
      agents:
        description: Block to represent a Financial Institution/agent in the payment
          chain
        items:
          $ref: '#/definitions/Agent'
        type: array
        x-omitempty: true
      answer:
        $ref: '#/definitions/RecallDecisionAnswer'
      charges_amount:
        $ref: '#/definitions/CurrencyAndAmount'
        x-omitempty: true
      reason:
        description: Optional free text reason in addition to `reason_code`
        example: Closed account number
        type: string
        x-omitempty: true
      reason_code:
        description: Reason for a rejected decision. Required when answer is rejected,
          ignored otherwise. Has to be a valid [rejected recall decision reason code](http://api-docs.form3.tech/api.html#enumerations-rejected-recall-decision-reason-codes)
        example: AC04
        type: string
        x-omitempty: true
      recall_amount:
        $ref: '#/definitions/CurrencyAndAmount'
        x-omitempty: true
      references:
        description: Block to represent a list of references
        items:
          $ref: '#/definitions/Reference'
        type: array
        x-omitempty: true
      resolution_related_information:
        $ref: '#/definitions/ResolutionRelatedInformation'
        x-omitempty: true
      scheme_transaction_id:
        description: Unique identification, as assigned by the first instructing agent,
          to unambiguously identify the transaction that is passed on, unchanged,
          throughout the entire interbank chain.
        example: '123456789012345678'
        type: string
        x-length: 35
        x-omitempty: true
      unique_scheme_id:
        description: Scheme-specific unique ID
        example: L5W48NDWYW7JV9MRO71020180301826040011
        type: string
        x-length: 42
        x-omitempty: true
    type: object
    x-access:
    - Public
  RecallDecisionCreation:
    properties:
      data:
        $ref: '#/definitions/RecallDecision'
    type: object
    x-access:
    - Public
  RecallDecisionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/RecallDecision'
    type: object
    x-access:
    - Public
  RecallDecisionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/RecallDecision'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallDecisionFetch:
    properties:
      attributes:
        $ref: '#/definitions/RecallDecisionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallDecisionFetchRelationships'
      type:
        description: Name of the resource type
        example: recall_decisions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallDecisionFetchRelationships:
    properties:
      decision_admission:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall decision admission resource related to the recall
          decision
      decision_submission:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall decision submission resource related to the
          recall decision
      payment:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the payment resource related to the recall decision
      recall:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall resource related to the recall decision
    type: object
    x-access:
    - Public
  RecallDecisionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/RecallDecisionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallDecisionRelationships:
    properties:
      decision_admission:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall decision admission resource related to the recall
          decision
      decision_submission:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall decision submission resource related to the
          recall decision
      payment:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the payment resource related to the recall decision
      recall:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall resource related to the recall decision
    type: object
    x-access:
    - Public
  RecallDecisionSubmission:
    properties:
      attributes:
        $ref: '#/definitions/RecallDecisionSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallDecisionSubmissionRelationships'
      type:
        description: Name of the resource type
        example: recall_decision_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionAttributes:
    properties:
      auto:
        default: false
        description: Indicates if the submission was created automatically by the
          system (`true`) or manually (`false`).
        type: boolean
      reference_id:
        description: Additional payment reference assigned by the scheme
        type: string
      status:
        $ref: '#/definitions/RecallDecisionSubmissionStatus'
      status_reason:
        description: Reason for submission failure if status is `delivery_failed`
        example: recall does not exist
        type: string
      submission_datetime:
        description: Date and time of the submission
        example: '2018-03-12T14:11:48.055Z'
        format: date-time
        readOnly: true
        type: string
        x-nullable: true
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/NewRecallDecisionSubmission'
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/RecallDecisionSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/RecallDecisionSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionFetch:
    properties:
      attributes:
        $ref: '#/definitions/RecallDecisionSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallDecisionSubmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: recall_decision_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      recall:
        $ref: '#/definitions/RelationshipLinks'
      recall_decision:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/RecallDecisionSubmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      recall:
        $ref: '#/definitions/RelationshipRecalls'
      recall_decision:
        $ref: '#/definitions/RelationshipRecallDecisions'
    type: object
    x-access:
    - Public
  RecallDecisionSubmissionStatus:
    description: '[Status](http://draft-api-docs.form3.tech/api.html#enumerations-payment-status-codes-payment-submission-status)
      of the submission'
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - limit_check_failed
    - limit_check_passed
    - limit_check_pending
    - queued_for_delivery
    - released_to_gateway
    - validation_passed
    - validation_pending
    example: accepted
    type: string
    x-access:
    - Public
  RecallDecisionSubmissionUpdate:
    properties:
      attributes:
        properties:
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          status:
            $ref: '#/definitions/RecallDecisionSubmissionStatus'
          status_reason:
            description: Reason for submission failure if status is `delivery_failed`
            example: recall does not exist
            type: string
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: recall_decision_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Recall'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the payment resource related to the recall
      recall_admission:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall admission resource related to the recall
      recall_decisions:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall decision resource related to the recall
      recall_reversal:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall reversal resource related to the recall
      recall_submission:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the recall submission resource related to the recall
    type: object
    x-access:
    - Public
  RecallReversal:
    properties:
      attributes:
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          payment:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the payment resource related to the recall reversal
          recall:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the recall resource related to the recall reversal
          reversal_admission:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the reversal admission resource related to the recall
              reversal
        type: object
      type:
        description: Name of the resource type
        example: recall_reversals
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallReversalAdmission:
    properties:
      attributes:
        $ref: '#/definitions/RecallReversalAdmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          payment:
            $ref: '#/definitions/RelationshipPayments'
          recall:
            $ref: '#/definitions/RelationshipRecalls'
          recall_reversal:
            $ref: '#/definitions/RelationshipRecallReversals'
        type: object
      type:
        description: Name of the resource type
        example: recall_reversal_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallReversalAdmissionAttributes:
    properties:
      scheme_status_code:
        description: Scheme-specific status code
        example: '0'
        type: string
      source_gateway:
        type: string
    type: object
    x-access:
    - Public
  RecallReversalAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/RecallReversalAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallReversalAdmissionFetch:
    properties:
      attributes:
        $ref: '#/definitions/RecallReversalAdmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          payment:
            $ref: '#/definitions/RelationshipLinks'
          recall:
            $ref: '#/definitions/RelationshipLinks'
          recall_reversal:
            $ref: '#/definitions/RelationshipLinks'
        type: object
      type:
        description: Name of the resource type
        example: recall_reversal_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallReversalAdmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/RecallReversalAdmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallReversalDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/RecallReversal'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallStatus:
    description: The status of the recall, can either be `pending`, `confirmed`, or
      `failed`.
    enum:
    - confirmed
    - failed
    - pending
    example: confirmed
    type: string
    x-access:
    - Public
    x-parent: data.attributes
  RecallSubmission:
    properties:
      attributes:
        $ref: '#/definitions/RecallSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallSubmissionRelationships'
      type:
        description: Name of the resource type
        example: recall_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallSubmissionAttributes:
    properties:
      reference_id:
        description: Additional payment reference assigned by the scheme
        type: string
      scheme_status_code:
        description: Scheme-specific status code. Refer to scheme documentation where
          available.
        example: RR04
        type: string
      status:
        $ref: '#/definitions/RecallSubmissionStatus'
      status_reason:
        description: Reason for submission failure if submission status is `delivery_failed`
        example: Gateway failure
        type: string
      submission_datetime:
        description: Date and time of the submission
        example: '2018-03-12T14:11:48.055Z'
        format: date-time
        readOnly: true
        type: string
        x-nullable: true
    type: object
    x-access:
    - Public
  RecallSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/NewRecallSubmission'
    type: object
    x-access:
    - Public
  RecallSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/RecallSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/RecallSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallSubmissionFetch:
    properties:
      attributes:
        $ref: '#/definitions/RecallSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/RecallSubmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: recall_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  RecallSubmissionFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      recall:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  RecallSubmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/RecallSubmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  RecallSubmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      recall:
        $ref: '#/definitions/RelationshipRecalls'
    type: object
    x-access:
    - Public
  RecallSubmissionStatus:
    description: '[Status](http://draft-api-docs.form3.tech/api.html#enumerations-payment-status-codes-payment-submission-status)
      of the submission'
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    example: accepted
    type: string
    x-access:
    - Public
  RecallSubmissionUpdate:
    properties:
      attributes:
        properties:
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          scheme_status_code:
            description: Scheme-specific status code. Refer to scheme documentation
              where available.
            example: RR04
            type: string
          status:
            $ref: '#/definitions/RecallSubmissionStatus'
          status_reason:
            description: Reason for submission failure if submission status is `delivery_failed`
            example: Gateway failure
            type: string
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: recall_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReceiversCorrespondentAccountHoldingEntity:
    properties:
      bank_address:
        description: Receiver's correspondent's address
        example:
        - L13 1NW
        - Liverpool Customer Service Centre
        - Stevenson Way
        - Wavertree
        items:
          type: string
        type: array
        x-length: 140
        x-omitempty: true
      bank_id:
        description: SWIFT BIC for receiver's correspondent
        example: '333333'
        type: string
        x-length: 11
      bank_id_code:
        description: The type of identification provided at `bank_id` attribute. Must
          be ISO code as listed in the [External Code Sets spreadsheet](https://www.iso20022.org/external_code_list.page)
        type: string
        x-length: 5
      bank_name:
        description: Receiver's correspondent's name
        example: XYZ BANK PLC
        type: string
        x-length: 35
      bank_party_id:
        description: Receiver's correspondent party identifier
        example: //AT12345
        type: string
        x-length: 37
    type: object
    x-access:
    - Public
  Reference:
    description: Payment reference. Defined by a pair of reference type and reference
      value
    properties:
      type:
        description: Name of the reference type
        example: UETR
        maxLength: 45
        minLength: 1
        type: string
      value:
        description: Value of the provided reference type
        maxLength: 45
        minLength: 1
        type: string
    required:
    - type
    - value
    type: object
    x-access:
    - Public
  ReferenceMask:
    description: Account number of the account. A unique number will automatically
      be generated if not provided.
    example: '41426819'
    type: string
    x-access:
    - Public
  ReimbursementAccountHoldingEntity:
    properties:
      bank_address:
        description: Third party reimbursement institution address
        example:
        - L13 1NW
        - Liverpool Customer Service Centre
        - Stevenson Way
        - Wavertree
        items:
          type: string
        type: array
        x-omitempty: true
      bank_id:
        description: Identification of third party reimbursement institution
        example: '333333'
        type: string
        x-length: 11
      bank_id_code:
        description: The type of identification provided at `bank_id` attribute. Must
          be ISO code as listed in the [External Code Sets spreadsheet](https://www.iso20022.org/external_code_list.page)
        type: string
        x-length: 5
      bank_name:
        description: Third party reimbursement institution name
        example: NATIONAL WESTMINSTER BANK PLC
        type: string
        x-length: 35
      bank_party_id:
        description: Third party reimbursement institution identifier
        example: //AT12345
        type: string
        x-length: 37
    type: object
    x-access:
    - Public
  RelationshipAccount:
    properties:
      data:
        items:
          $ref: '#/definitions/Account'
        type: array
    type: object
    x-access:
    - Public
  RelationshipAdvices:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentAdvice'
        type: array
    type: object
    x-access:
    - Public
  RelationshipBranch:
    properties:
      data:
        items:
          $ref: '#/definitions/Branch'
        type: array
    type: object
    x-access:
    - Public
  RelationshipData:
    properties:
      id:
        description: ID of the referenced resource
        format: uuid
        type: string
      type:
        description: Name of the referenced resource type
        type: string
    type: object
    x-access:
    - Public
  RelationshipLinks:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipData'
        type: array
    type: object
    x-access:
    - Public
  RelationshipPaymentAdmissionBeneficiaryAccount:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentAdmissionBeneficiaryAccount'
        type: array
    type: object
    x-access:
    - Public
  RelationshipPaymentAdmissionBeneficiaryBranch:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentAdmissionBeneficiaryBranch'
        type: array
    type: object
    x-access:
    - Public
  RelationshipPaymentAdmissionTask:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentAdmissionTask'
        type: array
    type: object
    x-access:
    - Public
  RelationshipPaymentAdmissionTasks:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentAdmissionTask'
        type: array
    type: object
    x-access:
    - Public
  RelationshipPaymentAdmissions:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentAdmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipPaymentSubmissionTasks:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentSubmissionTask'
        type: array
    type: object
    x-access:
    - Public
  RelationshipPaymentSubmissions:
    properties:
      data:
        items:
          $ref: '#/definitions/PaymentSubmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipPayments:
    properties:
      data:
        items:
          $ref: '#/definitions/Payment'
        type: array
    type: object
    x-access:
    - Public
  RelationshipQueryResponseAdmission:
    properties:
      data:
        items:
          $ref: '#/definitions/QueryResponseAdmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipQueryResponseSubmission:
    properties:
      data:
        items:
          $ref: '#/definitions/QueryResponseSubmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipQuerySubmission:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipsQuerySubmissionProperties'
        type: array
    type: object
    x-access:
    - Public
  RelationshipRecallAdmissions:
    properties:
      data:
        items:
          $ref: '#/definitions/RecallAdmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipRecallDecisionSubmissions:
    properties:
      data:
        items:
          $ref: '#/definitions/RecallDecisionSubmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipRecallDecisions:
    properties:
      data:
        items:
          $ref: '#/definitions/RecallDecision'
        type: array
    type: object
    x-access:
    - Public
  RelationshipRecallReversals:
    properties:
      data:
        items:
          $ref: '#/definitions/RecallReversal'
        type: array
    type: object
    x-access:
    - Public
  RelationshipRecallSubmissions:
    properties:
      data:
        items:
          $ref: '#/definitions/RecallSubmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipRecalls:
    properties:
      data:
        items:
          $ref: '#/definitions/Recall'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturnAdmissionBeneficiaryAccount:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnAdmissionBeneficiaryAccount'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturnAdmissionBeneficiaryBranch:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnAdmissionBeneficiaryBranch'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturnAdmissionTasks:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnAdmissionTask'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturnAdmissions:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnAdmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturnReversals:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnReversal'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturnSubmissionTasks:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnSubmissionTask'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturnSubmissions:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnSubmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturnSubmissionsFetch:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnSubmissionFetch'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReturns:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnPayment'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReversalAdmissionTasks:
    properties:
      data:
        items:
          $ref: '#/definitions/ReversalAdmissionTask'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReversalAdmissions:
    properties:
      data:
        items:
          $ref: '#/definitions/ReversalAdmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReversalAdmissionsFetch:
    properties:
      data:
        items:
          $ref: '#/definitions/ReversalAdmissionFetch'
        type: array
    type: object
    x-access:
    - Public
  RelationshipReversals:
    properties:
      data:
        items:
          $ref: '#/definitions/ReversalPayment'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsFullQuery:
    properties:
      data:
        items:
          $ref: '#/definitions/Query'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsFullQueryResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/QueryResponse'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsPayment:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipsPaymentProperties'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsPaymentAdmission:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipsPaymentAdmissionProperties'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsPaymentAdmissionProperties:
    properties:
      id:
        description: The payment admission associated with this query
        format: uuid
        type: string
      type:
        $ref: '#/definitions/PaymentAdmissionResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsPaymentProperties:
    properties:
      id:
        description: The payment associated with this query
        format: uuid
        type: string
      type:
        $ref: '#/definitions/PaymentResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsPaymentRecall:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipsPaymentRecallProperties'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsPaymentRecallProperties:
    properties:
      id:
        description: The payment recall associated with this query
        format: uuid
        type: string
      type:
        $ref: '#/definitions/PaymentRecallResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsPaymentRecallSubmission:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipsPaymentRecallSubmissionProperties'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsPaymentRecallSubmissionProperties:
    properties:
      id:
        description: The payment recall submission associated with this query
        format: uuid
        type: string
      type:
        $ref: '#/definitions/PaymentRecallSubmissionResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsPaymentSubmission:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipsPaymentSubmissionProperties'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsPaymentSubmissionProperties:
    properties:
      id:
        description: The payment submission associated with this query
        format: uuid
        type: string
      type:
        $ref: '#/definitions/PaymentSubmissionResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsQuery:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipsQueryProperties'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsQueryAdmission:
    properties:
      data:
        items:
          $ref: '#/definitions/QueryAdmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsQueryAdmissionProperties:
    properties:
      id:
        description: The query admission associated with this query
        format: uuid
        type: string
      type:
        $ref: '#/definitions/QueryAdmissionResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsQueryProperties:
    properties:
      id:
        description: The query for this admission
        format: uuid
        type: string
      type:
        $ref: '#/definitions/QueryResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsQueryResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/RelationshipsQueryResponseProperties'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsQueryResponseAdmissionProperties:
    properties:
      id:
        description: The response admission for this query
        format: uuid
        type: string
      type:
        $ref: '#/definitions/QueryResponseAdmissionResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsQueryResponseProperties:
    properties:
      id:
        description: The Query Response ID
        format: uuid
        type: string
      type:
        $ref: '#/definitions/QueryResponseResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  RelationshipsQuerySubmission:
    properties:
      data:
        items:
          $ref: '#/definitions/QuerySubmission'
        type: array
    type: object
    x-access:
    - Public
  RelationshipsQuerySubmissionProperties:
    properties:
      id:
        description: The query submission associated with this query
        format: uuid
        type: string
      type:
        $ref: '#/definitions/QuerySubmissionResourceType'
    required:
    - id
    - type
    type: object
    x-access:
    - Public
  Report:
    properties:
      attributes:
        $ref: '#/definitions/ReportAttributes'
      created_on:
        format: date-time
        readOnly: true
        type: string
      id:
        format: uuid
        type: string
        x-nullable: false
      modified_on:
        format: date-time
        readOnly: true
        type: string
      organisation_id:
        format: uuid
        type: string
        x-nullable: false
      relationships:
        $ref: '#/definitions/ReportRelationships'
      type:
        enum:
        - reports
        type: string
        x-nullable: false
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReportAdmission:
    properties:
      attributes:
        $ref: '#/definitions/ReportAdmissionAttributes'
      created_on:
        format: date-time
        readOnly: true
        type: string
      id:
        format: uuid
        type: string
        x-nullable: false
      modified_on:
        format: date-time
        readOnly: true
        type: string
      organisation_id:
        format: uuid
        type: string
        x-nullable: false
      relationships:
        $ref: '#/definitions/ReportAdmissionRelationships'
      type:
        enum:
        - report_admissions
        type: string
        x-nullable: false
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReportAdmissionAttributes:
    properties:
      admission_datetime:
        format: date-time
        type: string
      scheme_status_code:
        type: string
      scheme_status_code_description:
        type: string
      status:
        $ref: '#/definitions/ReportAdmissionStatus'
    type: object
    x-access:
    - Public
  ReportAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReportAdmission'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  ReportAdmissionRelationships:
    properties:
      report:
        properties:
          data:
            items:
              $ref: '#/definitions/Report'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ReportAdmissionStatus:
    enum:
    - confirmed
    - delivery_confirmed
    - failed
    type: string
    x-access:
    - Public
  ReportAttributes:
    properties:
      formats:
        items:
          type: string
        readOnly: true
        type: array
      generation_time:
        format: date-time
        type: string
      processing_date:
        format: date
        type: string
        x-nullable: true
      report_source:
        type: string
      report_type:
        description: Type of report.
        type: string
      report_type_description:
        type: string
      report_users:
        $ref: '#/definitions/ReportUsers'
    type: object
    x-access:
    - Public
  ReportDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Report'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  ReportDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Report'
      links:
        $ref: '#/definitions/ReportLinks'
    required:
    - data
    type: object
    x-access:
    - Public
  ReportLink:
    properties:
      href:
        format: uri
        type: string
      meta:
        properties:
          content-type:
            type: string
        type: object
    required:
    - href
    type: object
    x-access:
    - Public
    x-nullable: false
  ReportLinks:
    additionalProperties:
      $ref: '#/definitions/ReportLink'
    properties:
      self:
        $ref: '#/definitions/ReportLink'
    required:
    - self
    type: object
    x-access:
    - Public
  ReportRelationships:
    properties:
      report_admission:
        properties:
          data:
            items:
              $ref: '#/definitions/ReportAdmission'
            type: array
        type: object
      report_request:
        properties:
          data:
            items:
              $ref: '#/definitions/ReportRequest'
            type: array
        type: object
      transaction_file:
        $ref: '#/definitions/ThinRelationship'
    type: object
    x-access:
    - Public
  ReportRequest:
    properties:
      attributes:
        $ref: '#/definitions/ReportRequestAttributes'
      created_on:
        format: date-time
        readOnly: true
        type: string
      id:
        format: uuid
        type: string
        x-nullable: false
      modified_on:
        format: date-time
        readOnly: true
        type: string
      organisation_id:
        format: uuid
        type: string
        x-nullable: false
      relationships:
        $ref: '#/definitions/ReportRequestRelationships'
      type:
        enum:
        - report_requests
        type: string
        x-nullable: false
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReportRequestAttributes:
    properties:
      filter:
        $ref: '#/definitions/ReportRequestFilter'
      payment_scheme:
        type: string
        x-nullable: false
      report_type:
        type: string
        x-nullable: false
      status:
        $ref: '#/definitions/ReportRequestStatus'
        x-nullable: false
    required:
    - filter
    - payment_scheme
    - report_type
    - status
    type: object
    x-access:
    - Public
  ReportRequestCreation:
    properties:
      data:
        $ref: '#/definitions/NewReportRequest'
    required:
    - data
    type: object
    x-access:
    - Public
  ReportRequestDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/ReportRequest'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  ReportRequestDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReportRequest'
      links:
        $ref: '#/definitions/ReportRequestLinks'
    required:
    - data
    type: object
    x-access:
    - Public
  ReportRequestFilter:
    properties:
      date_from:
        format: date
        type: string
        x-nullable: true
      date_to:
        format: date
        type: string
        x-nullable: true
      report_users:
        items:
          $ref: '#/definitions/ReportUser'
        type: array
        x-nullable: false
    required:
    - report_users
    type: object
    x-access:
    - Public
  ReportRequestLink:
    properties:
      href:
        format: uri
        type: string
      meta:
        properties:
          content-type:
            type: string
        type: object
    required:
    - href
    type: object
    x-access:
    - Public
    x-nullable: false
  ReportRequestLinks:
    additionalProperties:
      $ref: '#/definitions/ReportRequestLink'
    properties:
      self:
        $ref: '#/definitions/ReportRequestLink'
    required:
    - self
    type: object
    x-access:
    - Public
  ReportRequestRelationships:
    properties:
      report:
        properties:
          data:
            items:
              $ref: '#/definitions/Report'
            type: array
        type: object
      report_request_submission:
        properties:
          data:
            items:
              $ref: '#/definitions/ReportRequestSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ReportRequestStatus:
    enum:
    - closed
    - pending
    type: string
    x-access:
    - Public
  ReportRequestSubmission:
    properties:
      attributes:
        $ref: '#/definitions/ReportRequestSubmissionAttributes'
      created_on:
        format: date-time
        readOnly: true
        type: string
      id:
        format: uuid
        type: string
        x-nullable: false
      modified_on:
        format: date-time
        readOnly: true
        type: string
      organisation_id:
        format: uuid
        type: string
        x-nullable: false
      relationships:
        $ref: '#/definitions/ReportRequestSubmissionRelationships'
      type:
        enum:
        - report_admissions
        type: string
        x-nullable: false
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    - relationships
    - type
    - version
    type: object
    x-access:
    - Public
  ReportRequestSubmissionAttributes:
    properties:
      scheme_status_code:
        type: string
      status:
        $ref: '#/definitions/ReportRequestSubmissionStatus'
      status_reason:
        type: string
    required:
    - status
    type: object
    x-access:
    - Public
  ReportRequestSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReportRequestSubmission'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    - links
    type: object
    x-access:
    - Public
  ReportRequestSubmissionRelationships:
    properties:
      report_request:
        properties:
          data:
            items:
              $ref: '#/definitions/ReportRequest'
            type: array
        required:
        - data
        type: object
    type: object
    x-access:
    - Public
  ReportRequestSubmissionStatus:
    enum:
    - delivery_confirmed
    - delivery_failed
    - pending
    type: string
    x-access:
    - Public
  ReportRequestUserIdCode:
    enum:
    - Participant
    - RTN
    - SUN
    - SWBIC
    type: string
    x-access:
    - Public
  ReportUser:
    properties:
      user_id:
        description: Identifies a user or organization
        example: '123456'
        type: string
        x-nullable: false
      user_id_code:
        description: Type of identifier for the user or organization
        example: SUN
        type: string
        x-nullable: false
    type: object
    x-access:
    - Public
  ReportUsers:
    description: Users or organisations this report was generated for
    items:
      $ref: '#/definitions/ReportUser'
    type: array
    x-access:
    - Public
  RequestForInformationAgentBankId:
    properties:
      bank_id:
        type: string
      bank_id_code:
        type: string
    type: object
    x-access:
    - Public
  RequestForInformationAgents:
    items:
      properties:
        identification:
          allOf:
          - $ref: '#/definitions/RequestForInformationAgentBankId'
          - properties:
              bank_ids:
                items:
                  $ref: '#/definitions/RequestForInformationAgentBankId'
                type: array
                x-omitempty: true
            type: object
          type: object
        role:
          type: string
      type: object
    type: array
    x-access:
    - Public
  RequestForInformationCreatorParty:
    properties:
      birth_city:
        type: string
      birth_country:
        type: string
      birth_date:
        type: string
      birth_province:
        type: string
      name:
        type: string
      organisation_identification:
        type: string
      organisation_identification_code:
        type: string
      organisation_identification_issuer:
        type: string
      organisation_identifications:
        items:
          properties:
            identification:
              type: string
            identification_code:
              type: string
            identification_issuer:
              type: string
          type: object
        type: array
        x-omitempty: true
      private_identification:
        properties:
          private_identification.code:
            type: string
          private_identification.identification:
            type: string
          private_identification.issuer:
            type: string
        type: object
      telephone_number:
        type: string
    type: object
    x-access:
    - Public
  RequestForInformationQuerySubTypes:
    items:
      type: string
    type: array
    x-access:
    - Public
  RequestForInformationReferences:
    items:
      properties:
        type:
          type: string
        value:
          type: string
      required:
      - type
      - value
      type: object
    type: array
    x-access:
    - Public
  RequestForInformationRequestedInformation:
    items:
      properties:
        additional_information:
          type: string
        code:
          type: string
        type:
          enum:
          - incorrect
          - missing
          type: string
      required:
      - code
      - type
      type: object
    type: array
    x-access:
    - Public
  Requester:
    properties:
      bank_id:
        maxLength: 11
        type: string
      bank_id_code:
        $ref: '#/definitions/BankIDCode'
    required:
    - bank_id
    - bank_id_code
    type: object
    x-access:
    - Public
  ResolutionRelatedInformation:
    properties:
      clearing_channel:
        $ref: '#/definitions/ClearingChannel'
        x-omitempty: true
      references:
        description: Block to represent a list of references
        items:
          $ref: '#/definitions/Reference'
        maxItems: 5
        type: array
        x-omitempty: true
      settlement_date:
        description: Date that the payment will be settled
        example: '2017-07-23'
        format: date
        type: string
        x-nullable: true
    type: object
    x-access:
    - Public
  ResourceSignature:
    description: Structure containing information about cryptographic signature of
      the payment.
    properties:
      key_id:
        description: The key identifier used for signature verification.
        maxLength: 64
        minLength: 1
        type: string
      references:
        description: Reference information associated with the signature.
        items:
          maxLength: 50
          type: string
        maxItems: 10
        type: array
      role:
        description: Indicates who is signing the payment.
        enum:
        - customer
        type: string
      signature:
        description: The cryptographic signature of the payment.
        maxLength: 500
        type: string
    type: object
    x-access:
    - Public
  ResourceType:
    enum:
    - account_configurations
    - account_events
    - account_identifications
    - account_indirects
    - account_routings
    - accounts
    - auto_recall_decision_submissions
    - bank_ids
    - bics
    - branch_identifications
    - branches
    - certificates
    - contact_accounts
    - contacts
    - customer_configurations
    - days
    - direct_account
    - fx_deals
    - gateway_associations
    - keys
    - limits
    - name_verification_admissions
    - name_verification_submissions
    - name_verifications
    - on_us_routes
    - parties
    - party_accounts
    - payment_admission_tasks
    - payment_admissions
    - payment_advice_submission_validations
    - payment_advice_submissions
    - payment_advices
    - payment_automatic_returns
    - payment_batches
    - payment_defaults
    - payment_submission_tasks
    - payment_submission_validations
    - payment_submissions
    - payments
    - positions
    - recall_admission_tasks
    - recall_admissions
    - recall_decision_admission_tasks
    - recall_decision_admissions
    - recall_decision_submission_tasks
    - recall_decision_submission_validations
    - recall_decision_submissions
    - recall_decisions
    - recall_reversal_admissions
    - recall_reversals
    - recall_submission_tasks
    - recall_submission_validations
    - recall_submissions
    - recalls
    - report_admissions
    - report_request_submissions
    - report_requests
    - reports
    - return_admission_tasks
    - return_admissions
    - return_reversal_admissions
    - return_reversals
    - return_submission_tasks
    - return_submission_validations
    - return_submissions
    - returns
    - reversal_admission_tasks
    - reversal_admissions
    - reversal_submission_validations
    - reversal_submissions
    - reversals
    - routes
    - scheme_file_admissions
    - scheme_file_submissions
    - scheme_files
    - scheme_message_admissions
    - scheme_messages
    - subscriptions
    - transaction_file_admissions
    - transaction_file_submissions
    - transaction_files
    - xp_agreements
    - xp_configurations
    type: string
    x-access:
    - Public
  ReturnAdmission:
    properties:
      attributes:
        properties:
          admission_datetime:
            description: Date and time the payment admission was created
            example: '2017-09-28T14:21:46.123+01:00'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          posting_status:
            $ref: '#/definitions/PostingStatus'
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for a return
            enum:
            - on_us
            - xp
            type: string
          scheme_status_code:
            description: Refer to individual scheme where applicable
            example: '1001'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date on which the payment will be settled
            example: '2017-01-14'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/ReturnAdmissionStatus'
          status_reason:
            description: Further explanation of the status. [See here](http://api-docs.form3.tech/api.html#enumerations-payment-admission-status-reasons)
              for possible values.
            example: Account data invalid
            type: string
          unique_scheme_id:
            description: Scheme-specific unique ID (42 character string)
            example: ''
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnAdmissionRelationships'
      type:
        description: Name of the resource type
        example: return_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnAdmissionBeneficiaryAccount:
    properties:
      attributes:
        properties:
          user_defined_data:
            description: All purpose list of key-value pairs specific data stored
              on the associated beneficiary account
            items:
              $ref: '#/definitions/UserDefinedData'
            maxItems: 5
            type: array
        type: object
      id:
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: accounts
        pattern: ^[A-Za-z_]*$
        type: string
    type: object
    x-access:
    - Public
  ReturnAdmissionBeneficiaryBranch:
    properties:
      attributes:
        properties:
          user_defined_data:
            description: All purpose list of key-value pairs specific data stored
              on the associated beneficiary branch
            items:
              $ref: '#/definitions/UserDefinedData'
            maxItems: 5
            type: array
        type: object
      id:
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: branches
        pattern: ^[A-Za-z_]*$
        type: string
    type: object
    x-access:
    - Public
  ReturnAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnAdmissionFetch:
    properties:
      attributes:
        properties:
          admission_datetime:
            description: Date and time the payment admission was created
            example: '2017-09-28T14:21:46.123+01:00'
            format: date-time
            readOnly: true
            type: string
          posting_status:
            $ref: '#/definitions/PostingStatus'
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for a return
            enum:
            - on_us
            - xp
            type: string
          scheme_status_code:
            description: Refer to individual scheme where applicable
            example: '1001'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date on which the payment will be settled
            example: '2017-01-14'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/ReturnAdmissionStatus'
          status_reason:
            description: Further explanation of the status. [See here](http://api-docs.form3.tech/api.html#enumerations-payment-admission-status-reasons)
              for possible values.
            example: Account data invalid
            type: string
          unique_scheme_id:
            description: Scheme-specific unique ID (42 character string)
            example: ''
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnAdmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: return_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnAdmissionFetchRelationships:
    properties:
      beneficiary_account:
        $ref: '#/definitions/RelationshipReturnAdmissionBeneficiaryAccount'
      beneficiary_branch:
        $ref: '#/definitions/RelationshipReturnAdmissionBeneficiaryBranch'
      payment:
        $ref: '#/definitions/RelationshipLinks'
      payment_return:
        $ref: '#/definitions/RelationshipLinks'
      return_admission_task:
        $ref: '#/definitions/RelationshipReturnAdmissionTasks'
      validations:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  ReturnAdmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnAdmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnAdmissionRelationships:
    properties:
      beneficiary_account:
        $ref: '#/definitions/RelationshipReturnAdmissionBeneficiaryAccount'
      beneficiary_branch:
        $ref: '#/definitions/RelationshipReturnAdmissionBeneficiaryBranch'
      payment:
        $ref: '#/definitions/RelationshipPayments'
      payment_return:
        $ref: '#/definitions/RelationshipReturns'
      return_admission_task:
        $ref: '#/definitions/RelationshipReturnAdmissionTasks'
      validations:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  ReturnAdmissionStatus:
    description: '[Status](http://draft-api-docs.form3.tech/api.html#enumerations-payment-admission-status)
      of the return admission'
    enum:
    - confirmed
    - failed
    - pending
    example: confirmed
    type: string
    x-access:
    - Public
  ReturnAdmissionTask:
    properties:
      attributes:
        properties:
          assignee:
            $ref: '#/definitions/ReturnAdmissionTaskAssignee'
          group:
            $ref: '#/definitions/ReturnAdmissionTaskGroup'
          input:
            additionalProperties:
              type: object
            description: Key Value map that contains additional data for executing
              the task.
            example:
              status_reason: blocked
            type: object
          name:
            $ref: '#/definitions/ReturnAdmissionTaskName'
          output:
            additionalProperties:
              type: object
            description: Key Value map that contains the Task result.
            example:
              outcome: passed
            type: object
          status:
            $ref: '#/definitions/ReturnAdmissionTaskStatus'
        type: object
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnAdmissionTaskRelationships'
      type:
        enum:
        - return_admission_tasks
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  ReturnAdmissionTaskAmendment:
    properties:
      data:
        $ref: '#/definitions/ReturnAdmissionTaskUpdate'
    type: object
    x-access:
    - Public
  ReturnAdmissionTaskAssignee:
    description: Helps to identify the owner of the task
    enum:
    - customer
    - form3
    example: form3
    type: string
    x-access:
    - Public
  ReturnAdmissionTaskDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnAdmissionTask'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnAdmissionTaskGroup:
    description: Identifies the task group the task belongs to
    example: accounting
    type: string
    x-access:
    - Public
  ReturnAdmissionTaskName:
    description: Identifies the return admission task to be executed
    example: return_validation
    type: string
    x-access:
    - Public
  ReturnAdmissionTaskRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      payment_return:
        $ref: '#/definitions/RelationshipReturns'
      return_admission:
        $ref: '#/definitions/RelationshipReturnAdmissions'
    type: object
    x-access:
    - Public
  ReturnAdmissionTaskStatus:
    description: status of the return admission task
    enum:
    - completed
    - failed
    - on_hold
    - pending
    example: completed
    type: string
    x-access:
    - Public
  ReturnAdmissionTaskUpdate:
    properties:
      attributes:
        properties:
          name:
            $ref: '#/definitions/ReturnAdmissionTaskName'
          output:
            additionalProperties:
              type: object
            description: Key Value map that contains the Task result.
            example:
              outcome: passed
            type: object
          status:
            $ref: '#/definitions/ReturnAdmissionTaskStatus'
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        enum:
        - return_admission_tasks
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  ReturnCreation:
    properties:
      data:
        $ref: '#/definitions/ReturnPayment'
    type: object
    x-access:
    - Public
  ReturnCreationResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnPayment'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnPayment'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnFetchResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnPaymentFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnPayment:
    properties:
      attributes:
        $ref: '#/definitions/ReturnPaymentAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnPaymentRelationships'
      type:
        description: Name of the resource type
        example: returns
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnPaymentAttributes:
    properties:
      agents:
        description: Block to represent a Financial Institution/agent in the payment
          chain
        items:
          $ref: '#/definitions/Agent'
        type: array
        x-omitempty: true
      amount:
        description: The amount to return which should correspond to the amount of
          the original payment
        example: '200.00'
        pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
        type: string
        x-description-bacs: This is a Bacs description
        x-description-fps: This is an FPS description
        x-description-sepa: This is a SEPA Instant description
        x-description-swift: This is a SWIFT description
        x-length: 20
      clearing_id:
        description: Unique identifier for organisations collecting payments
        type: string
        x-length: 6
      currency:
        description: ISO currency code for transaction amount
        example: GBP
        type: string
      end_to_end_reference:
        description: Unique identification, as assigned by the initiating party, to
          unambiguously identify the transaction. This identification is passed on,
          unchanged, throughout the entire end-to-end chain.
        example: 'PAYMENT REF: 20094'
        type: string
        x-length: 35
      instruction_id:
        description: Unique identification, as assigned by the initiating party to
          unambiguously identify the transaction. This identification is an point-to-point
          reference and is passed on, unchanged, throughout the entire chain. Cannot
          include leading, trailing or internal spaces.
        example: ID1245799
        type: string
        x-length: 35
      limit_breach_end_datetime:
        description: Time a payment was released from being held due to a limit breach
        example: '2018-03-12T14:11:55.055Z'
        format: date-time
        readOnly: true
        type: string
        x-nullable: true
      limit_breach_start_datetime:
        description: Start time a payment was held due to a limit breach
        example: '2018-03-12T14:11:50.055Z'
        format: date-time
        readOnly: true
        type: string
        x-nullable: true
      reason:
        type: string
        x-nullable: true
      return_code:
        description: The return [reason code](http://draft-api-docs.form3.tech/api.html#enumerations-payment-return-codes)
        example: '00000002'
        type: string
      scheme_transaction_id:
        description: A unique reference to the return payment instruction. If not
          supplied, the value is generated by Form3.
        example: e368ab2d
        type: string
      settlement:
        $ref: '#/definitions/Settlement'
      unique_scheme_id:
        description: The scheme-specific unique transaction ID. Populated by the scheme.
        example: L5W48NDWYW7JV9MRO71020180301826040011
        type: string
        x-length: 42
        x-omitempty: true
      user_defined_data:
        description: All purpose list of key-value pairs specific data stored on the
          return.
        items:
          $ref: '#/definitions/UserDefinedData'
        maxItems: 10
        type: array
        x-omitempty: true
    type: object
    x-access:
    - Public
  ReturnPaymentFetch:
    properties:
      attributes:
        $ref: '#/definitions/ReturnPaymentAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnPaymentFetchRelationships'
      type:
        description: Name of the resource type
        example: returns
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnPaymentFetchRelationships:
    properties:
      forwarding_payment:
        properties:
          data:
            description: Array of Outbound Payments created to forward the payment.
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      payment:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the payment resource related to the return
      return_admission:
        properties:
          data:
            description: Array of Return Admission resources related to the return
            items:
              $ref: '#/definitions/ReturnAdmissionFetch'
            type: array
        type: object
      return_reversal:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the return reversal resource related to the return
      return_submission:
        properties:
          data:
            description: Array of Return Submission resources related to the return
            items:
              $ref: '#/definitions/ReturnSubmissionFetch'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ReturnPaymentRelationships:
    properties:
      forwarding_payment:
        properties:
          data:
            description: Array of Outbound Payments created to forward the payment.
            items:
              $ref: '#/definitions/RelationshipData'
            type: array
        type: object
      payment:
        $ref: '#/definitions/RelationshipPayments'
        description: ID of the payment resource related to the return
      return_admission:
        properties:
          data:
            description: Array of Return Admission resources related to the return
            items:
              $ref: '#/definitions/ReturnAdmission'
            type: array
        type: object
      return_reversal:
        $ref: '#/definitions/RelationshipLinks'
        description: ID of the return reversal resource related to the return
      return_submission:
        properties:
          data:
            description: Array of Return Submission resources related to the return
            items:
              $ref: '#/definitions/ReturnSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  ReturnReversal:
    properties:
      attributes:
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          payment:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the payment resource related to the return reversal
          payment_return:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the payment return resource related to the return reversal
          return_reversal_admission:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the return reversal admission resource related to the
              return reversal
        type: object
      type:
        description: Name of the resource type
        example: return_reversals
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnReversalAdmission:
    properties:
      attributes:
        properties:
          scheme_status_code:
            description: Scheme-specific status code. Refer to individual scheme where
              applicable
            example: '0'
            type: string
          scheme_status_code_description:
            description: '[Description](http://draft-api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of scheme_status_code'
            example: Field 1 (destination sorting code) was invalid
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnReversalAdmissionRelationships'
      type:
        description: Name of the resource type
        example: return_reversal_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnReversalAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnReversalAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnReversalAdmissionFetch:
    properties:
      attributes:
        properties:
          scheme_status_code:
            description: Scheme-specific status code. Refer to individual scheme where
              applicable
            example: '0'
            type: string
          scheme_status_code_description:
            description: '[Description](https://draft-api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of scheme_status_code'
            example: Field 1 (destination sorting code) was invalid
            type: string
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnReversalAdmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: return_reversal_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnReversalAdmissionFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      payment_return:
        $ref: '#/definitions/RelationshipLinks'
      payment_return_reversal:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  ReturnReversalAdmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnReversalAdmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnReversalAdmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      payment_return:
        $ref: '#/definitions/RelationshipReturns'
      payment_return_reversal:
        $ref: '#/definitions/RelationshipReturnReversals'
    type: object
    x-access:
    - Public
  ReturnReversalCreation:
    properties:
      data:
        $ref: '#/definitions/ReturnReversal'
    type: object
    x-access:
    - Public
  ReturnReversalCreationResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnReversal'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnReversalDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnReversal'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnSubmission:
    properties:
      attributes:
        properties:
          auto:
            default: false
            description: Indicates if the submission was created automatically by
              the system (true) or manually (false)
            type: boolean
            x-nullable: true
          file_identifier:
            description: Identification code of the file sent to scheme.
            example: '123456'
            pattern: ^[0-9a-zA-Z]+$
            type: string
            x-nullable: true
          file_number:
            description: Number of the file sent to scheme.
            example: '001'
            pattern: ^[0-9]+$
            type: string
            x-nullable: true
          limit_breach_end_datetime:
            description: Time a payment was released from being held due to a limit
              breach
            example: '2018-03-12T14:11:55.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          limit_breach_start_datetime:
            description: Start time a payment was held due to a limit breach
            example: '2018-03-12T14:11:50.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          posting_status:
            $ref: '#/definitions/PostingStatus'
          redirected_account_number:
            description: Details of the account to which funds are redirected (if
              applicable)
            example: '12345678'
            type: string
          redirected_bank_id:
            description: Details of the bank to which funds are redirected (if applicable)
            example: '400300'
            type: string
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for a return
            enum:
            - on_us
            - xp
            type: string
          scheme_status_code:
            description: Scheme-specific status (if submission has been submitted
              to a scheme)
            example: '0000'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date that the payment will be settled
            example: '2017-07-23'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/ReturnSubmissionStatus'
          status_reason:
            description: Description of the submission status
            example: Accepted without qualification
            type: string
          submission_datetime:
            description: Time of the submission
            example: '2018-03-12T14:11:48.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          transaction_start_datetime:
            description: Time the request was received by Form3. Used to compute the
              total transaction time of a payment.
            example: '2018-03-12T14:11:49.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnSubmissionRelationships'
      type:
        description: Name of the resource type
        example: return_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/NewReturnSubmission'
    type: object
    x-access:
    - Public
  ReturnSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnSubmissionFetch:
    properties:
      attributes:
        properties:
          auto:
            default: false
            description: Indicates if the submission was created automatically by
              the system (true) or manually (false)
            type: boolean
            x-nullable: true
          file_identifier:
            description: Identification code of the file sent to scheme.
            example: '123456'
            pattern: ^[0-9a-zA-Z]+$
            type: string
            x-nullable: true
          file_number:
            description: Number of the file sent to scheme.
            example: '001'
            pattern: ^[0-9]+$
            type: string
            x-nullable: true
          limit_breach_end_datetime:
            description: Time a payment was released from being held due to a limit
              breach
            example: '2018-03-12T14:11:55.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          limit_breach_start_datetime:
            description: Start time a payment was held due to a limit breach
            example: '2018-03-12T14:11:50.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          posting_status:
            $ref: '#/definitions/PostingStatus'
          redirected_account_number:
            description: Details of the account to which funds are redirected (if
              applicable)
            example: '12345678'
            type: string
          redirected_bank_id:
            description: Details of the bank to which funds are redirected (if applicable)
            example: '400300'
            type: string
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for a return
            enum:
            - on_us
            - xp
            type: string
          scheme_status_code:
            description: Scheme-specific status (if submission has been submitted
              to a scheme)
            example: '0000'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date that the payment will be settled
            example: '2017-07-23'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/ReturnSubmissionStatus'
          status_reason:
            description: Description of the submission status
            example: Accepted without qualification
            type: string
          submission_datetime:
            description: Time of the submission
            example: '2018-03-12T14:11:48.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
          transaction_start_datetime:
            description: Time the request was received by Form3. Used to compute the
              total transaction time of a payment.
            example: '2018-03-12T14:11:49.055Z'
            format: date-time
            readOnly: true
            type: string
            x-nullable: true
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnSubmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: return_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReturnSubmissionFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      payment_return:
        $ref: '#/definitions/RelationshipLinks'
      return_submission_task:
        $ref: '#/definitions/RelationshipReturnSubmissionTasks'
      validations:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  ReturnSubmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnSubmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnSubmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      payment_return:
        $ref: '#/definitions/RelationshipReturns'
      return_submission_task:
        $ref: '#/definitions/RelationshipReturnSubmissionTasks'
      validations:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  ReturnSubmissionStatus:
    description: '[Status](http://draft-api-docs.form3.tech/api.html#enumerations-payment-submission-status)
      of the submission'
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - limit_check_failed
    - limit_check_passed
    - limit_check_pending
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_pending
    example: accepted
    type: string
    x-access:
    - Public
  ReturnSubmissionTask:
    properties:
      attributes:
        $ref: '#/definitions/ReturnSubmissionTaskAttributes'
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnSubmissionTaskRelationships'
      type:
        enum:
        - return_submission_tasks
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  ReturnSubmissionTaskAssignee:
    description: Helps to identify the owner of the task
    enum:
    - customer
    - form3
    example: form3
    type: string
    x-access:
    - Public
  ReturnSubmissionTaskAttributes:
    properties:
      assignee:
        $ref: '#/definitions/ReturnSubmissionTaskAssignee'
      group:
        description: Identifies the task group the task belongs to
        example: accounting
        type: string
      input:
        additionalProperties:
          type: object
        description: Key Value map that contains additional data for executing the
          task.
        example:
          status_reason: blocked
        type: object
      name:
        description: Identifies the return submission task to be executed
        example: return_validation
        type: string
      output:
        additionalProperties:
          type: object
        description: Key Value map that contains the Task result.
        example:
          outcome: passed
        type: object
      status:
        $ref: '#/definitions/ReturnSubmissionTaskStatus'
    type: object
    x-access:
    - Public
  ReturnSubmissionTaskFetch:
    properties:
      attributes:
        $ref: '#/definitions/ReturnSubmissionTaskAttributes'
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnSubmissionTaskFetchRelationships'
      type:
        enum:
        - return_submission_tasks
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  ReturnSubmissionTaskFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      payment_return:
        $ref: '#/definitions/RelationshipLinks'
      return_submission:
        $ref: '#/definitions/RelationshipReturnSubmissionsFetch'
    type: object
    x-access:
    - Public
  ReturnSubmissionTaskFetchResponse:
    properties:
      data:
        $ref: '#/definitions/ReturnSubmissionTaskFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnSubmissionTaskGroup:
    description: Identifies the task group the task belongs to
    example: accounting
    type: string
    x-access:
    - Public
  ReturnSubmissionTaskListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/ReturnSubmissionTask'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReturnSubmissionTaskRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      payment_return:
        $ref: '#/definitions/RelationshipReturns'
      return_submission:
        $ref: '#/definitions/RelationshipReturnSubmissions'
    type: object
    x-access:
    - Public
  ReturnSubmissionTaskStatus:
    description: status of the return submission task
    enum:
    - completed
    - failed
    - on_hold
    - pending
    example: completed
    type: string
    x-access:
    - Public
  ReturnSubmissionUpdate:
    properties:
      attributes:
        properties:
          posting_status:
            $ref: '#/definitions/PostingStatus'
          redirected_account_number:
            description: Details of the account to which funds are redirected (if
              applicable)
            example: '12345678'
            type: string
          redirected_bank_id:
            description: Details of the bank to which funds are redirected (if applicable)
            example: '400300'
            type: string
          reference_id:
            description: Additional payment reference assigned by the scheme
            type: string
          route:
            description: Route taken for a return
            enum:
            - on_us
            - xp
            type: string
          scheme_status_code:
            description: Scheme-specific status (if submission has been submitted
              to a scheme)
            example: '0000'
            type: string
          scheme_status_code_description:
            description: '[Description](http://api-docs.form3.tech/api.html#enumerations-scheme-status-codes-for-bacs)
              of `scheme_status_code`'
            example: Field 1 (destination sorting code) was invalid
            type: string
          settlement_cycle:
            description: Cycle in which the payment will be settled
            example: 1
            minimum: 0
            type: integer
          settlement_date:
            description: Date that the payment will be settled
            example: '2017-07-23'
            format: date
            type: string
            x-nullable: true
          status:
            $ref: '#/definitions/ReturnSubmissionStatus'
          status_reason:
            description: Description of the submission status
            example: Accepted without qualification
            type: string
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReturnSubmissionUpdateRelationships'
      type:
        description: Name of the resource type
        example: return_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    - version
    type: object
    x-access:
    - Public
  ReturnSubmissionUpdateRelationships:
    properties:
      return_submission_tasks:
        items:
          $ref: '#/definitions/ReturnSubmissionTask'
        type: array
    type: object
    x-access:
    - Public
  ReversalAdmission:
    properties:
      attributes:
        properties:
          scheme_status_code:
            description: Scheme-specific status code. Refer to scheme documentation
              where available.
            example: '0'
            type: string
          scheme_status_code_description:
            description: Description of `scheme_status_code`
            example: Field 1 (destination sorting code) was invalid
            type: string
          source_gateway:
            type: string
          status:
            $ref: '#/definitions/ReversalAdmissionStatus'
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          payment:
            $ref: '#/definitions/RelationshipPayments'
          reversal:
            $ref: '#/definitions/RelationshipReversals'
          reversal_admission_task:
            $ref: '#/definitions/RelationshipReversalAdmissionTasks'
        type: object
      type:
        description: Name of the resource type
        example: reversal_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReversalAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalAdmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalAdmissionFetch:
    properties:
      attributes:
        properties:
          scheme_status_code:
            description: Scheme-specific status code. Refer to scheme documentation
              where available.
            example: '0'
            type: string
          scheme_status_code_description:
            description: Description of `scheme_status_code`
            example: Field 1 (destination sorting code) was invalid
            type: string
          source_gateway:
            type: string
          status:
            $ref: '#/definitions/ReversalAdmissionStatus'
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          payment:
            $ref: '#/definitions/RelationshipLinks'
          reversal:
            $ref: '#/definitions/RelationshipLinks'
          reversal_admission_task:
            $ref: '#/definitions/RelationshipReversalAdmissionTasks'
        type: object
      type:
        description: Name of the resource type
        example: reversal_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReversalAdmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalAdmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalAdmissionStatus:
    description: '[Status](http://draft-api-docs.form3.tech/api.html#enumerations-payment-admission-status)
      of the reversal admission'
    enum:
    - confirmed
    - pending
    example: confirmed
    type: string
    x-access:
    - Public
  ReversalAdmissionTask:
    properties:
      attributes:
        $ref: '#/definitions/ReversalAdmissionTaskAttributes'
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReversalAdmissionTaskRelationships'
      type:
        description: Name of the resource type
        example: reversal_admission_tasks
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskAmendment:
    properties:
      data:
        $ref: '#/definitions/ReversalAdmissionTaskUpdate'
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskAssignee:
    description: Helps to identify the owner of the task
    enum:
    - customer
    - form3
    example: form3
    type: string
    x-access:
    - Public
  ReversalAdmissionTaskAttributes:
    properties:
      assignee:
        $ref: '#/definitions/ReversalAdmissionTaskAssignee'
      group:
        description: Identifies the task group the task belongs to
        example: accounting
        type: string
      name:
        description: Identifies the reversal admission task to be executed
        example: account_check
        type: string
      output:
        additionalProperties:
          type: object
        description: Key Value map that contains the Task result.
        example:
          outcome: passed
        type: object
      status:
        $ref: '#/definitions/ReversalAdmissionTaskStatus'
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalAdmissionTask'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskFetch:
    properties:
      attributes:
        $ref: '#/definitions/ReversalAdmissionTaskAttributes'
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      id:
        format: uuid
        type: string
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReversalAdmissionTaskFetchRelationships'
      type:
        description: Name of the resource type
        example: reversal_admission_tasks
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      reversal:
        $ref: '#/definitions/RelationshipLinks'
      reversal_admission:
        $ref: '#/definitions/RelationshipReversalAdmissionsFetch'
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskFetchResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalAdmissionTaskFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskGroup:
    description: Identifies the task group the task belongs to
    example: accounting
    type: string
    x-access:
    - Public
  ReversalAdmissionTaskListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/ReversalAdmissionTask'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskName:
    description: Identifies the reversal admission task to be executed
    example: account_check
    type: string
    x-access:
    - Public
  ReversalAdmissionTaskRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      reversal:
        $ref: '#/definitions/RelationshipReversals'
      reversal_admission:
        $ref: '#/definitions/RelationshipReversalAdmissions'
    type: object
    x-access:
    - Public
  ReversalAdmissionTaskStatus:
    description: status of the task
    enum:
    - completed
    - failed
    - on_hold
    - pending
    example: completed
    type: string
    x-access:
    - Public
  ReversalAdmissionTaskUpdate:
    properties:
      attributes:
        properties:
          output:
            additionalProperties: true
            description: Key Value map that contains the Task result.
            example:
              outcome: passed
            type: object
          status:
            $ref: '#/definitions/ReversalAdmissionTaskStatus'
        type: object
      id:
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        enum:
        - reversal_admission_tasks
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  ReversalAdmissionUpdate:
    properties:
      attributes:
        properties:
          scheme_status_code:
            description: Scheme-specific status code. Refer to scheme documentation
              where available.
            example: '0'
            type: string
          scheme_status_code_description:
            description: Description of `scheme_status_code`
            example: Field 1 (destination sorting code) was invalid
            type: string
          source_gateway:
            type: string
          status:
            $ref: '#/definitions/ReversalAdmissionStatus'
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReversalAdmissionUpdateRelationships'
      type:
        description: Name of the resource type
        example: reversal_admissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    - version
    type: object
    x-access:
    - Public
  ReversalAdmissionUpdateRelationships:
    properties:
      reversal_admission_tasks:
        items:
          $ref: '#/definitions/ReversalAdmissionTask'
        type: array
    type: object
    x-access:
    - Public
  ReversalCreation:
    properties:
      data:
        $ref: '#/definitions/ReversalPayment'
    type: object
    x-access:
    - Public
  ReversalCreationResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalPayment'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalPayment'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalPayment:
    properties:
      attributes:
        properties:
          user_defined_data:
            description: All purpose list of key-value pairs.
            items:
              $ref: '#/definitions/UserDefinedData'
            maxItems: 5
            type: array
            x-omitempty: true
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          payment:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the payment resource related to the reversal
          reversal_admission:
            properties:
              data:
                description: Array of Reversal Admission resources related to the
                  reversal
                items:
                  $ref: '#/definitions/ReversalAdmission'
                type: array
            type: object
          reversal_submission:
            properties:
              data:
                description: Array of Reversal Submission resources related to the
                  reversal
                items:
                  $ref: '#/definitions/ReversalSubmission'
                type: array
            type: object
        type: object
      type:
        description: Name of the resource type
        example: reversals
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReversalPaymentUpdate:
    properties:
      attributes:
        properties:
          user_defined_data:
            description: All purpose list of key-value pairs.
            items:
              $ref: '#/definitions/UserDefinedData'
            maxItems: 5
            type: array
            x-omitempty: true
        type: object
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        properties:
          payment:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the payment resource related to the reversal
          reversal_admission:
            properties:
              data:
                description: Array of Reversal Admission resources related to the
                  reversal
                items:
                  $ref: '#/definitions/ReversalAdmission'
                type: array
            type: object
          reversal_submission:
            $ref: '#/definitions/RelationshipLinks'
            description: ID of the reversal submission resource related to the reversal
        type: object
      type:
        description: Name of the resource type
        example: reversals
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    - version
    type: object
    x-access:
    - Public
  ReversalSubmission:
    properties:
      attributes:
        $ref: '#/definitions/ReversalSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReversalSubmissionRelationships'
      type:
        description: Name of the resource type
        example: reversal_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReversalSubmissionAttributes:
    properties:
      scheme_status_code:
        description: Scheme-specific status code, refer to scheme documentation
        example: E
        type: string
      scheme_status_code_description:
        description: Description of `scheme_status_code`
        example: Field 1 (destination sorting code) was invalid
        type: string
      status:
        $ref: '#/definitions/ReversalSubmissionStatus'
      status_reason:
        description: Description of the reversal submission status
        example: Accepted without qualification
        type: string
      submission_datetime:
        description: Date of the reversal submission
        example: '2018-05-09T10:49:13.470Z'
        format: date-time
        readOnly: true
        type: string
      transaction_start_datetime:
        description: Time the request was received by Form3. Used to compute the total
          transaction time of a payment.
        example: '2018-05-09T10:49:13.447Z'
        format: date-time
        readOnly: true
        type: string
    type: object
    x-access:
    - Public
  ReversalSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/NewReversalSubmission'
    type: object
    x-access:
    - Public
  ReversalSubmissionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalSubmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalSubmission'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalSubmissionFetch:
    properties:
      attributes:
        $ref: '#/definitions/ReversalSubmissionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      relationships:
        $ref: '#/definitions/ReversalSubmissionFetchRelationships'
      type:
        description: Name of the resource type
        example: reversal_submissions
        pattern: ^[A-Za-z_]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  ReversalSubmissionFetchRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipLinks'
      reversal:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  ReversalSubmissionFetchResponse:
    properties:
      data:
        $ref: '#/definitions/ReversalSubmissionFetch'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  ReversalSubmissionRelationships:
    properties:
      payment:
        $ref: '#/definitions/RelationshipPayments'
      reversal:
        $ref: '#/definitions/RelationshipReversals'
      validations:
        $ref: '#/definitions/RelationshipLinks'
    type: object
    x-access:
    - Public
  ReversalSubmissionStatus:
    description: '[Status of the reversal submission](http://draft-api-docs.form3.tech/api.html#enumerations-reversal-submission-status)'
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - queued_for_delivery
    - released_to_gateway
    - submitted
    - validation_passed
    - validation_pending
    example: accepted
    type: string
    x-access:
    - Public
  Role:
    properties:
      attributes:
        $ref: '#/definitions/RoleAttributes'
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: role
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  RoleAttributes:
    properties:
      name:
        description: Name of the role
        example: Read-only Role
        type: string
      parent_role_id:
        description: Unique resource ID of the parent Role
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
        x-nullable: true
    type: object
    x-access:
    - Public
  RoleCreation:
    properties:
      data:
        $ref: '#/definitions/Role'
    required:
    - data
    type: object
    x-access:
    - Public
  RoleCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Role'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  RoleDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Role'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  RoleDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Role'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  SchemeFile:
    properties:
      attributes:
        $ref: '#/definitions/SchemeFileAttributes'
        x-order: 7
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 1
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 6
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      relationships:
        $ref: '#/definitions/SchemeFileRelationships'
      type:
        enum:
        - scheme_files
        type: string
        x-order: 2
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
        x-order: 4
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  SchemeFileAdmission:
    properties:
      attributes:
        properties:
          admission_datetime:
            description: Time when the Form3 system begins processing of the admission
            example: '2019-03-13T14:48:29.699Z'
            format: date-time
            readOnly: true
            type: string
          start_datetime:
            description: Time the admission request was received by Form3. Used to
              compute the total processing time
            example: '2019-03-13T14:48:29.694Z'
            format: date-time
            readOnly: true
            type: string
          status:
            $ref: '#/definitions/SchemeFileAdmissionStatus'
          status_reason:
            description: Plain-text description of the status attribute
            example: accepted
            readOnly: true
            type: string
        type: object
        x-order: 7
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 1
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 6
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      relationships:
        $ref: '#/definitions/SchemeFileAdmissionRelationships'
        readOnly: true
      type:
        enum:
        - scheme_file_admissions
        type: string
        x-order: 2
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
        x-order: 4
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  SchemeFileAdmissionCreation:
    properties:
      data:
        $ref: '#/definitions/SchemeFileAdmission'
    required:
    - data
    type: object
    x-access:
    - Public
  SchemeFileAdmissionRelationships:
    properties:
      scheme_files:
        properties:
          data:
            items:
              $ref: '#/definitions/SchemeFile'
            type: array
    type: object
    x-access:
    - Public
  SchemeFileAdmissionResponse:
    properties:
      data:
        $ref: '#/definitions/SchemeFileAdmission'
      links:
        $ref: '#/definitions/SchemeFileLinks'
    type: object
    x-access:
    - Public
  SchemeFileAdmissionStatus:
    description: Status of the scheme file admission
    enum:
    - confirmed
    - failed
    - pending
    example: confirmed
    readOnly: true
    type: string
    x-access:
    - Public
  SchemeFileAttributes:
    properties:
      file_format:
        default: xml
        description: The format of the file that will be submitted to Form3
        enum:
        - xml
        type: string
      file_hash:
        description: Hashed content of the file
        example: f60071837de834af950f070aa08fc1e0e3e4b1f7014a6251eabf207eba10c817
        minLength: 1
        type: string
      file_size:
        description: The size of the file to be uploaded - number of bytes. Max size
          is 1.4 Gigabyte
        example: 1024
        maximum: 1400000000
        type: integer
      file_type:
        default: switch
        description: The file type
        enum:
        - ISA
        - switch
        type: string
      hashing_algorithm:
        description: The algorithm used to generate the signature
        enum:
        - SHA256
        type: string
      number_of_parts:
        description: The count of chunks to be uploaded to the resource
        example: 1
        minimum: 1
        type: integer
      payment_scheme:
        description: Scheme/gateway that the file is to be processed by
        enum:
        - CASS
        - CISA
        type: string
    required:
    - file_format
    - file_hash
    - file_size
    - file_type
    - hashing_algorithm
    - number_of_parts
    - payment_scheme
    type: object
    x-access:
    - Public
  SchemeFileCreation:
    properties:
      data:
        $ref: '#/definitions/NewSchemeFile'
    required:
    - data
    type: object
    x-access:
    - Public
  SchemeFileLink:
    properties:
      href:
        format: uri
        type: string
      meta:
        properties:
          content-type:
            type: string
        type: object
    required:
    - href
    type: object
    x-access:
    - Public
    x-nullable: false
  SchemeFileLinks:
    additionalProperties:
      $ref: '#/definitions/SchemeFileLink'
    properties:
      self:
        $ref: '#/definitions/SchemeFileLink'
    required:
    - self
    type: object
    x-access:
    - Public
  SchemeFileRelationships:
    properties:
      scheme_file_admissions:
        properties:
          data:
            items:
              $ref: '#/definitions/SchemeFileAdmission'
            type: array
        type: object
      scheme_file_submission:
        properties:
          data:
            items:
              $ref: '#/definitions/SchemeFileSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  SchemeFileResponse:
    properties:
      data:
        $ref: '#/definitions/SchemeFile'
      links:
        $ref: '#/definitions/SchemeFileLinks'
    required:
    - data
    type: object
    x-access:
    - Public
  SchemeFileSubmission:
    properties:
      attributes:
        properties:
          start_datetime:
            description: Time the submission request was received by Form3. Used to
              compute the total processing time
            example: '2019-03-13T14:48:29.694Z'
            format: date-time
            readOnly: true
            type: string
          status:
            $ref: '#/definitions/SchemeFileSubmissionStatus'
          status_reason:
            description: Plain-text description of the status attribute
            readOnly: true
            type: string
          submission_datetime:
            description: Time when the Form3 system begins processing of the submission
            example: '2019-03-13T14:48:29.699Z'
            format: date-time
            readOnly: true
            type: string
        type: object
        x-order: 7
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 1
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 6
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      relationships:
        $ref: '#/definitions/SchemeFileSubmissionRelationships'
        readOnly: true
      type:
        enum:
        - scheme_file_submissions
        type: string
        x-order: 2
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
        x-order: 4
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  SchemeFileSubmissionConflictError:
    properties:
      actual_resource:
        $ref: '#/definitions/SchemeFileSubmission'
      error_code:
        format: uuid
        type: string
      error_message:
        type: string
    type: object
    x-access:
    - Public
  SchemeFileSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/SchemeFileSubmission'
    required:
    - data
    type: object
    x-access:
    - Public
  SchemeFileSubmissionRelationships:
    properties:
      scheme_file:
        properties:
          data:
            items:
              $ref: '#/definitions/SchemeFile'
            type: array
        type: object
    type: object
    x-access:
    - Public
  SchemeFileSubmissionResponse:
    properties:
      data:
        $ref: '#/definitions/SchemeFileSubmission'
      links:
        $ref: '#/definitions/SchemeFileLinks'
    type: object
    x-access:
    - Public
  SchemeFileSubmissionStatus:
    description: Status of the scheme file submission
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - released_to_gateway
    - validation_passed
    - validation_pending
    example: accepted
    readOnly: true
    type: string
    x-access:
    - Public
  SchemeMessage:
    properties:
      attributes:
        $ref: '#/definitions/SchemeMessageAttributes'
      id:
        format: uuid
        type: string
        x-nullable: false
      organisation_id:
        format: uuid
        type: string
        x-nullable: false
      relationships:
        $ref: '#/definitions/SchemeMessageRelationships'
      type:
        enum:
        - scheme_messages
        type: string
        x-nullable: false
      version:
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  SchemeMessageAdmission:
    properties:
      attributes:
        $ref: '#/definitions/SchemeMessageAdmissionAttributes'
      id:
        format: uuid
        type: string
        x-nullable: false
      organisation_id:
        format: uuid
        type: string
        x-nullable: false
      relationships:
        $ref: '#/definitions/SchemeMessageAdmissionRelationships'
      type:
        enum:
        - scheme_message_admissions
        type: string
        x-nullable: false
      version:
        minimum: 0
        type: integer
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  SchemeMessageAdmissionAttributes:
    properties:
      admission_datetime:
        format: date-time
        type: string
      scheme_status_code:
        type: string
      scheme_status_code_description:
        type: string
      status:
        $ref: '#/definitions/SchemeMessageAdmissionStatus'
    type: object
    x-access:
    - Public
  SchemeMessageAdmissionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/SchemeMessageAdmission'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  SchemeMessageAdmissionRelationships:
    properties:
      scheme_message:
        properties:
          data:
            items:
              $ref: '#/definitions/SchemeMessage'
            type: array
        type: object
    type: object
    x-access:
    - Public
  SchemeMessageAdmissionStatus:
    enum:
    - delivery_confirmed
    - failed
    type: string
    x-access:
    - Public
  SchemeMessageAttributes:
    properties:
      date:
        format: date-time
        type: string
        x-nullable: false
      entries:
        items:
          $ref: '#/definitions/SchemeMessageEntryItem'
        type: array
      payment_scheme:
        $ref: '#/definitions/PaymentScheme'
        x-nullable: false
      scheme_message_type:
        type: string
        x-nullable: false
      unique_scheme_id:
        type: string
        x-nullable: true
    required:
    - date
    - entries
    - payment_scheme
    - scheme_message_type
    type: object
    x-access:
    - Public
  SchemeMessageDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/SchemeMessage'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  SchemeMessageDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/SchemeMessage'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  SchemeMessageEntryItem:
    properties:
      key:
        type: string
        x-nullable: false
      value:
        type: string
        x-omitempty: false
    required:
    - key
    type: object
    x-access:
    - Public
  SchemeMessageRelationships:
    properties:
      scheme_message_admission:
        properties:
          data:
            items:
              $ref: '#/definitions/SchemeMessageAdmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  Self:
    properties:
      self:
        type: string
    type: object
    x-access:
    - Public
  SendersCorrespondentAccountHoldingEntity:
    properties:
      bank_address:
        description: Sender's correspondent's address
        example:
        - L13 1NW
        - Liverpool Customer Service Centre
        - Stevenson Way
        - Wavertree
        items:
          type: string
        type: array
        x-omitempty: true
      bank_id:
        description: SWIFT BIC for sender's correspondent
        example: '333333'
        type: string
        x-length: 11
      bank_id_code:
        description: The type of identification provided at `bank_id` attribute. Must
          be ISO code as listed in the [External Code Sets spreadsheet](https://www.iso20022.org/external_code_list.page)
        type: string
        x-length: 5
      bank_name:
        description: Sender's correspondent's name
        example: XYZ BANK PLC
        type: string
        x-length: 35
      bank_party_id:
        description: Identifier of the financial institution which services the account
        example: //AT12345
        type: string
        x-length: 37
    type: object
    x-access:
    - Public
  Settlement:
    description: Specifies the details on how the settlement of the transaction between
      the instructing agent and the instructed agent is completed
    properties:
      account_number:
        example: '12345678'
        type: string
        x-nullable: true
      account_number_code:
        $ref: '#/definitions/AccountNumberCode'
        enum:
        - BBAN
        - IBAN
        type: string
        x-length: 4
        x-nullable: true
      bank_id:
        type: string
        x-nullable: true
      bank_id_code:
        $ref: '#/definitions/BankIdCode'
        enum:
        - GBDSC
        type: string
        x-nullable: true
      method:
        description: 'Method used to settle the payment instruction. Acceptable Values
          for SEPA: CLRG. Acceptable Values for SWIFT: INDA (settled by Instructed
          Agent), INGA (Settled by Instructing Agent), COVE (Cover Payment)'
        enum:
        - CLRG
        - COVE
        - INDA
        - INGA
        example: CLRG
        type: string
        x-nullable: true
    type: object
    x-access:
    - Public
  SigningKeysAttributes:
    properties:
      certificate:
        type: string
        x-nullable: true
        x-order: 2
      expiration_datetime:
        format: date-time
        type: string
        x-nullable: true
        x-order: 4
      public_key:
        type: string
        x-order: 1
      revocation_datetime:
        format: date-time
        type: string
        x-nullable: true
        x-order: 5
      status:
        enum:
        - active
        - expired
        - pending_activation
        - revoked
        type: string
        x-nullable: true
        x-order: 3
    required:
    - public_key
    type: object
    x-access:
    - Public
  SigningKeysListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/SigningKeysResponseData'
        type: array
    required:
    - data
    type: object
    x-access:
    - Public
  SigningKeysResourceType:
    enum:
    - signing_keys
    type: string
    x-access:
    - Public
  SigningKeysResponse:
    properties:
      data:
        $ref: '#/definitions/SigningKeysResponseData'
        x-order: 1
    required:
    - data
    type: object
    x-access:
    - Public
  SigningKeysResponseData:
    properties:
      attributes:
        $ref: '#/definitions/SigningKeysAttributes'
        x-order: 7
      created_on:
        format: date-time
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 2
      modified_on:
        format: date-time
        type: string
        x-order: 6
      organisation_id:
        format: uuid
        type: string
        x-order: 4
      type:
        $ref: '#/definitions/SigningKeysResourceType'
        x-order: 1
      version:
        type: integer
        x-order: 3
    required:
    - attributes
    - id
    - organisation_id
    - type
    - version
    type: object
    x-access:
    - Public
  SortCode:
    properties:
      attributes:
        properties:
          bank_code:
            type: string
          bank_name:
            type: string
          bank_office_title:
            type: string
          supported_schemes:
            properties:
              BACS:
                properties:
                  accepts_payments:
                    default: false
                    type: boolean
                  account_switching:
                    enum:
                    - full
                    - ineligible
                    - partial
                    type: string
                  allowed_transactions:
                    items:
                      $ref: '#/definitions/TransactionGroupCode'
                    type: array
                  service_status:
                    type: string
                type: object
              CCC:
                properties:
                  accepts_payments:
                    default: false
                    type: boolean
                  service_status:
                    type: string
                type: object
              CHAPS:
                properties:
                  accepts_payments:
                    default: false
                    type: boolean
                  service_status:
                    type: string
                type: object
              FPS:
                properties:
                  accepts_payments:
                    default: false
                    type: boolean
                  handling_bank_code:
                    type: string
                  handling_bank_connection:
                    type: string
                  service_status:
                    type: string
                type: object
            type: object
        type: object
      id:
        type: string
      type:
        pattern: ^[A-Za-z_]*$
        type: string
    type: object
    x-access:
    - Public
  SortCodeDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/SortCode'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  StatusReason:
    description: Used to determine appropriate scheme or internal payment reject code.
      Account status field must be set to closed to use this functionality.
    enum:
    - beneficiary_sensitivities
    - business_reasons
    - closed
    - currency
    - deceased
    - none
    - stopped
    - terms_and_conditions
    - transferred
    example: transferred
    type: string
    x-access:
    - Public
  Subscription:
    properties:
      attributes:
        $ref: '#/definitions/SubscriptionAttributes'
      created_on:
        format: date-time
        type: string
        x-nullable: true
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      modified_on:
        format: date-time
        type: string
        x-nullable: true
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: subscriptions
        pattern: ^[A-Za-z]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  SubscriptionAmendment:
    properties:
      data:
        $ref: '#/definitions/SubscriptionUpdate'
    required:
    - data
    type: object
    x-access:
    - Public
  SubscriptionAttributes:
    properties:
      callback_transport:
        $ref: '#/definitions/CallbackTransport'
        description: Deprecated. Please use callback_uris instead
      callback_uri:
        description: Deprecated. Please use callback_uris instead
        pattern: ^[A-Za-z0-9 .,@:\&\?=\/\-_]*$
        type: string
      callback_uris:
        items:
          $ref: '#/definitions/CallbackURI'
        type: array
      deactivated:
        type: boolean
        x-nullable: true
      event_type:
        pattern: ^[A-Za-z_-]*$
        type: string
      filter:
        type: string
      record_type:
        pattern: ^[A-Za-z_-]*$
        type: string
      user_defined_data:
        description: All purpose list of key-value pairs to store specific data for
          the associated subscription.
        items:
          $ref: '#/definitions/SubscriptionUserDefinedData'
        maxItems: 5
        type: array
        x-omitempty: true
      user_id:
        format: uuid
        readOnly: true
        type: string
    required:
    - event_type
    - record_type
    type: object
    x-access:
    - Public
  SubscriptionCreate:
    properties:
      attributes:
        $ref: '#/definitions/SubscriptionAttributes'
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: subscriptions
        pattern: ^[A-Za-z]*$
        type: string
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  SubscriptionCreation:
    properties:
      data:
        $ref: '#/definitions/SubscriptionCreate'
    required:
    - data
    type: object
    x-access:
    - Public
  SubscriptionCreationResponse:
    properties:
      data:
        $ref: '#/definitions/Subscription'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  SubscriptionDeliveryError:
    properties:
      attributes:
        properties:
          error_category:
            readOnly: true
            type: string
            x-nullable: false
          error_message:
            readOnly: true
            type: string
            x-nullable: false
          occurred_on:
            format: date-time
            readOnly: true
            type: string
            x-nullable: false
        readOnly: true
        type: object
        x-nullable: false
      created_on:
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      id:
        format: uuid
        readOnly: true
        type: string
        x-nullable: false
      modified_on:
        format: date-time
        readOnly: true
        type: string
        x-nullable: false
      organisation_id:
        format: uuid
        readOnly: true
        type: string
        x-nullable: false
      relationships:
        properties:
          subscription:
            $ref: '#/definitions/SubscriptionRelationship'
        readOnly: true
        type: object
        x-nullable: false
      type:
        $ref: '#/definitions/SubscriptionDeliveryErrorType'
        readOnly: true
        type: object
        x-nullable: false
      version:
        minimum: 0
        readOnly: true
        type: integer
        x-nullable: false
        x-omitempty: false
    type: object
    x-access:
    - Public
    x-nullable: false
  SubscriptionDeliveryErrorCountResponse:
    properties:
      count:
        format: int64
        minimum: 0
        readOnly: true
        type: integer
        x-nullable: false
        x-omitempty: false
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
    x-nullable: false
  SubscriptionDeliveryErrorListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/SubscriptionDeliveryError'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
    x-nullable: false
  SubscriptionDeliveryErrorResponse:
    properties:
      data:
        $ref: '#/definitions/SubscriptionDeliveryError'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
    x-nullable: false
  SubscriptionDeliveryErrorType:
    enum:
    - subscription_delivery_errors
    type: string
    x-access:
    - Public
  SubscriptionDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Subscription'
        type: array
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  SubscriptionDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/Subscription'
      links:
        $ref: '#/definitions/Links'
    type: object
    x-access:
    - Public
  SubscriptionRelationship:
    properties:
      data:
        items:
          properties:
            id:
              format: uuid
              readOnly: true
              type: string
              x-nullable: false
            type:
              readOnly: true
              type: string
              x-nullable: false
          readOnly: true
          type: object
          x-nullable: false
        readOnly: true
        type: array
        x-nullable: false
    type: object
    x-access:
    - Public
    x-nullable: false
  SubscriptionUpdate:
    properties:
      attributes:
        $ref: '#/definitions/SubscriptionUpdateAttributes'
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: subscriptions
        pattern: ^[A-Za-z]*$
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  SubscriptionUpdateAttributes:
    properties:
      callback_transport:
        $ref: '#/definitions/CallbackTransport'
        description: Deprecated. Please use callback_uris instead
      callback_uri:
        description: Deprecated. Please use callback_uris instead
        pattern: ^[A-Za-z0-9 .,@:\&\?=\/\-_]*$
        type: string
      callback_uris:
        items:
          $ref: '#/definitions/CallbackURI'
        type: array
      deactivated:
        type: boolean
        x-nullable: true
      event_type:
        pattern: ^[A-Za-z_-]*$
        type: string
      filter:
        type: string
      record_type:
        pattern: ^[A-Za-z_-]*$
        type: string
      user_defined_data:
        description: All purpose list of key-value pairs to store specific data for
          the associated subscription.
        items:
          $ref: '#/definitions/SubscriptionUserDefinedData'
        maxItems: 5
        type: array
        x-omitempty: true
      user_id:
        format: uuid
        readOnly: true
        type: string
    type: object
    x-access:
    - Public
  SubscriptionUserDefinedData:
    properties:
      key:
        description: A user-defined key, up to 45 characters. An entry always contains
          both `key` and `value` fields.
        maxLength: 45
        minLength: 1
        type: string
      value:
        description: A user-defined value, up to 45 characters. An entry always contains
          both `key` and `value` fields.
        maxLength: 45
        minLength: 1
        type: string
    required:
    - key
    - value
    type: object
    x-access:
    - Public
  SwitchedAccountDetails:
    description: Alternate Account details to use in case the account has been switched
      away from this organisation.
    properties:
      account_number:
        description: Switched account number. Must be a UK account number, maximum
          length 8 characters.
        example: '41426819'
        pattern: ^[0-9]{8}$
        type: string
      account_number_code:
        description: ISO 20022 code used to identify the type of account number being
          used
        enum:
        - BBAN
        type: string
      account_type:
        default: 0
        description: The type of the account provided in account_number. Only required
          if requested by the beneficiary party.
        maximum: 9
        minimum: 0
        type: integer
      account_with:
        $ref: '#/definitions/AccountHoldingEntity'
      switched_effective_date:
        description: Starting date for the account to be effectively switched
        example: '2017-07-23'
        format: date
        type: string
        x-nullable: true
    required:
    - account_number
    - account_number_code
    - account_with
    - switched_effective_date
    type: object
    x-access:
    - Public
  ThinRelationship:
    properties:
      data:
        description: A relationship which just contains id and type of the related
          resource
        items:
          properties:
            id:
              description: ID of the referenced resource
              format: uuid
              type: string
            type:
              description: Name of the referenced resource type
              type: string
          type: object
        type: array
    type: object
    x-access:
    - Public
  Token:
    properties:
      access_token:
        description: The access token to be used for all future API calls until `expires_in`
        type: string
      expires_in:
        description: The lifetime of this token in seconds
        format: int32
        type: integer
      token_type:
        description: The type of the token. Is always set to `Bearer`.
        enum:
        - Bearer
        type: string
    type: object
    x-access:
    - Public
  TransactionFile:
    properties:
      attributes:
        $ref: '#/definitions/TransactionFileAttributes'
        x-order: 7
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 1
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 6
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      relationships:
        $ref: '#/definitions/TransactionFileRelationships'
      type:
        enum:
        - transaction_files
        type: string
        x-order: 2
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
        x-order: 4
    required:
    - attributes
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  TransactionFileAdmission:
    properties:
      attributes:
        properties:
          admission_datetime:
            description: Time when the Form3 system begins processing of the admission
            example: '2019-03-13T14:48:29.699Z'
            format: date-time
            readOnly: true
            type: string
          status:
            $ref: '#/definitions/TransactionFileAdmissionStatus'
          status_reason:
            description: Plain-text description of the status attribute
            example: accepted
            readOnly: true
            type: string
          transaction_start_datetime:
            description: Time the admission request was received by Form3. Used to
              compute the total transaction time
            example: '2019-03-13T14:48:29.694Z'
            format: date-time
            readOnly: true
            type: string
        type: object
        x-order: 7
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 1
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 6
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      relationships:
        $ref: '#/definitions/TransactionFileAdmissionRelationships'
        readOnly: true
      type:
        enum:
        - transaction_file_admissions
        type: string
        x-order: 2
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
        x-order: 4
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  TransactionFileAdmissionCreation:
    properties:
      data:
        $ref: '#/definitions/TransactionFileAdmission'
    required:
    - data
    type: object
    x-access:
    - Public
  TransactionFileAdmissionRelationships:
    properties:
      transaction_files:
        properties:
          data:
            items:
              $ref: '#/definitions/TransactionFile'
            type: array
    type: object
    x-access:
    - Public
  TransactionFileAdmissionResponse:
    properties:
      data:
        $ref: '#/definitions/TransactionFileAdmission'
      links:
        $ref: '#/definitions/TransactionFileLinks'
    type: object
    x-access:
    - Public
  TransactionFileAdmissionStatus:
    description: Status of the transaction file admission
    enum:
    - confirmed
    - failed
    - pending
    example: confirmed
    readOnly: true
    type: string
    x-access:
    - Public
  TransactionFileAttributes:
    properties:
      file_format:
        default: ndjson
        description: The format of the file that will be submitted/admitted to Form3
        enum:
        - ddica_cancel
        - ddica_create
        - messaging
        - ndjson
        - standard18
        type: string
      file_hash:
        description: Hashed content of the file
        example: f60071837de834af950f070aa08fc1e0e3e4b1f7014a6251eabf207eba10c817
        minLength: 1
        type: string
      file_size:
        description: The size of the file to be uploaded - number of bytes. Max size
          is 1.4 Gigabyte
        example: 1024
        maximum: 1400000000
        type: integer
      hashing_algorithm:
        description: The algorithm used to generate the signature
        enum:
        - SHA256
        type: string
      number_of_parts:
        description: The count of chunks to be uploaded to the resource
        example: 1
        minimum: 1
        type: integer
      payment_scheme:
        description: Scheme/gateway that the file is to be processed by
        enum:
        - BACS
        type: string
      transaction_count:
        description: The count of transactions that will be submitted in the file
        example: 1
        maximum: 1200000
        type: integer
      transaction_data:
        description: All purpose key-value fields containing file specific data (read
          only).
        type: object
      transaction_sum:
        description: The sum value of the transactions will be submitted in the file
        example: '1.00'
        pattern: ^[0-9]{0,20}(?:\.[0-9]{1,10})?$
        type: string
    required:
    - file_format
    - file_hash
    - file_size
    - hashing_algorithm
    - number_of_parts
    - payment_scheme
    - transaction_count
    type: object
    x-access:
    - Public
  TransactionFileCreation:
    properties:
      data:
        $ref: '#/definitions/NewTransactionFile'
    required:
    - data
    type: object
    x-access:
    - Public
  TransactionFileLink:
    properties:
      href:
        format: uri
        type: string
      meta:
        properties:
          content-type:
            type: string
        type: object
    required:
    - href
    type: object
    x-access:
    - Public
    x-nullable: false
  TransactionFileLinks:
    additionalProperties:
      $ref: '#/definitions/TransactionFileLink'
    properties:
      self:
        $ref: '#/definitions/TransactionFileLink'
    required:
    - self
    type: object
    x-access:
    - Public
  TransactionFileRelationships:
    properties:
      reports:
        $ref: '#/definitions/ThinRelationship'
      transaction_file_admissions:
        properties:
          data:
            items:
              $ref: '#/definitions/TransactionFileAdmission'
            type: array
        type: object
      transaction_file_submissions:
        properties:
          data:
            items:
              $ref: '#/definitions/TransactionFileSubmission'
            type: array
        type: object
    type: object
    x-access:
    - Public
  TransactionFileResponse:
    properties:
      data:
        $ref: '#/definitions/TransactionFile'
      links:
        $ref: '#/definitions/TransactionFileLinks'
    type: object
    x-access:
    - Public
  TransactionFileSubmission:
    properties:
      attributes:
        properties:
          scheme_references:
            description: Summary of scheme-specific references submission to the scheme
            items:
              $ref: '#/definitions/TransactionFileSubmissionSchemeReference'
            type: array
          status:
            $ref: '#/definitions/TransactionFileSubmissionStatus'
          status_reason:
            description: Plain-text description of the status attribute
            example: transaction_files.data.attributes.transaction_count does not
              match file
            readOnly: true
            type: string
          submission_datetime:
            description: Time when the Form3 system begins processing of the submission
            example: '2019-03-13T14:48:29.699Z'
            format: date-time
            readOnly: true
            type: string
          transaction_start_datetime:
            description: Time the submission request was received by Form3. Used to
              compute the total transaction time
            example: '2019-03-13T14:48:29.694Z'
            format: date-time
            readOnly: true
            type: string
        type: object
        x-order: 7
      created_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 5
      id:
        format: uuid
        type: string
        x-order: 1
      modified_on:
        example: '2017-09-26T15:26:57.494Z'
        format: date-time
        readOnly: true
        type: string
        x-order: 6
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
        x-order: 3
      relationships:
        $ref: '#/definitions/TransactionFileSubmissionRelationships'
        readOnly: true
      type:
        enum:
        - transaction_file_submissions
        type: string
        x-order: 2
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
        x-order: 4
    required:
    - id
    - organisation_id
    type: object
    x-access:
    - Public
  TransactionFileSubmissionConflictError:
    properties:
      actual_resource:
        $ref: '#/definitions/TransactionFileSubmission'
      error_code:
        format: uuid
        type: string
      error_message:
        type: string
    type: object
    x-access:
    - Public
  TransactionFileSubmissionCreation:
    properties:
      data:
        $ref: '#/definitions/TransactionFileSubmission'
    required:
    - data
    type: object
    x-access:
    - Public
  TransactionFileSubmissionRelationships:
    properties:
      transaction_files:
        properties:
          data:
            items:
              $ref: '#/definitions/TransactionFile'
            type: array
    type: object
    x-access:
    - Public
  TransactionFileSubmissionResponse:
    properties:
      data:
        $ref: '#/definitions/TransactionFileSubmission'
      links:
        $ref: '#/definitions/TransactionFileLinks'
    type: object
    x-access:
    - Public
  TransactionFileSubmissionSchemeReference:
    properties:
      clearing_id:
        description: Service User Number (SUN) of the payment originator
        example: ABC123
        pattern: .{6}$
        type: string
      file_identifier:
        description: Submission serial number
        example: '123456'
        type: string
      file_number:
        description: Number of the file sent to the scheme
        example: '001'
        type: string
      transaction_count:
        description: The count of transactions submitted in a given scheme file
        example: 1
        type: integer
      transaction_sum:
        description: The sum of transactions submitted in a given scheme file
        example: '1000.00'
        type: string
    type: object
    x-access:
    - Public
  TransactionFileSubmissionShortRelationship:
    properties:
      attributes:
        properties:
          status:
            $ref: '#/definitions/TransactionFileSubmissionStatus'
        type: object
        x-order: 3
      id:
        format: uuid
        type: string
        x-order: 1
      type:
        enum:
        - transaction_file_submissions
        type: string
        x-order: 2
    required:
    - id
    type: object
    x-access:
    - Public
  TransactionFileSubmissionStatus:
    description: Status of the transaction file submission
    enum:
    - accepted
    - delivery_confirmed
    - delivery_failed
    - released_to_gateway
    - validation_passed
    - validation_pending
    example: accepted
    readOnly: true
    type: string
    x-access:
    - Public
  TransactionGroupCode:
    enum:
    - AU
    - BS
    - CR
    - CU
    - DR
    - DV
    type: string
    x-access:
    - Public
  UltimateEntity:
    properties:
      additional_address_line:
        description: Additional address line of the debtor/beneficiary address
        type: string
        x-length: 70
      address:
        description: Ultimate debtor/beneficiary address
        example:
        - Liverpool Customer Service Centre
        - Stevenson Way, Wavertree, L13 1NW
        items:
          type: string
        type: array
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Max 2 lines of 70 text.
        x-omitempty: true
      birth_city:
        description: Ultimate debtor/beneficiary birth city
        example: PARIS
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: conditional
        x-description:
          sepa: If a Ultimate Beneficiary/Debtor Identification is used then only
            one of `organisation_identification`, `private_identification` or date
            and place of birth can be present.
        x-length: 35
      birth_country:
        description: Ultimate debtor/beneficiary birth country. ISO 3166 format country
          code
        example: FR
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: conditional
        x-description:
          sepa: If a Ultimate Beneficiary/Debtor Identification is used then only
            one of `organisation_identification`, `private_identification` or date
            and place of birth can be present.
        x-length: 2
      birth_date:
        description: Ultimate debtor/beneficiary birth date. Formatted ISO 8601 format
          YYYY-MM-DD
        example: '1973-01-31'
        format: date
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: conditional
        x-description:
          sepa: If a Ultimate Beneficiary/Debtor Identification is used then only
            one of `organisation_identification`, `private_identification` or date
            and place of birth can be present.
        x-nullable: true
      birth_province:
        description: Ultimate debtor/beneficiary birth province
        example: SOUTH SIDE
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: If a Ultimate Beneficiary/Debtor Identification is used then only
            one of `organisation_identification`, `private_identification` or date
            and place of birth can be present.
        x-length: 35
      building_number:
        description: Building number of the debtor/beneficiary address
        type: string
        x-length: 16
      city:
        description: City/Town of the Beneficiary address
        example: BRUSSELS
        type: string
        x-length: 30
      country:
        description: Country of ultimate debtor/beneficiary address. ISO 3166 format
          country code
        example: GB
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-length: 2
      country_of_residence:
        description: Country of residence of the ultimate beneficiary, ISO 3166 format
          country code
        example: UA
        type: string
        x-length: 2
      name:
        example: Jane Bond
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-length: 70
      organisation_identification:
        description: Organisation identification of an ultimate debtor/beneficiary,
          in the case that the ultimate debtor/beneficiary is an organisation and
          not a private person.
        example: ID1234656
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: The Identification can either be a BIC, BEI or Other Identification
        x-length: 35
      organisation_identification_code:
        description: The code that specifies the type of `organisation_identification`
        example: BIC
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: conditional
        x-description:
          sepa: If `organisation_identification` is specified, must be one of `BIC`,
            `BEI`, `BANK`, `CBID`, `CHID`, `CINC`, `COID`, `CUST`, `DUNS`, `EMPL`,
            `GS1G`, `SREN`, `SRET`, `TXID` or `Other`
        x-length: 5
      organisation_identification_issuer:
        description: Issuer of the `organisation_identification`
        example: NATIONAL WESTMINSTER BANK PLC
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: May only be present if `organisation_identification_code` is `Other`
        x-length: 35
      organisation_identification_scheme:
        description: The code that specifies the scheme of `organisation_identification`
        example: CustomerId
        type: string
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: May only be present if `organisation_identification_code` is `Other`
        x-length: 35
      organisation_identifications:
        description: Array for additional ID(s) of ultimate organisation
        items:
          $ref: '#/definitions/BeneficiaryDebtorOrganisationIdentification'
        type: array
        x-availability:
          get:
            sepa: sometimes
          post:
            sepa: optional
        x-description:
          sepa: Array for additional ID(s) for ultimate organisation
        x-omitempty: true
      post_code:
        description: Post code of the debtor/beneficiary address
        type: string
        x-length: 16
      postal_address:
        $ref: '#/definitions/PostalAddress'
        description: Postal address of the ultimate debtor/beneficiary
        x-omitempty: true
      private_identification:
        $ref: '#/definitions/PrivateIdentification'
      province:
        description: Province of the debtor/beneficiary address
        type: string
        x-length: 35
      street_name:
        description: Street name of the debtor/beneficiary address
        example: Park Avenue
        type: string
        x-length: 70
    type: object
    x-access:
    - Public
  User:
    properties:
      attributes:
        properties:
          client_credential_ids:
            items:
              type: string
            type: array
          email:
            description: Email address
            example: viewer.testbank@form3.tech
            type: string
          public_key_ids:
            items:
              format: uuid
              type: string
            type: array
          role_ids:
            description: List of roles that this user belongs to
            example:
            - 1081014a-37a8-45c9-a40d-59c028a565d8
            items:
              format: uuid
              type: string
            type: array
          username:
            description: User name
            example: viewer.testbank
            type: string
        type: object
      id:
        description: Unique resource ID
        example: 7826c3cb-d6fd-41d0-b187-dc23ba928772
        format: uuid
        type: string
      organisation_id:
        description: Unique ID of the organisation this resource is created by
        example: ee2fb143-6dfe-4787-b183-ca8ddd4164d2
        format: uuid
        type: string
      type:
        description: Name of the resource type
        example: User
        type: string
      version:
        description: Version number
        example: 0
        minimum: 0
        type: integer
    type: object
    x-access:
    - Public
  UserCreation:
    properties:
      data:
        $ref: '#/definitions/User'
    required:
    - data
    type: object
    x-access:
    - Public
  UserCreationResponse:
    properties:
      data:
        $ref: '#/definitions/User'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  UserCredentialListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Credential'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  UserDefinedData:
    properties:
      key:
        description: Key of the pair
        minLength: 1
        type: string
      value:
        description: Value of the pair
        minLength: 1
        type: string
    required:
    - key
    - value
    type: object
    x-access:
    - Public
  UserDetailsListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/User'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  UserDetailsResponse:
    properties:
      data:
        $ref: '#/definitions/User'
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  UserRoleListResponse:
    properties:
      data:
        items:
          $ref: '#/definitions/Role'
        type: array
      links:
        $ref: '#/definitions/Links'
    required:
    - data
    type: object
    x-access:
    - Public
  ValidationType:
    description: optional validation to apply to the account
    enum:
    - card
    - mandatory_reference
    - none
    type: string
    x-access:
    - Public
  VerificationScheme:
    default: CoP
    enum:
    - CoP
    - VoP
    type: string
    x-access:
    - Public
  prometheusMetric:
    additionalProperties:
      type: string
    type: object
    x-access:
    - Public
  prometheusMetricData:
    properties:
      result:
        $ref: '#/definitions/prometheusResult'
      resultType:
        type: string
    type: object
    x-access:
    - Public
  prometheusResult:
    items:
      $ref: '#/definitions/prometheusResultItem'
    type: array
    x-access:
    - Public
  prometheusResultItem:
    properties:
      metric:
        $ref: '#/definitions/prometheusMetric'
      value:
        items: {}
        type: array
    type: object
    x-access:
    - Public
host: api.form3.tech
info:
  title: Form3 Public API
  version: '1'
parameters:
  admissionIdParam:
    description: Direct Debit Admission Id
    format: uuid
    in: path
    name: admissionId
    required: true
    type: string
  decisionIdParam:
    description: Direct Debit decision id
    format: uuid
    in: path
    name: decisionId
    required: true
    type: string
  directDebitIdParam:
    description: Direct Debit Id
    format: uuid
    in: path
    name: id
    required: true
    type: string
  directDebitVersionParam:
    description: Direct Debit Version
    in: query
    minimum: 0
    name: version
    required: true
    type: integer
  recallIdParam:
    description: Recall Id
    format: uuid
    in: path
    name: recallId
    required: true
    type: string
  returnIdParam:
    description: Return Id
    format: uuid
    in: path
    name: returnId
    required: true
    type: string
  reversalIdParam:
    description: Reversal Id
    format: uuid
    in: path
    name: reversalId
    required: true
    type: string
  submissionIdParam:
    description: Direct Debit decision submission id
    format: uuid
    in: path
    name: submissionId
    required: true
    type: string
paths:
  /audit/entries/{record_type}:
    get:
      parameters:
      - collectionFormat: csv
        description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - description: Cursor for next page (this is a base64-encoded UUID continuation
          token returned from the application and should not be manually generated)
        in: query
        name: page[after]
        required: false
        type: string
      - description: Number of items to select
        in: query
        maximum: 10000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Record Type
        in: path
        name: record_type
        required: true
        type: string
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        required: false
        type: integer
      - format: date-time
        in: query
        name: filter[action_time_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[action_time_to]
        required: false
        type: string
      responses:
        200:
          description: Audit details
          schema:
            $ref: '#/definitions/AuditEntryListResponse'
      summary: List audit entries for this record type
      tags:
      - Audit
      x-access:
      - Public
  /audit/entries/{record_type}/{id}:
    get:
      parameters:
      - description: Record Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Record Type
        in: path
        name: record_type
        required: true
        type: string
      responses:
        200:
          description: Audit details
          schema:
            $ref: '#/definitions/AuditEntryListResponse'
      summary: Fetch audit entry list for this record type/id
      tags:
      - Audit
      x-access:
      - Public
  /files/schemefiles:
    get:
      operationId: ListSchemeFiles
      parameters:
      - default: 100
        description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Find Scheme File resources by a certain scheme
        in: query
        name: filter[payment_scheme]
        required: false
        type: string
      - description: Find Scheme File resources by the format of the file
        in: query
        name: filter[file_format]
        required: false
        type: string
      - description: Find Scheme File resources by the type of the file
        in: query
        name: filter[file_type]
        required: false
        type: string
      - description: Find all File resources admitted from and including this date/time
        format: date-time
        in: query
        name: filter[admission.admission_date_from]
        required: false
        type: string
      - description: Find all File resources admitted up to and included this date/time
        format: date-time
        in: query
        name: filter[admission.admission_date_to]
        required: false
        type: string
      - description: Find all File resources with a certain admission status
        in: query
        name: filter[admission.status]
        required: false
        type: string
      - description: Find all Scheme File resources created from this date, in format
          YYYY-MM-DD
        format: date
        in: query
        name: filter[created_on_from]
        required: false
        type: string
      - description: Find all Scheme File resources created up to this date, in format
          YYYY-MM-DD
        format: date
        in: query
        name: filter[created_on_to]
        required: false
        type: string
      - description: Find all Scheme File resources submitted from and including this
          date/time
        format: date-time
        in: query
        name: filter[submission.submission_date_from]
        required: false
        type: string
      - description: Find all Scheme File resources submitted up to and included this
          date/time
        format: date-time
        in: query
        name: filter[submission.submission_date_to]
        required: false
        type: string
      - description: Find all Scheme File resources with a certain submission status
        in: query
        name: filter[submission.status]
        required: false
        type: string
      - description: Find all Scheme File resources with a given organisation ID
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        pattern: ^(first|last|[\d]{1,4})$
        required: false
        type: string
      responses:
        200:
          description: List of scheme files
          schema:
            $ref: '#/definitions/ListSchemeFilesResponse'
        400:
          description: Reports bad request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: List Scheme files
      tags:
      - Scheme File API
      x-access:
      - Public
    post:
      operationId: CreateSchemeFile
      parameters:
      - in: body
        name: Scheme File Creation Request
        schema:
          $ref: '#/definitions/SchemeFileCreation'
      responses:
        201:
          description: Scheme File Creation Response
          schema:
            $ref: '#/definitions/SchemeFileResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Creates a Scheme File
      tags:
      - Scheme File API
      x-access:
      - Public
  /files/schemefiles/{scheme_file_id}:
    get:
      operationId: GetSchemeFile
      parameters:
      - description: Acceptable Formats, possible values are "application/vnd.api+json"
          and "application/xml"
        in: header
        name: Accept
        required: false
        type: string
      - description: Scheme File Id
        format: uuid
        in: path
        name: scheme_file_id
        required: true
        type: string
      responses:
        200:
          description: Scheme File Response
          schema:
            $ref: '#/definitions/SchemeFileResponse'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get Scheme file
      tags:
      - Scheme File API
      x-access:
      - Public
    put:
      consumes:
      - application/octet-stream
      operationId: UploadSchemeFile
      parameters:
      - description: Scheme File Id
        format: uuid
        in: path
        name: scheme_file_id
        required: true
        type: string
      - description: Which part of the file we are uploading
        in: header
        name: X-Form3-Upload-Part
        required: true
        type: string
      - in: body
        name: payload
        required: true
        schema:
          format: binary
          type: string
      responses:
        200:
          description: Scheme File Response
          schema:
            $ref: '#/definitions/SchemeFileResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Scheme File Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Scheme File Conflict
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Put Scheme file chunk
      tags:
      - Scheme File API
      x-access:
      - Public
  /files/schemefiles/{scheme_file_id}/admissions:
    post:
      operationId: CreateSchemeFileAdmission
      parameters:
      - description: Scheme File Id
        format: uuid
        in: path
        name: scheme_file_id
        required: true
        type: string
      - in: body
        name: Scheme file admission creation request
        schema:
          $ref: '#/definitions/SchemeFileAdmissionCreation'
      responses:
        201:
          description: Scheme File Admission Response
          schema:
            $ref: '#/definitions/SchemeFileAdmissionResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Scheme File Admission Conflict
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Creates a Scheme File Admission
      tags:
      - Scheme File API
      x-access:
      - Public
  /files/schemefiles/{scheme_file_id}/admissions/{scheme_file_admission_id}:
    get:
      operationId: GetSchemeFileAdmission
      parameters:
      - description: Scheme File Admission Id
        format: uuid
        in: path
        name: scheme_file_admission_id
        required: true
        type: string
      - description: Scheme File Id
        format: uuid
        in: path
        name: scheme_file_id
        required: true
        type: string
      responses:
        200:
          description: Scheme File Admission Response
          schema:
            $ref: '#/definitions/SchemeFileAdmissionResponse'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch scheme file admission
      tags:
      - Scheme File API
      x-access:
      - Public
  /files/schemefiles/{scheme_file_id}/submissions:
    post:
      operationId: CreateSchemeFileSubmission
      parameters:
      - description: Scheme File Id
        format: uuid
        in: path
        name: scheme_file_id
        required: true
        type: string
      - in: body
        name: Scheme file submission creation request
        schema:
          $ref: '#/definitions/SchemeFileSubmissionCreation'
      responses:
        201:
          description: Scheme File Submission Response
          schema:
            $ref: '#/definitions/SchemeFileSubmissionResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Scheme File Submission Conflict
          schema:
            $ref: '#/definitions/SchemeFileSubmissionConflictError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Creates a Scheme File Submission
      tags:
      - Scheme File API
      x-access:
      - Public
  /files/schemefiles/{scheme_file_id}/submissions/{scheme_file_submission_id}:
    get:
      operationId: GetSchemeFileSubmission
      parameters:
      - description: Scheme File Id
        format: uuid
        in: path
        name: scheme_file_id
        required: true
        type: string
      - description: Scheme File Submission Id
        format: uuid
        in: path
        name: scheme_file_submission_id
        required: true
        type: string
      responses:
        200:
          description: Scheme File Submission Response
          schema:
            $ref: '#/definitions/SchemeFileSubmissionResponse'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get Scheme file submission
      tags:
      - Scheme File API
      x-access:
      - Public
  /files/transactions:
    get:
      operationId: ListTransactionFiles
      parameters:
      - default: 100
        description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Find File resources by a certain scheme
        in: query
        name: filter[payment_scheme]
        required: false
        type: string
      - description: Find File resources by the Service User Number (SUN) of the payment
          originator
        in: query
        name: filter[submission.scheme_references.clearing_id]
        required: false
        type: string
      - description: Find File resources by the format of the file
        in: query
        name: filter[file_format]
        required: false
        type: string
      - description: Find File resources by the id of the file sent to the scheme
        in: query
        name: filter[submission.scheme_references.file_number]
        required: false
        type: string
      - description: Find File resources the id of the submission to to the scheme
        in: query
        name: filter[submission.scheme_references.file_identifier]
        required: false
        type: string
      - description: Find all File resources admitted from and including this date/time
        format: date-time
        in: query
        name: filter[admission.admission_date_from]
        required: false
        type: string
      - description: Find all File resources admitted up to and included this date/time
        format: date-time
        in: query
        name: filter[admission.admission_date_to]
        required: false
        type: string
      - description: Find all File resources created from this date, in format YYYY-MM-DD
        format: date
        in: query
        name: filter[created_on_from]
        required: false
        type: string
      - description: Find all File resources created up to this date, in format YYYY-MM-DD
        format: date
        in: query
        name: filter[created_on_to]
        required: false
        type: string
      - description: Find all File resources submitted from and including this date/time
        format: date-time
        in: query
        name: filter[submission.submission_date_from]
        required: false
        type: string
      - description: Find all File resources submitted up to and included this date/time
        format: date-time
        in: query
        name: filter[submission.submission_date_to]
        required: false
        type: string
      - description: Find all File resources with a certain admission status
        in: query
        name: filter[admission.status]
        required: false
        type: string
      - description: Find all File resources with a certain submission status
        in: query
        name: filter[submission.status]
        required: false
        type: string
      - description: Find all File resources with a given organisation ID
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        pattern: ^(first|last|[\d]{1,4})$
        required: false
        type: string
      responses:
        200:
          description: List of transaction files
          schema:
            $ref: '#/definitions/ListTransactionFilesResponse'
        400:
          description: Reports bad request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: List transaction files
      tags:
      - Transaction File API
      x-access:
      - Public
    post:
      operationId: CreateTransactionFile
      parameters:
      - in: body
        name: Transaction File Creation Request
        schema:
          $ref: '#/definitions/TransactionFileCreation'
      responses:
        201:
          description: Transaction File Creation Response
          schema:
            $ref: '#/definitions/TransactionFileResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Creates a Transaction File
      tags:
      - Transaction File API
      x-access:
      - Public
  /files/transactions/{transaction_file_id}:
    get:
      operationId: GetTransactionFile
      parameters:
      - description: Acceptable Formats, possible values are "application/vnd.api+json",
          "application/x-ndjson", "application/x.form3.standard18", "application/xml",
          "application/x.form3.messaging"
        in: header
        name: Accept
        required: false
        type: string
      - description: Transaction File Id
        format: uuid
        in: path
        name: transaction_file_id
        required: true
        type: string
      responses:
        200:
          description: Transaction File Response
          schema:
            $ref: '#/definitions/TransactionFileResponse'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch transaction file
      tags:
      - Transaction File API
      x-access:
      - Public
    put:
      consumes:
      - application/octet-stream
      operationId: UploadTransactionFile
      parameters:
      - description: Transaction File Id
        format: uuid
        in: path
        name: transaction_file_id
        required: true
        type: string
      - description: Which part of the file we are uploading
        in: header
        name: X-Form3-Upload-Part
        required: true
        type: string
      - in: body
        name: payload
        required: true
        schema:
          format: binary
          type: string
      responses:
        200:
          description: Transaction File Response
          schema:
            $ref: '#/definitions/TransactionFileResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Transaction File Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Transaction File Conflict
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Put Transaction file chunk
      tags:
      - Transaction File API
      x-access:
      - Public
  /files/transactions/{transaction_file_id}/admissions:
    post:
      operationId: CreateTransactionFileAdmission
      parameters:
      - description: Transaction File Id
        format: uuid
        in: path
        name: transaction_file_id
        required: true
        type: string
      - in: body
        name: Transaction file admission creation request
        schema:
          $ref: '#/definitions/TransactionFileAdmissionCreation'
      responses:
        201:
          description: Transaction File Admission Response
          schema:
            $ref: '#/definitions/TransactionFileAdmissionResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Transaction File Admission Conflict
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Creates a Transaction File Admission
      tags:
      - Transaction File API
      x-access:
      - Public
  /files/transactions/{transaction_file_id}/admissions/{transaction_file_admission_id}:
    get:
      operationId: GetTransactionFileAdmission
      parameters:
      - description: Transaction File Admission Id
        format: uuid
        in: path
        name: transaction_file_admission_id
        required: true
        type: string
      - description: Transaction File Id
        format: uuid
        in: path
        name: transaction_file_id
        required: true
        type: string
      responses:
        200:
          description: Transaction File Admission Response
          schema:
            $ref: '#/definitions/TransactionFileAdmissionResponse'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch transaction file admission
      tags:
      - Transaction File API
      x-access:
      - Public
  /files/transactions/{transaction_file_id}/submissions:
    post:
      operationId: CreateTransactionFileSubmission
      parameters:
      - description: Transaction File Id
        format: uuid
        in: path
        name: transaction_file_id
        required: true
        type: string
      - in: body
        name: Transaction file submission creation request
        schema:
          $ref: '#/definitions/TransactionFileSubmissionCreation'
      responses:
        201:
          description: Transaction File Submission Response
          schema:
            $ref: '#/definitions/TransactionFileSubmissionResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Transaction File Submission Conflict
          schema:
            $ref: '#/definitions/TransactionFileSubmissionConflictError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Creates a Transaction File Submission
      tags:
      - Transaction File API
      x-access:
      - Public
  /files/transactions/{transaction_file_id}/submissions/{transaction_file_submission_id}:
    get:
      operationId: GetTransactionFileSubmission
      parameters:
      - description: Transaction File Id
        format: uuid
        in: path
        name: transaction_file_id
        required: true
        type: string
      - description: Transaction File Submission Id
        format: uuid
        in: path
        name: transaction_file_submission_id
        required: true
        type: string
      responses:
        200:
          description: Transaction File Submission Response
          schema:
            $ref: '#/definitions/TransactionFileSubmissionResponse'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch transaction file submission
      tags:
      - Transaction File API
      x-access:
      - Public
  /metrics/prometheus/api/v1/query:
    get:
      parameters:
      - description: Query to Execute
        in: query
        name: query
        required: true
        type: string
      - description: RFC3339 or unix_timestamp
        in: query
        name: time
        required: false
        type: string
      - description: See https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations
        in: query
        name: timeout
        required: false
        type: string
      responses:
        200:
          description: See Prometheus api https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        403:
          description: Forbidden
        500:
          description: Internal Server Error
      summary: Query Endpoint for metrics
      tags:
      - Metrics API
      x-access:
      - Public
    post:
      consumes:
      - application/x-www-form-urlencoded
      parameters:
      - description: Query to Execute
        in: formData
        name: query
        required: true
        type: string
      - description: RFC3339 or unix_timestamp
        in: formData
        name: time
        required: false
        type: string
      - description: See https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations
        in: formData
        name: timeout
        required: false
        type: string
      responses:
        200:
          description: See Prometheus api https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        403:
          description: Forbidden
        500:
          description: Internal Server Error
      summary: Query Endpoint for metrics
      tags:
      - Metrics API
      x-access:
      - Public
  /metrics/prometheus/api/v1/query_range:
    get:
      parameters:
      - description: Query to Execute
        in: query
        name: query
        required: true
        type: string
      - description: RFC3339 or unix_timestamp
        in: query
        name: end
        required: false
        type: string
      - description: RFC3339 or unix_timestamp
        in: query
        name: start
        required: false
        type: string
      - description: RFC3339 or unix_timestamp
        in: query
        name: time
        required: false
        type: string
      - description: See https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations
        in: query
        name: timeout
        required: false
        type: string
      - description: duration or float
        in: query
        name: step
        required: false
        type: string
      responses:
        200:
          description: See Prometheus api https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        403:
          description: Forbidden
        500:
          description: Internal Server Error
      summary: Query Range Endpoint for metrics
      tags:
      - Metrics API
      x-access:
      - Public
    post:
      consumes:
      - application/x-www-form-urlencoded
      parameters:
      - description: Query to Execute
        in: formData
        name: query
        required: true
        type: string
      - description: RFC3339 or unix_timestamp
        in: formData
        name: end
        required: false
        type: string
      - description: RFC3339 or unix_timestamp
        in: formData
        name: start
        required: false
        type: string
      - description: RFC3339 or unix_timestamp
        in: formData
        name: time
        required: false
        type: string
      - description: See https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations
        in: formData
        name: timeout
        required: false
        type: string
      - description: duration or float
        in: formData
        name: step
        required: false
        type: string
      responses:
        200:
          description: See Prometheus api https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        403:
          description: Forbidden
        500:
          description: Internal Server Error
      summary: Query Range Endpoint for metrics
      tags:
      - Metrics API
      x-access:
      - Public
  /metrics/prometheus/federate:
    get:
      parameters:
      - collectionFormat: multi
        description: See https://prometheus.io/docs/prometheus/latest/querying/basics/#instant-vector-selectors
        in: query
        items:
          type: string
        name: match[]
        required: true
        type: array
      produces:
      - text/plain
      responses:
        200:
          description: See Prometheus api https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries
          schema:
            type: string
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/MetricsQueryResponse'
        403:
          description: Forbidden
        500:
          description: Internal Server Error
      summary: Federate Endpoint for metrics
      tags:
      - Metrics API
      x-access:
      - Public
  /notification/reports:
    get:
      operationId: ListReports
      parameters:
      - default: 100
        description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Filter by Report Source
        in: query
        name: filter[report_source]
        required: false
        type: string
      - description: Filter by Report Type Description
        in: query
        name: filter[report_type_description]
        required: false
        type: string
      - description: Filter by ReportType
        in: query
        name: filter[report_type]
        required: false
        type: string
      - description: Filter by organisation Ids
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - description: Request reports created after specific date time
        format: date-time
        in: query
        name: filter[created_on_after]
        required: false
        type: string
      - description: Request reports created after specific date time
        format: date-time
        in: query
        name: filter[created_on_before]
        required: false
        type: string
      - description: Request reports modified after specific date time
        format: date-time
        in: query
        name: filter[modified_on_after]
        required: false
        type: string
      - description: Request reports modified before specific date time
        format: date-time
        in: query
        name: filter[modified_on_before]
        required: false
        type: string
      - description: Request reports with processing date from specific date (inclusive)
        format: date
        in: query
        name: filter[processing_date_from]
        required: false
        type: string
      - description: Request reports with processing date to specific date (inclusive)
        format: date
        in: query
        name: filter[processing_date_to]
        required: false
        type: string
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        pattern: ^(first|last|[\d]{1,4})$
        required: false
        type: string
      responses:
        200:
          description: List of reports
          schema:
            $ref: '#/definitions/ReportDetailsListResponse'
        400:
          description: Reports bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
      summary: List reports
      tags:
      - Reports
      x-access:
      - Public
  /notification/reports/{id}:
    get:
      operationId: GetReport
      parameters:
      - description: Acceptable Format
        in: header
        name: Accept
        required: true
        type: string
      - description: Report ID
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Report details
          schema:
            $ref: '#/definitions/ReportDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Report Not Found
          schema:
            $ref: '#/definitions/ApiError'
        406:
          description: Report not available in acceptable format
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get report by ID
      tags:
      - Reports
      x-access:
      - Public
  /notification/reports/{id}/admissions/{admissionId}:
    get:
      operationId: GetReportAdmissionByID
      parameters:
      - description: Report Admission ID
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Report Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Get report admission by Id
          schema:
            $ref: '#/definitions/ReportAdmissionDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get Report Admission by ID
      tags:
      - Reports
      x-access:
      - Public
  /notification/schememessages:
    get:
      operationId: ListMessages
      parameters:
      - default: 100
        description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Filter by Admission DateTime
        format: date-time
        in: query
        name: filter[admission.admission_date_from]
        required: false
        type: string
      - description: Filter by Admission DateTime
        format: date-time
        in: query
        name: filter[admission.admission_date_to]
        required: false
        type: string
      - description: Filter by Payment Scheme
        in: query
        name: filter[payment_scheme]
        required: false
        type: string
      - description: Filter by Scheme Message Type
        in: query
        name: filter[scheme_message_type]
        required: false
        type: string
      - description: Filter by Unique SchemeId
        in: query
        name: filter[unique_scheme_id]
        required: false
        type: string
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        pattern: ^(first|last|[\d]{1,4})$
        required: false
        type: string
      responses:
        200:
          description: List of scheme messages
          schema:
            $ref: '#/definitions/SchemeMessageDetailsListResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
      summary: List messages
      tags:
      - SchemeMessages
      x-access:
      - Public
  /notification/schememessages/{id}:
    get:
      operationId: FetchMessage
      parameters:
      - description: Scheme Message Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Scheme Message details
          schema:
            $ref: '#/definitions/SchemeMessageDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Scheme Message Not found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch message
      tags:
      - SchemeMessages
      x-access:
      - Public
  /notification/schememessages/{id}/admissions/{admissionId}:
    get:
      operationId: GetSchemeMessageAdmissionByAdmissionId
      parameters:
      - description: Scheme Message Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Scheme Message Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Get scheme message admission by Id
          schema:
            $ref: '#/definitions/SchemeMessageAdmissionDetailsResponse'
        400:
          description: Scheme Message Admission by Id bad request
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Scheme Message Not found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get Scheme Message Admission By AdmissionId
      tags:
      - SchemeMessages
      x-access:
      - Public
  /notification/subscriptions:
    get:
      operationId: ListSubscriptions
      parameters:
      - collectionFormat: csv
        description: Filter by event type
        in: query
        items:
          type: string
        name: filter[event_type]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by record type
        in: query
        items:
          type: string
        name: filter[record_type]
        required: false
        type: array
      - description: Filter by callback_transport
        in: query
        name: filter[callback_transport]
        required: false
        type: string
      - description: Filter by deactivated
        in: query
        name: filter[deactivated]
        required: false
        type: boolean
      - description: Filter by existence of notification filters
        in: query
        name: filter[notification_filter]
        required: false
        type: boolean
      - description: Filter on callback_uri containing a search term
        in: query
        name: filter[callback_uri_search_term]
        required: false
        type: string
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        pattern: ^[A-z0-9]{4}$
        required: false
        type: string
      responses:
        200:
          description: List of subscription details
          schema:
            $ref: '#/definitions/SubscriptionDetailsListResponse'
      summary: List all subscriptions
      tags:
      - Subscriptions
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateSubscription
      parameters:
      - in: body
        name: Subscription creation request
        required: true
        schema:
          $ref: '#/definitions/SubscriptionCreation'
      responses:
        201:
          description: Subscription creation response
          schema:
            $ref: '#/definitions/SubscriptionCreationResponse'
      summary: Create subscription
      tags:
      - Subscriptions
      x-access:
      - Public
  /notification/subscriptions/{id}:
    delete:
      operationId: DeleteSubscription
      parameters:
      - description: Subscription Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Version
        in: query
        minimum: 0
        name: version
        required: true
        type: integer
      responses:
        204:
          description: Subscription deleted OK. No body content will be returned
      summary: Deletes a subscription
      tags:
      - Subscriptions
      x-access:
      - Public
    get:
      operationId: FetchSubscription
      parameters:
      - description: Subscription Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Subscription details
          schema:
            $ref: '#/definitions/SubscriptionDetailsResponse'
      summary: Fetch subscription
      tags:
      - Subscriptions
      x-access:
      - Public
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PatchSubscription
      parameters:
      - description: Subscription Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Subscription update request
        schema:
          $ref: '#/definitions/SubscriptionAmendment'
      responses:
        200:
          description: Subscription details
          schema:
            $ref: '#/definitions/SubscriptionDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Update subscription details
      tags:
      - Subscriptions
      x-access:
      - Public
  /oauth2/token:
    post:
      consumes:
      - application/x-www-form-urlencoded
      parameters:
      - description: Value MUST be set to "client_credentials" as per RFC
        enum:
        - client_credentials
        in: formData
        name: grant_type
        required: true
        type: string
      produces:
      - application/json
      responses:
        200:
          description: Authorisation token (Bearer)
          schema:
            $ref: '#/definitions/Token'
        403:
          description: Authentication failed
      security:
      - Basic: []
      summary: Request Access Token
      tags:
      - Oauth2
      x-access:
      - Public
  /organisation/accounts:
    get:
      operationId: ListAccounts
      parameters:
      - collectionFormat: csv
        description: Filter by IBAN
        in: query
        items:
          type: string
        name: filter[iban]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by account number
        in: query
        items:
          type: string
        name: filter[account_number]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by account type
        in: query
        items:
          type: string
        name: filter[type]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by bank id e.g. sort code or bic
        in: query
        items:
          type: string
        name: filter[bank_id]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by country e.g. FR,GB
        in: query
        items:
          type: string
        name: filter[country]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by customer_id
        in: query
        items:
          type: string
        name: filter[customer_id]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by type of bank id e.g. "GBDSC"
        in: query
        items:
          type: string
        name: filter[bank_id_code]
        required: false
        type: array
      - description: Cursor value for getting next page
        in: query
        name: page[after]
        required: false
        type: string
      - description: Cursor value for getting previous page
        in: query
        name: page[before]
        required: false
        type: string
      - description: Number of items to select
        in: query
        maximum: 10000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        name: page[number]
        required: false
        type: string
      responses:
        200:
          description: List of account details
          schema:
            $ref: '#/definitions/AccountDetailsListResponse'
      summary: List accounts
      tags:
      - Accounts
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateAccount
      parameters:
      - in: body
        name: Account creation request
        schema:
          $ref: '#/definitions/AccountCreation'
      responses:
        201:
          description: Account creation response
          schema:
            $ref: '#/definitions/AccountCreationResponse'
      summary: Create account
      tags:
      - Accounts
      x-access:
      - Public
  /organisation/accounts/{account_id}/identifications:
    get:
      operationId: ListAccountIdentificationsByAccount
      parameters:
      - collectionFormat: csv
        description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter to only include account identifications with specified
          secondary_identification
        in: query
        items:
          type: string
        name: filter[secondary_identification]
        required: false
        type: array
      - description: Account Id to which this identification relates to
        format: uuid
        in: path
        name: account_id
        required: true
        type: string
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        name: page[number]
        required: false
        type: string
      responses:
        200:
          description: List of account identification
          schema:
            $ref: '#/definitions/AccountIdentificationListResponse'
      summary: List Account Identifications by Account
      tags:
      - AccountIdentification
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateAccountIdentification
      parameters:
      - description: Account Id to which this identification relates to
        format: uuid
        in: path
        name: account_id
        required: true
        type: string
      - in: body
        name: Account Identification creation request
        schema:
          $ref: '#/definitions/AccountIdentificationRequest'
      responses:
        201:
          description: Account Identification creation response
          schema:
            $ref: '#/definitions/AccountIdentificationResponse'
        409:
          description: Account Identification creation error, constraint violation
            of secondary identification
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create an identification for an existing Account
      tags:
      - AccountIdentification
      x-access:
      - Public
  /organisation/accounts/{account_id}/identifications/{identification_id}:
    delete:
      operationId: DeleteAccountIdentification
      parameters:
      - description: Account Id
        format: uuid
        in: path
        name: account_id
        required: true
        type: string
      - description: Account Identification Id
        format: uuid
        in: path
        name: identification_id
        required: true
        type: string
      - description: Version
        in: query
        minimum: 0
        name: version
        required: true
        type: integer
      responses:
        204:
          description: Account Identification deleted
        404:
          description: Account Identification not found
      summary: Delete account identification
      tags:
      - AccountIdentification
      x-access:
      - Public
    get:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: GetAccountIdentification
      parameters:
      - description: Account Id
        format: uuid
        in: path
        name: account_id
        required: true
        type: string
      - description: Account Identification Id
        format: uuid
        in: path
        name: identification_id
        required: true
        type: string
      responses:
        200:
          description: Account Identification response
          schema:
            $ref: '#/definitions/AccountIdentificationResponse'
      summary: Get an account identification by id
      tags:
      - AccountIdentification
      x-access:
      - Public
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PatchAccountIdentification
      parameters:
      - description: Account Id
        format: uuid
        in: path
        name: account_id
        required: true
        type: string
      - description: Account Identification Id; Must match id in the payload
        format: uuid
        in: path
        name: identification_id
        required: true
        type: string
      - in: body
        name: Account identification amend request
        schema:
          $ref: '#/definitions/AccountIdentificationRequest'
      responses:
        200:
          description: Account Identification updated
          schema:
            $ref: '#/definitions/AccountIdentificationResponse'
        409:
          description: Account Identification update error, constraint violation of
            secondary identification
          schema:
            $ref: '#/definitions/ApiError'
      summary: Amend Account Identification
      tags:
      - AccountIdentification
      x-access:
      - Public
  /organisation/accounts/{id}:
    delete:
      operationId: DeleteAccount
      parameters:
      - description: Account Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Version
        in: query
        minimum: 0
        name: version
        required: true
        type: integer
      responses:
        204:
          description: Account deleted
      summary: Delete account
      tags:
      - Accounts
      x-access:
      - Public
    get:
      operationId: GetAccount
      parameters:
      - description: Account Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Account details
          schema:
            $ref: '#/definitions/AccountDetailsResponse'
      summary: Fetch account
      tags:
      - Accounts
      x-access:
      - Public
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PatchAccount
      parameters:
      - description: Account Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: account amend request
        schema:
          $ref: '#/definitions/AccountAmendment'
      responses:
        200:
          description: Account updated
          schema:
            $ref: '#/definitions/AccountDetailsResponse'
      summary: Amend account
      tags:
      - Accounts
      x-access:
      - Public
  /organisation/accounts/{id}/events:
    get:
      operationId: GetAccountEvents
      parameters:
      - description: Account Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        name: page[number]
        required: false
        type: string
      responses:
        200:
          description: Account event list
          schema:
            $ref: '#/definitions/AccountEventListResponse'
      summary: Fetch account events
      tags:
      - Accounts
      x-access:
      - Public
  /organisation/branches:
    get:
      operationId: ListBranches
      parameters:
      - collectionFormat: csv
        description: Filter by acceptance qualifier
        in: query
        items:
          type: string
        name: filter[acceptance_qualifier]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by bank id e.g. sort code or bic
        in: query
        items:
          type: string
        name: filter[bank_id]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by reference mask
        in: query
        items:
          type: string
        name: filter[reference_mask]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by type of bank id e.g. "GBDSC"
        in: query
        items:
          type: string
        name: filter[bank_id_code]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter by validation type e.g. card
        in: query
        items:
          type: string
        name: filter[validation_type]
        required: false
        type: array
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        name: page[number]
        required: false
        type: string
      responses:
        200:
          description: List of branch details
          schema:
            $ref: '#/definitions/BranchDetailsListResponse'
      summary: List branches
      tags:
      - Branches
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateBranch
      parameters:
      - in: body
        name: Branch creation request
        schema:
          $ref: '#/definitions/BranchCreation'
      responses:
        201:
          description: Branch creation response
          schema:
            $ref: '#/definitions/BranchCreationResponse'
        409:
          description: Branch creation error, constraint violation of organisation
            id and bank id
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create a Branch
      tags:
      - Branches
      x-access:
      - Public
  /organisation/branches/{branch_id}/identifications:
    get:
      operationId: ListBranchIdentificationsByBranch
      parameters:
      - collectionFormat: csv
        description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - collectionFormat: csv
        description: Filter to only include branch identifications with specified
          secondary_identification
        in: query
        items:
          type: string
        name: filter[secondary_identification]
        required: false
        type: array
      - description: Branch Id to which this identification relates to
        format: uuid
        in: path
        name: branch_id
        required: true
        type: string
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        name: page[number]
        required: false
        type: string
      responses:
        200:
          description: List of branch identification
          schema:
            $ref: '#/definitions/BranchIdentificationListResponse'
      summary: List Branch Identifications by Branch
      tags:
      - BranchIdentification
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateBranchIdentification
      parameters:
      - description: Branch Id to which this identification relates to
        format: uuid
        in: path
        name: branch_id
        required: true
        type: string
      - in: body
        name: Branch Identification creation request
        schema:
          $ref: '#/definitions/BranchIdentificationRequest'
      responses:
        201:
          description: Branch Identification creation response
          schema:
            $ref: '#/definitions/BranchIdentificationResponse'
        409:
          description: Branch Identification creation error, constraint violation
            of secondary identification
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create an identification for an existing Branch
      tags:
      - BranchIdentification
      x-access:
      - Public
  /organisation/branches/{branch_id}/identifications/{identification_id}:
    delete:
      operationId: DeleteBranchIdentification
      parameters:
      - description: Branch Id
        format: uuid
        in: path
        name: branch_id
        required: true
        type: string
      - description: Branch Identification Id
        format: uuid
        in: path
        name: identification_id
        required: true
        type: string
      - description: Version
        in: query
        minimum: 0
        name: version
        required: true
        type: integer
      responses:
        204:
          description: Branch Identification deleted
        404:
          description: Branch Identification not found
      summary: Delete branch identification
      tags:
      - BranchIdentification
      x-access:
      - Public
    get:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: GetBranchIdentification
      parameters:
      - description: Branch Id
        format: uuid
        in: path
        name: branch_id
        required: true
        type: string
      - description: Branch Identification Id
        format: uuid
        in: path
        name: identification_id
        required: true
        type: string
      responses:
        200:
          description: Branch Identification response
          schema:
            $ref: '#/definitions/BranchIdentificationResponse'
      summary: Get a branch identification by id
      tags:
      - BranchIdentification
      x-access:
      - Public
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PatchBranchIdentification
      parameters:
      - description: Branch Id
        format: uuid
        in: path
        name: branch_id
        required: true
        type: string
      - description: Branch Identification Id; Must match id in the payload
        format: uuid
        in: path
        name: identification_id
        required: true
        type: string
      - in: body
        name: Branch identification amend request
        schema:
          $ref: '#/definitions/BranchIdentificationRequest'
      responses:
        200:
          description: Branch Identification updated
          schema:
            $ref: '#/definitions/BranchIdentificationResponse'
        409:
          description: Branch Identification update error, constraint violation of
            secondary identification
          schema:
            $ref: '#/definitions/ApiError'
      summary: Amend Branch Identification
      tags:
      - BranchIdentification
      x-access:
      - Public
  /organisation/branches/{id}:
    delete:
      operationId: DeleteBranch
      parameters:
      - description: Branch Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Version
        in: query
        minimum: 0
        name: version
        required: true
        type: integer
      responses:
        204:
          description: Branch deleted
      summary: Delete branch
      tags:
      - Branches
      x-access:
      - Public
    get:
      operationId: GetBranch
      parameters:
      - description: Branch Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Branch details
          schema:
            $ref: '#/definitions/BranchDetailsResponse'
      summary: Fetch branch
      tags:
      - Branches
      x-access:
      - Public
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PatchBranch
      parameters:
      - description: Branches Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: branch amend request
        schema:
          $ref: '#/definitions/BranchAmendment'
      responses:
        200:
          description: Branch updated
          schema:
            $ref: '#/definitions/BranchDetailsResponse'
      summary: Amend branch
      tags:
      - Branches
      x-access:
      - Public
  /organisation/nameverifications:
    get:
      parameters:
      - description: Filter by PSP request ID
        format: uuid
        in: query
        name: filter[psp_request_id]
        type: string
      - description: Filter by account classification
        in: query
        name: filter[account_classification]
        required: false
        type: string
      - description: Filter by account number
        in: query
        name: filter[account_number]
        pattern: ^[A-Z0-9]{6,34}$
        required: false
        type: string
      - description: Filter by admission actual name
        in: query
        name: filter[admission.actual_name]
        required: false
        type: string
      - description: Filter by admission answer
        in: query
        name: filter[admission.answer]
        required: false
        type: string
      - description: Filter by admission created date from
        format: date-time
        in: query
        name: filter[admission.created_date_from]
        required: false
        type: string
      - description: Filter by admission created date to
        format: date-time
        in: query
        name: filter[admission.created_date_to]
        required: false
        type: string
      - description: Filter by admission modified date from
        format: date-time
        in: query
        name: filter[admission.modified_date_from]
        required: false
        type: string
      - description: Filter by admission modified date to
        format: date-time
        in: query
        name: filter[admission.modified_date_to]
        required: false
        type: string
      - description: Filter by admission reason code
        in: query
        name: filter[admission.reason_code]
        required: false
        type: string
      - description: Filter by admission reason
        in: query
        name: filter[admission.reason]
        required: false
        type: string
      - description: Filter by admission status
        in: query
        name: filter[admission.status]
        required: false
        type: string
      - description: Filter by bank id code
        in: query
        name: filter[bank_id_code]
        required: false
        type: string
      - description: Filter by bank id
        in: query
        name: filter[bank_id]
        required: false
        type: string
      - description: Filter by created date from
        format: date-time
        in: query
        name: filter[created_date_from]
        required: false
        type: string
      - description: Filter by created date to
        format: date-time
        in: query
        name: filter[created_date_to]
        required: false
        type: string
      - description: Filter by modified date from
        format: date-time
        in: query
        name: filter[modified_date_from]
        required: false
        type: string
      - description: Filter by modified date to
        format: date-time
        in: query
        name: filter[modified_date_to]
        required: false
        type: string
      - description: Filter by name
        in: query
        items:
          maxLength: 256
          minLength: 1
          type: string
        name: filter[name]
        required: false
        type: array
      - description: Filter by organisation id
        format: uuid
        in: query
        name: filter[organisation_id]
        required: false
        type: string
      - description: Filter by secondary identification
        in: query
        name: filter[secondary_identification]
        required: false
        type: string
      - description: Filter by submission actual name
        in: query
        name: filter[submission.actual_name]
        required: false
        type: string
      - description: Filter by submission answer
        in: query
        name: filter[submission.answer]
        required: false
        type: string
      - description: Filter by submission created date from
        format: date-time
        in: query
        name: filter[submission.created_date_from]
        required: false
        type: string
      - description: Filter by submission created date to
        format: date-time
        in: query
        name: filter[submission.created_date_to]
        required: false
        type: string
      - description: Filter by submission modified date from
        format: date-time
        in: query
        name: filter[submission.modified_date_from]
        required: false
        type: string
      - description: Filter by submission modified date to
        format: date-time
        in: query
        name: filter[submission.modified_date_to]
        required: false
        type: string
      - description: Filter by submission reason code
        in: query
        name: filter[submission.reason_code]
        required: false
        type: string
      - description: Filter by submission reason
        in: query
        name: filter[submission.reason]
        required: false
        type: string
      - description: Filter by submission status
        in: query
        name: filter[submission.status]
        required: false
        type: string
      - description: Filter by verification scheme
        in: query
        name: filter[verification_scheme]
        type: string
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        required: false
        type: integer
      responses:
        200:
          description: List of name verification details
          schema:
            $ref: '#/definitions/NameVerificationDetailsListResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: List name verifications
      tags:
      - Name verification API
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      parameters:
      - in: body
        name: Name verification creation request
        schema:
          $ref: '#/definitions/NameVerificationCreation'
      responses:
        201:
          description: created
          schema:
            $ref: '#/definitions/NameVerificationCreationResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Name verification creation request
      tags:
      - Name Verification API
      x-access:
      - Public
  /organisation/nameverifications/{id}:
    get:
      parameters:
      - description: Name Verification ID
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Name verification details
          schema:
            $ref: '#/definitions/NameVerificationDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch name verification resource
      tags:
      - Name Verification API
      x-access:
      - Public
  /organisation/nameverifications/{name_verification_id}/admissions/{id}:
    get:
      consumes:
      - application/json
      - application/vnd.api+json
      parameters:
      - format: uuid
        in: path
        name: id
        required: true
        type: string
      - format: uuid
        in: path
        name: name_verification_id
        required: true
        type: string
      responses:
        200:
          description: Name verification admission details
          schema:
            $ref: '#/definitions/NameVerificationAdmissionDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Name verification admission fetch request
      tags:
      - Name Verification API
      x-access:
      - Public
  /organisation/positions:
    get:
      operationId: ListPositions
      responses:
        200:
          description: List of position details
          schema:
            $ref: '#/definitions/PositionDetailsListResponse'
      summary: List Positions
      tags:
      - PaymentReads
      x-access:
      - Public
  /organisation/units:
    get:
      operationId: ListAllOrganisations
      parameters:
      - description: Child org id
        format: uuid
        in: query
        name: filter[child_organisation_id]
        required: false
        type: string
      - description: Organisation ids
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_ids]
        required: false
        type: array
      responses:
        200:
          description: List of organisation details
          schema:
            $ref: '#/definitions/OrganisationDetailsListResponse'
      summary: List all organisations
      tags:
      - Organisations
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateOrganisation
      parameters:
      - in: body
        name: Organisation creation request
        schema:
          $ref: '#/definitions/OrganisationCreation'
      responses:
        201:
          description: Organisation creation response
          schema:
            $ref: '#/definitions/OrganisationCreationResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create organisation
      tags:
      - Organisations
      x-access:
      - Public
  /organisation/units/{id}:
    get:
      operationId: FetchOrganisation
      parameters:
      - description: Organisation Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Organisation details
          schema:
            $ref: '#/definitions/OrganisationDetailsResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch organisation
      tags:
      - Organisations
      x-access:
      - Public
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: UpdateOrganisation
      parameters:
      - description: Organisation Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Organisation update request
        schema:
          $ref: '#/definitions/OrganisationUpdate'
      responses:
        200:
          description: Organisation details
          schema:
            $ref: '#/definitions/OrganisationDetailsResponse'
        400:
          description: Bad request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Update organisation
      tags:
      - Organisations
      x-access:
      - Public
  /platform/security/signing_keys:
    get:
      operationId: ListSigningKeys
      responses:
        200:
          description: keys returned
          schema:
            $ref: '#/definitions/SigningKeysListResponse'
        400:
          description: Bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        502:
          description: Bad gateway
          schema:
            $ref: '#/definitions/ApiError'
        default:
          description: Default response
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get a list of Signing Keys
      tags:
      - platformsecurityapi
      x-access:
      - Public
  /platform/security/signing_keys/{signingkey_id}:
    get:
      operationId: GetSigningKey
      parameters:
      - description: Signing Key ID
        format: uuid
        in: path
        name: signingkey_id
        required: true
        type: string
      responses:
        200:
          description: signing key response
          schema:
            $ref: '#/definitions/SigningKeysResponse'
        400:
          description: Bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not found
          schema:
            $ref: '#/definitions/ApiError'
        502:
          description: Bad gateway
          schema:
            $ref: '#/definitions/ApiError'
        default:
          description: Default response
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch a Signing Key
      tags:
      - platformsecurityapi
      x-access:
      - Public
  /security/roles:
    get:
      operationId: ListAllRoles
      parameters:
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        required: false
        type: integer
      responses:
        200:
          description: List of role details
          schema:
            $ref: '#/definitions/RoleDetailsListResponse'
      summary: List all roles
      tags:
      - Roles
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateRole
      parameters:
      - in: body
        name: Role creation request
        schema:
          $ref: '#/definitions/RoleCreation'
      responses:
        201:
          description: Role creation response
          schema:
            $ref: '#/definitions/RoleCreationResponse'
        400:
          description: Bad request
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create role
      tags:
      - Roles
      x-access:
      - Public
  /security/roles/{role_id}:
    delete:
      operationId: DeleteRole
      parameters:
      - description: Role Id
        format: uuid
        in: path
        name: role_id
        required: true
        type: string
      - description: Version
        in: query
        minimum: 0
        name: version
        required: true
        type: integer
      responses:
        204:
          description: Role deleted
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
      summary: Delete role
      tags:
      - Roles
      x-access:
      - Public
    get:
      operationId: FetchRole
      parameters:
      - description: Role Id
        format: uuid
        in: path
        name: role_id
        required: true
        type: string
      responses:
        200:
          description: Role details
          schema:
            $ref: '#/definitions/RoleDetailsResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch role
      tags:
      - Roles
      x-access:
      - Public
  /security/roles/{role_id}/aces:
    get:
      operationId: ListAllAccessControlsForRole
      parameters:
      - description: Role Id
        format: uuid
        in: path
        name: role_id
        required: true
        type: string
      responses:
        200:
          description: List of ACE details
          schema:
            $ref: '#/definitions/AceDetailsListResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: List all Access Controls for role
      tags:
      - ACE
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateAccessControlEntry
      parameters:
      - description: Role Id
        format: uuid
        in: path
        name: role_id
        required: true
        type: string
      - in: body
        name: ACE creation request
        schema:
          $ref: '#/definitions/AceCreation'
      responses:
        201:
          description: ACE creation response
          schema:
            $ref: '#/definitions/AceCreationResponse'
        400:
          description: Bad request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create Access Control Entry
      tags:
      - ACE
      x-access:
      - Public
  /security/roles/{role_id}/aces/{ace_id}:
    delete:
      operationId: DeleteAccessControlEntry
      parameters:
      - description: Ace Id
        format: uuid
        in: path
        name: ace_id
        required: true
        type: string
      - description: Role Id
        format: uuid
        in: path
        name: role_id
        required: true
        type: string
      responses:
        204:
          description: ACE deleted OK
        400:
          description: Bad request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Delete Access Control Entry
      tags:
      - ACE
      x-access:
      - Public
    get:
      operationId: FetchAccessControlEntry
      parameters:
      - description: Ace Id
        format: uuid
        in: path
        name: ace_id
        required: true
        type: string
      - description: Role Id
        format: uuid
        in: path
        name: role_id
        required: true
        type: string
      responses:
        200:
          description: ACE details
          schema:
            $ref: '#/definitions/AceDetailsResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch Access Control Entry
      tags:
      - ACE
      x-access:
      - Public
  /security/users:
    get:
      operationId: ListAllUsers
      parameters:
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        required: false
        type: integer
      responses:
        200:
          description: List of user details
          schema:
            $ref: '#/definitions/UserDetailsListResponse'
      summary: List all users
      tags:
      - Users
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateUser
      parameters:
      - in: body
        name: User creation request
        schema:
          $ref: '#/definitions/UserCreation'
      responses:
        201:
          description: User creation response
          schema:
            $ref: '#/definitions/UserCreationResponse'
        400:
          description: Bad request
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create user
      tags:
      - Users
      x-access:
      - Public
  /security/users/{user_id}:
    delete:
      operationId: DeleteUser
      parameters:
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      - description: Version
        in: query
        minimum: 0
        name: version
        required: true
        type: integer
      responses:
        204:
          description: User deleted
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
      summary: Delete user
      tags:
      - Users
      x-access:
      - Public
    get:
      operationId: FetchUser
      parameters:
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        200:
          description: User details
          schema:
            $ref: '#/definitions/UserDetailsResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch user
      tags:
      - Users
      x-access:
      - Public
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: UpdateUserDetails
      parameters:
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      - in: body
        name: User update request
        schema:
          $ref: '#/definitions/UserCreation'
      responses:
        200:
          description: User details
          schema:
            $ref: '#/definitions/UserDetailsResponse'
        400:
          description: Bad request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Update user details
      tags:
      - Users
      x-access:
      - Public
  /security/users/{user_id}/aces:
    get:
      operationId: FetchAccessControlListForUser
      parameters:
      - description: Access action
        in: query
        name: filter[action]
        required: false
        type: string
      - description: Record type
        in: query
        name: filter[record_type]
        required: false
        type: string
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        200:
          description: List of access control entries for this user
          schema:
            $ref: '#/definitions/AceDetailsListResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch access control list for user
      tags:
      - Users
      x-access:
      - Public
  /security/users/{user_id}/authn/public_keys:
    get:
      operationId: ListPublicKeysForUser
      parameters:
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        200:
          description: List of all public keys for given user
          schema:
            $ref: '#/definitions/PublicKeysListResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: List all public keys associated with the user
      tags:
      - Public Keys
      - Users
      x-access:
      - Public
  /security/users/{user_id}/authn/public_keys/{public_key_id}:
    get:
      operationId: FetchPublicKeyForUser
      parameters:
      - description: Public Key Id
        format: uuid
        in: path
        name: public_key_id
        required: true
        type: string
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        200:
          description: Public key
          schema:
            $ref: '#/definitions/PublicKeyResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch public key for user
      tags:
      - Public Keys
      - Users
      x-access:
      - Public
  /security/users/{user_id}/credentials:
    get:
      operationId: FetchCredentialsForUser
      parameters:
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        200:
          description: List of credentials for user
          schema:
            $ref: '#/definitions/UserCredentialListResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch credentials for user
      tags:
      - Users
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateNewCredentialsForUser
      parameters:
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        201:
          description: Credential creation response
          schema:
            $ref: '#/definitions/CredentialCreationResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create new credentials for user
      tags:
      - Users
      x-access:
      - Public
  /security/users/{user_id}/credentials/{client_id}:
    delete:
      operationId: DeleteCredentialsForUser
      parameters:
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      - description: client id
        in: path
        name: client_id
        required: true
        type: string
      responses:
        204:
          description: Credential deleted
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Delete credentials for user
      tags:
      - Users
      x-access:
      - Public
  /security/users/{user_id}/roles:
    get:
      operationId: FetchAllRolesForUser
      parameters:
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        200:
          description: List of roles for user
          schema:
            $ref: '#/definitions/UserRoleListResponse'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch all roles for user
      tags:
      - Users
      x-access:
      - Public
  /security/users/{user_id}/roles/{role_id}:
    delete:
      operationId: RemoveRoleFromUser
      parameters:
      - description: Role Id
        format: uuid
        in: path
        name: role_id
        required: true
        type: string
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        204:
          description: User role deleted OK
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Remove role from user
      tags:
      - Users
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: AddRoleToUser
      parameters:
      - description: Role Id
        format: uuid
        in: path
        name: role_id
        required: true
        type: string
      - description: User Id
        format: uuid
        in: path
        name: user_id
        required: true
        type: string
      responses:
        201:
          description: Role set OK
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Add role to user
      tags:
      - Users
      x-access:
      - Public
  /transaction/claims:
    get:
      parameters:
      - description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        required: false
        type: integer
      - format: date-time
        in: query
        name: filter[reversal.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[reversal.submission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[submission.submission_date_to]
        required: false
        type: string
      - in: query
        name: filter[beneficiary_party.account_number]
        required: false
        type: string
      - in: query
        name: filter[beneficiary_party.bank_id]
        required: false
        type: string
      - in: query
        name: filter[clearing_id]
        required: false
        type: string
      - in: query
        name: filter[contact_name]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.account_number]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.bank_id]
        required: false
        type: string
      - in: query
        name: filter[original_instruction.reference]
        required: false
        type: string
      - in: query
        name: filter[payment_scheme]
        required: false
        type: string
      - in: query
        name: filter[reason_code]
        required: false
        type: string
      - in: query
        name: filter[reference]
        required: false
        type: string
      - in: query
        name: filter[reversal.status]
        required: false
        type: string
      - in: query
        name: filter[submission.status]
        required: false
        type: string
      responses:
        200:
          description: List of claims details
          schema:
            $ref: '#/definitions/ClaimDetailsListResponse'
      summary: List claims
      tags:
      - Claims
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      parameters:
      - in: body
        name: Claim creation request
        schema:
          $ref: '#/definitions/ClaimCreation'
      responses:
        201:
          description: Claim creation response
          schema:
            $ref: '#/definitions/ClaimDetailsResponse'
        400:
          description: Claim creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create Claim
      tags:
      - Claims
      x-access:
      - Public
  /transaction/claims/{id}:
    get:
      parameters:
      - description: Claim Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Claim details
          schema:
            $ref: '#/definitions/ClaimDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch claim
      tags:
      - Claims
      x-access:
      - Public
  /transaction/claims/{id}/reversals:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      parameters:
      - description: Claim Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Claim Reversal creation request
        schema:
          $ref: '#/definitions/ClaimReversalCreation'
      responses:
        201:
          description: Claim Reversal creation response
          schema:
            $ref: '#/definitions/ClaimReversalDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create Claim Reversal
      tags:
      - Claims
      x-access:
      - Public
  /transaction/claims/{id}/reversals/{reversalId}:
    get:
      parameters:
      - description: Claim Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Claim Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      responses:
        200:
          description: Claim Reversal details
          schema:
            $ref: '#/definitions/ClaimReversalDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch Claim Reversal
      tags:
      - Claims
      x-access:
      - Public
  /transaction/claims/{id}/reversals/{reversalId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      parameters:
      - description: Claim Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Claim Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      - in: body
        name: Claim Reversal Submission creation request
        schema:
          $ref: '#/definitions/ClaimReversalSubmissionCreation'
      responses:
        201:
          description: Claim Reversal Submission creation response
          schema:
            $ref: '#/definitions/ClaimReversalSubmissionDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create Claim Reversal Submission
      tags:
      - Claims
      x-access: Public
  /transaction/claims/{id}/reversals/{reversalId}/submissions/{submissionId}:
    get:
      parameters:
      - description: Claim Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Claim Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      - description: Claim Reversal Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Claim Reversal Submission details
          schema:
            $ref: '#/definitions/ClaimReversalSubmissionDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch Claim Reversal Submission
      tags:
      - Claims
      x-access:
      - Public
  /transaction/claims/{id}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      parameters:
      - description: Claim Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Claim Submission creation request
        schema:
          $ref: '#/definitions/ClaimSubmissionCreation'
      responses:
        201:
          description: Claim Submission creation response
          schema:
            $ref: '#/definitions/ClaimSubmissionDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create Claim Submission
      tags:
      - Claims
      x-access:
      - Public
  /transaction/claims/{id}/submissions/{submissionId}:
    get:
      parameters:
      - description: Claim Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Claim Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Claim Submission details
          schema:
            $ref: '#/definitions/ClaimSubmissionDetailsResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch Claim Submission
      tags:
      - Claims
      x-access:
      - Public
  /transaction/directdebits:
    get:
      operationId: GetDirectdebits
      parameters:
      - description: Cursor for next page (this is a base64-encoded UUID continuation
          token returned from the application and should not be manually generated,
          unless requesting the first page, where the value should be set to "start").
        in: query
        name: page[after]
        required: false
        type: string
      - description: Cursor for previous page (this is a base64-encoded UUID continuation
          token returned from the application and should not be manually generated,
          unless requesting the last page, where the value should be set to "end").
        in: query
        name: page[before]
        required: false
        type: string
      - description: Filter by admission scheme status code
        in: query
        name: filter[admission.scheme_status_code]
        required: false
        type: string
      - description: Filter by admission status
        in: query
        name: filter[admission.status]
        required: false
        type: string
      - description: Filter by amount
        in: query
        name: filter[amount]
        required: false
        type: string
      - description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - description: Filter by reference
        in: query
        name: filter[reference]
        required: false
        type: string
      - description: Filter by submission scheme status code
        in: query
        name: filter[submission.scheme_status_code]
        required: false
        type: string
      - description: Filter by submission status
        in: query
        name: filter[submission.status]
        required: false
        type: string
      - description: Filter by unique scheme id
        in: query
        name: filter[unique_scheme_id]
        required: false
        type: string
      - description: Filter for direct debits containing all of the requested relationships
        in: query
        items:
          enum:
          - decisions
          - direct_debit_admissions
          - direct_debit_submissions
          - recalls
          - returns
          - reversals
          type: string
        name: filter[relationships]
        required: false
        type: array
      - description: Filter for direct debits containing none of the requested relationships
        in: query
        items:
          enum:
          - decisions
          - direct_debit_admissions
          - direct_debit_submissions
          - recalls
          - returns
          - reversals
          type: string
        name: filter[not_relationships]
        required: false
        type: array
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select. page[number] * page[size] is restricted
          to less than 10,000.
        in: query
        minimum: 0
        name: page[number]
        pattern: ^[A-z0-9]{4}$
        required: false
        type: string
      - format: date
        in: query
        name: filter[processing_date_from]
        required: false
        type: string
      - format: date
        in: query
        name: filter[processing_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[admission.admission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[admission.admission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[created_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[created_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[modified_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[modified_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[return_submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[return_submission.submission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[submission.submission_date_to]
        required: false
        type: string
      - in: query
        name: filter[beneficiary_party.account_number]
        required: false
        type: string
      - in: query
        name: filter[beneficiary_party.bank_id]
        required: false
        type: string
      - in: query
        name: filter[clearing_id]
        required: false
        type: string
      - in: query
        name: filter[currency]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.account_number]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.bank_id]
        required: false
        type: string
      - in: query
        name: filter[payment_scheme]
        required: false
        type: string
      - in: query
        name: filter[payment_type]
        required: false
        type: string
      responses:
        200:
          description: List of direct debit details
          schema:
            $ref: '#/definitions/DirectDebitDetailsListResponse'
      summary: List direct debits
      tags:
      - DirectDebitsReads
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebits
      parameters:
      - in: body
        name: Direct Debit creation request
        schema:
          $ref: '#/definitions/DirectDebitCreation'
      responses:
        201:
          description: Direct Debit creation response
          schema:
            $ref: '#/definitions/DirectDebitCreationResponse'
        400:
          description: Direct Debit creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create Direct debit
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}:
    get:
      operationId: GetDirectdebitsID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      responses:
        200:
          description: Direct Debit details
          schema:
            $ref: '#/definitions/DirectDebitDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch direct debit
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/admissions/{admissionId}:
    get:
      operationId: GetDirectdebitsIDAdmissionsAdmissionID
      parameters:
      - $ref: '#/parameters/admissionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      responses:
        200:
          description: Direct Debit Admission details
          schema:
            $ref: '#/definitions/DirectDebitAdmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch Direct Debit Admission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/decisions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebitsIDDecisions
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - in: body
        name: Direct Debit decision creation request
        schema:
          $ref: '#/definitions/DirectDebitDecisionCreation'
      responses:
        201:
          description: Direct Debit decision creation response
          schema:
            $ref: '#/definitions/DirectDebitDecisionCreationResponse'
        400:
          description: Direct Debit decision creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Direct Debit decision creation conflict error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create direct debit decision
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/decisions/{decisionId}:
    get:
      operationId: GetDirectdebitsIDDecisionsDecisionID
      parameters:
      - $ref: '#/parameters/decisionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      responses:
        200:
          description: Direct debit decision details
          schema:
            $ref: '#/definitions/DirectDebitDecisionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get direct debit decision
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/decisions/{decisionId}/admissions/{admissionId}:
    get:
      operationId: GetDirectdebitsIDDecisionsDecisionIDAdmissionsAdmissionID
      parameters:
      - $ref: '#/parameters/admissionIdParam'
      - $ref: '#/parameters/decisionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      responses:
        200:
          description: Decision admission details
          schema:
            $ref: '#/definitions/DirectDebitDecisionAdmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch decision admission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/decisions/{decisionId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebitsIDDecisionsDecisionIDSubmissions
      parameters:
      - $ref: '#/parameters/decisionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      - in: body
        name: Direct Debit decision submission creation request
        schema:
          $ref: '#/definitions/DirectDebitDecisionSubmissionCreation'
      responses:
        201:
          description: Direct Debit decision submission creation response
          schema:
            $ref: '#/definitions/DirectDebitDecisionSubmissionCreationResponse'
        400:
          description: Direct Debit decision submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Direct Debit decision submission creation conflict error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create direct debit decision submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/decisions/{decisionId}/submissions/{submissionId}:
    get:
      operationId: GetDirectdebitsIDDecisionsDecisionIDSubmissionsSubmissionID
      parameters:
      - $ref: '#/parameters/decisionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/submissionIdParam'
      responses:
        200:
          description: Direct debit decision details
          schema:
            $ref: '#/definitions/DirectDebitDecisionSubmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get direct debit decision submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/recalls:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebitsIDRecalls
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - in: body
        name: Recall creation request
        schema:
          $ref: '#/definitions/DirectDebitRecallCreation'
      responses:
        201:
          description: Recall creation response
          schema:
            $ref: '#/definitions/DirectDebitRecallCreationResponse'
        400:
          description: Recall creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create recall
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/recalls/{recallId}:
    get:
      operationId: GetDirectdebitsIDRecallsRecallID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/recallIdParam'
      responses:
        200:
          description: Recall details
          schema:
            $ref: '#/definitions/DirectDebitRecallDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch recall
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/recalls/{recallId}/admissions/{admissionId}:
    get:
      operationId: GetDirectdebitsIDRecallsRecallIDAdmissionsAdmissionID
      parameters:
      - $ref: '#/parameters/admissionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/recallIdParam'
      responses:
        200:
          description: Recall admission details
          schema:
            $ref: '#/definitions/DirectDebitRecallAdmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch recall admission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/recalls/{recallId}/submissions/{submissionId}:
    get:
      operationId: GetDirectdebitsIDRecallsRecallIDSubmissionsSubmissionID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/recallIdParam'
      - $ref: '#/parameters/submissionIdParam'
      responses:
        200:
          description: Recall submission details
          schema:
            $ref: '#/definitions/DirectDebitRecallSubmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch recall submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/returns:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebitsIDReturns
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - in: body
        name: Return creation request
        schema:
          $ref: '#/definitions/DirectDebitReturnCreation'
      responses:
        201:
          description: Return creation response
          schema:
            $ref: '#/definitions/DirectDebitReturnCreationResponse'
        400:
          description: Return creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Return creation conflict error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create direct debit return
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/returns/{returnId}:
    get:
      operationId: GetDirectdebitsIDReturnsReturnID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/returnIdParam'
      responses:
        200:
          description: Return details
          schema:
            $ref: '#/definitions/DirectDebitReturnDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch direct debit return
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/returns/{returnId}/admissions/{admissionId}:
    get:
      operationId: GetDirectdebitsIDReturnsReturnIDAdmissionsAdmissionID
      parameters:
      - $ref: '#/parameters/admissionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/returnIdParam'
      responses:
        200:
          description: Reversal admission details
          schema:
            $ref: '#/definitions/DirectDebitReturnAdmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch return admission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/returns/{returnId}/reversals/{reversalId}:
    get:
      operationId: GetDirectdebitsIDReturnsReturnIDReversalsReversalID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/returnIdParam'
      - $ref: '#/parameters/reversalIdParam'
      responses:
        200:
          description: Reversal reversal details
          schema:
            $ref: '#/definitions/DirectDebitReturnReversalDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch return admission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/returns/{returnId}/reversals/{reversalId}/admissions/{admissionId}:
    get:
      operationId: GetDirectdebitsIDReturnsReturnIDReversalsReversalIDAdmissionsAdmissionID
      parameters:
      - $ref: '#/parameters/admissionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/returnIdParam'
      - $ref: '#/parameters/reversalIdParam'
      responses:
        200:
          description: Reversal admission details
          schema:
            $ref: '#/definitions/DirectDebitReturnReversalAdmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch return admission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/returns/{returnId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebitsIDReturnsReturnIDSubmissions
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/returnIdParam'
      - in: body
        name: Return submission creation request
        schema:
          $ref: '#/definitions/DirectDebitReturnSubmissionCreation'
      responses:
        201:
          description: Return submission creation response
          schema:
            $ref: '#/definitions/DirectDebitReturnSubmissionCreationResponse'
        400:
          description: Return submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: create direct debit return submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/returns/{returnId}/submissions/{submissionId}:
    get:
      operationId: GetDirectdebitsIDReturnsReturnIDSubmissionsSubmissionID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/returnIdParam'
      - $ref: '#/parameters/submissionIdParam'
      responses:
        200:
          description: Return submission details
          schema:
            $ref: '#/definitions/DirectDebitReturnSubmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch return submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/reversals:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebitsIDReversals
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - in: body
        name: Reversal creation request
        schema:
          $ref: '#/definitions/DirectDebitReversalCreation'
      responses:
        201:
          description: Reversal creation response
          schema:
            $ref: '#/definitions/DirectDebitReversalCreationResponse'
        400:
          description: Reversal creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Reversal creation conflict error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create direct debit reversal
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/reversals/{reversalId}:
    get:
      operationId: GetDirectdebitsIDReversalsReversalID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/reversalIdParam'
      responses:
        200:
          description: Reversal details
          schema:
            $ref: '#/definitions/DirectDebitReversalDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch direct debit reversal
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/reversals/{reversalId}/admissions/{admissionId}:
    get:
      operationId: GetDirectdebitsIDReversalsReversalIDAdmissionsAdmissionID
      parameters:
      - $ref: '#/parameters/admissionIdParam'
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/reversalIdParam'
      responses:
        200:
          description: Reversal admission details
          schema:
            $ref: '#/definitions/DirectDebitReversalAdmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch reversal admission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/reversals/{reversalId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebitsIDReversalsReversalIDSubmissions
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/reversalIdParam'
      - in: body
        name: Reversal submission creation request
        schema:
          $ref: '#/definitions/DirectDebitReversalSubmissionCreation'
      responses:
        201:
          description: Reversal submission creation response
          schema:
            $ref: '#/definitions/DirectDebitReversalSubmissionCreationResponse'
        400:
          description: Reversal submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: create reversal submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/reversals/{reversalId}/submissions/{submissionId}:
    get:
      operationId: GetDirectdebitsIDReversalsReversalIDSubmissionsSubmissionID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/reversalIdParam'
      - $ref: '#/parameters/submissionIdParam'
      responses:
        200:
          description: Reversal submission details
          schema:
            $ref: '#/definitions/DirectDebitReversalSubmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch reversal submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostDirectdebitsIDSubmissions
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - in: body
        name: Direct debit submission creation request
        schema:
          $ref: '#/definitions/DirectDebitSubmissionCreation'
      responses:
        201:
          description: Direct debit submission creation response
          schema:
            $ref: '#/definitions/DirectDebitSubmissionCreationResponse'
        400:
          description: Direct debit submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create direct debit submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/directdebits/{id}/submissions/{submissionId}:
    get:
      operationId: GetDirectdebitsIDSubmissionsSubmissionID
      parameters:
      - $ref: '#/parameters/directDebitIdParam'
      - $ref: '#/parameters/submissionIdParam'
      responses:
        200:
          description: Direct debit submission details
          schema:
            $ref: '#/definitions/DirectDebitSubmissionDetailsResponse'
        404:
          description: Not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get direct debit submission
      tags:
      - DirectDebits
      x-access:
      - Public
  /transaction/mandates:
    get:
      operationId: GetMandates
      parameters:
      - description: Filter by admission scheme status code
        in: query
        name: filter[admission.scheme_status_code]
        required: false
        type: string
      - description: Filter by admission status
        in: query
        name: filter[admission.status]
        required: false
        type: string
      - description: Filter by amount
        in: query
        name: filter[amount]
        required: false
        type: string
      - description: Filter by mandate status reason
        in: query
        name: filter[status_reason]
        type: string
      - description: Filter by mandate status
        in: query
        name: filter[status]
        required: false
        type: string
      - description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - description: Filter by reference
        in: query
        name: filter[reference]
        required: false
        type: string
      - description: Filter by unique scheme id
        in: query
        name: filter[unique_scheme_id]
        required: false
        type: string
      - description: Include old versions of mandates
        in: query
        name: filter[all_versions]
        required: false
        type: boolean
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        pattern: ^[A-z0-9]{4}$
        required: false
        type: string
      - format: date
        in: query
        name: filter[processing_date_from]
        required: false
        type: string
      - format: date
        in: query
        name: filter[processing_date_to]
        required: false
        type: string
      - format: date
        in: query
        name: filter[scheme_processing_date_from]
        required: false
        type: string
      - format: date
        in: query
        name: filter[scheme_processing_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[admission.admission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[admission.admission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[submission.submission_date_to]
        required: false
        type: string
      - in: query
        name: filter[beneficiary_party.account_number]
        required: false
        type: string
      - in: query
        name: filter[beneficiary_party.bank_id]
        required: false
        type: string
      - in: query
        name: filter[clearing_id]
        required: false
        type: string
      - in: query
        name: filter[currency]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.account_number]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.bank_id]
        required: false
        type: string
      - in: query
        name: filter[payment_scheme]
        required: false
        type: string
      - in: query
        name: filter[scheme_payment_type]
        required: false
        type: string
      responses:
        200:
          description: List of mandates details
          schema:
            $ref: '#/definitions/MandateDetailsListResponse'
      summary: List mandates
      tags:
      - Mandates
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostMandates
      parameters:
      - in: body
        name: Mandate creation request
        schema:
          $ref: '#/definitions/MandateCreation'
      responses:
        201:
          description: Mandate creation response
          schema:
            $ref: '#/definitions/MandateCreationResponse'
        400:
          description: Mandate creation error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Mandate creation conflict Error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create Mandate
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/mandates/{id}:
    get:
      operationId: GetMandatesID
      parameters:
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Mandate details
          schema:
            $ref: '#/definitions/MandateDetailsResponse'
        404:
          description: Mandate not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch mandate
      tags:
      - Mandates
      x-access:
      - Public
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PatchMandatesID
      parameters:
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Mandate amendment
        schema:
          $ref: '#/definitions/MandateAmendment'
      responses:
        200:
          description: Mandate details
          schema:
            $ref: '#/definitions/MandateDetailsResponse'
        400:
          description: Mandate update error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Mandate not found error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Mandate conflict error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Update mandate
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/mandates/{id}/admissions/{admissionId}:
    get:
      operationId: GetMandatesIDAdmissionsAdmissionID
      parameters:
      - description: Mandate Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Mandate Admission details
          schema:
            $ref: '#/definitions/MandateAdmissionDetailsResponse'
        404:
          description: Mandate Admission not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch Mandate Admission
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/mandates/{id}/returns:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostMandatesIDReturns
      parameters:
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Return creation request
        schema:
          $ref: '#/definitions/MandateReturnCreation'
      responses:
        201:
          description: Return creation response
          schema:
            $ref: '#/definitions/MandateReturnCreationResponse'
        400:
          description: Return creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Mandate not found error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Mandate Return conflict error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create mandate return
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/mandates/{id}/returns/{returnId}:
    get:
      operationId: GetMandatesIDReturnsReturnID
      parameters:
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      responses:
        200:
          description: Return details
          schema:
            $ref: '#/definitions/MandateReturnDetailsResponse'
        404:
          description: Mandate Return not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch mandate return
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/mandates/{id}/returns/{returnId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostMandatesIDReturnsReturnIDSubmissions
      parameters:
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      - in: body
        name: Return submission creation request
        schema:
          $ref: '#/definitions/MandateReturnSubmissionCreation'
      responses:
        201:
          description: Return submission creation response
          schema:
            $ref: '#/definitions/MandateReturnSubmissionCreationResponse'
        400:
          description: Return submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Mandate Return not found error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Mandate Return Submission conflict error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create mandate return submission
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/mandates/{id}/returns/{returnId}/submissions/{submissionId}:
    get:
      operationId: GetMandatesIDReturnsReturnIDSubmissionsSubmissionID
      parameters:
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      - description: Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Return submission details
          schema:
            $ref: '#/definitions/MandateReturnSubmissionDetailsResponse'
        404:
          description: Mandate Return Submission not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch return submission
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/mandates/{id}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PostMandatesIDSubmissions
      parameters:
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Mandate Submission creation request
        schema:
          $ref: '#/definitions/MandateSubmissionCreation'
      responses:
        201:
          description: Mandate Submission creation response
          schema:
            $ref: '#/definitions/MandateSubmissionDetailsResponse'
        400:
          description: Mandate Submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Mandate Submission conflict error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create Mandate Submission
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/mandates/{id}/submissions/{submissionId}:
    get:
      operationId: GetMandatesIDSubmissionsSubmissionID
      parameters:
      - description: Mandate Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Mandate Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Mandate Submission details
          schema:
            $ref: '#/definitions/MandateSubmissionDetailsResponse'
        400:
          description: Error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Mandate not found error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch Mandate Submission
      tags:
      - Mandates
      x-access:
      - Public
  /transaction/payments:
    get:
      operationId: ListPayments
      parameters:
      - collectionFormat: csv
        description: Filter for payments containing none of the requested relationships
        in: query
        items:
          enum:
          - payment_admissions
          - payment_advices
          - payment_submissions
          - recalls
          - returns
          - reversals
          type: string
        name: filter[not_relationships]
        required: false
        type: array
      - description: Cursor for next page (this is a base64-encoded UUID continuation
          token returned from the application and should not be manually generated,
          unless requesting the first page, where the value should be set to "start").
        in: query
        name: page[after]
        required: false
        type: string
      - description: Cursor for previous page (this is a base64-encoded UUID continuation
          token returned from the application and should not be manually generated,
          unless requesting the last page, where the value should be set to "end").
        in: query
        name: page[before]
        required: false
        type: string
      - description: Filter by admission scheme status code
        in: query
        name: filter[admission.scheme_status_code]
        required: false
        type: string
      - description: Filter by admission status
        in: query
        name: filter[admission.status]
        required: false
        type: string
      - description: Filter by organisation id
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        required: false
        type: array
      - description: Filter by return submission status
        in: query
        name: filter[return_submission.status]
        required: false
        type: string
      - description: Filter by route
        in: query
        name: filter[route]
        required: false
        type: string
      - description: Filter by submission scheme status code
        in: query
        name: filter[submission.scheme_status_code]
        required: false
        type: string
      - description: Filter by submission status
        in: query
        name: filter[submission.status]
        required: false
        type: string
      - description: Filter for payments containing all of the requested relationships
        in: query
        items:
          enum:
          - payment_admissions
          - payment_advices
          - payment_submissions
          - recalls
          - returns
          - reversals
          type: string
        name: filter[relationships]
        required: false
        type: array
      - description: Number of items to select.
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        required: false
        type: integer
      - description: Which page to select. page[number] * page[size] is restricted
          to less than 10,000.
        in: query
        minimum: 0
        name: page[number]
        pattern: ^[A-z0-9]{4}$
        required: false
        type: string
      - format: date
        in: query
        name: filter[admission.settlement_date]
        required: false
        type: string
      - format: date
        in: query
        name: filter[created_date_from]
        required: false
        type: string
      - format: date
        in: query
        name: filter[created_date_to]
        required: false
        type: string
      - format: date
        in: query
        name: filter[processing_date_from]
        required: false
        type: string
      - format: date
        in: query
        name: filter[processing_date_to]
        required: false
        type: string
      - format: date
        in: query
        name: filter[return_admission.settlement_date]
        required: false
        type: string
      - format: date
        in: query
        name: filter[return_submission.settlement_date]
        required: false
        type: string
      - format: date
        in: query
        name: filter[submission.settlement_date]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[admission.admission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[admission.admission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[recall_admission.admission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[recall_admission.admission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[recall_decision_submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[recall_decision_submission.submission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[recall_submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[recall_submission.submission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[return_admission.admission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[return_admission.admission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[return_submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[return_submission.submission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[reversal_admission.admission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[reversal_admission.admission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[reversal_submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[reversal_submission.submission_date_to]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[submission.submission_date_from]
        required: false
        type: string
      - format: date-time
        in: query
        name: filter[submission.submission_date_to]
        required: false
        type: string
      - format: uuid
        in: query
        name: filter[admission.id]
        required: false
        type: string
      - format: uuid
        in: query
        name: filter[recall.id]
        required: false
        type: string
      - format: uuid
        in: query
        name: filter[recall_submission.id]
        required: false
        type: string
      - format: uuid
        in: query
        name: filter[return.id]
        required: false
        type: string
      - format: uuid
        in: query
        name: filter[reversal.id]
        required: false
        type: string
      - format: uuid
        in: query
        name: filter[submission.id]
        required: false
        type: string
      - in: query
        minimum: 0
        name: filter[admission.settlement_cycle]
        required: false
        type: integer
      - in: query
        minimum: 0
        name: filter[return_admission.settlement_cycle]
        required: false
        type: integer
      - in: query
        minimum: 0
        name: filter[return_submission.settlement_cycle]
        required: false
        type: integer
      - in: query
        minimum: 0
        name: filter[submission.settlement_cycle]
        required: false
        type: integer
      - in: query
        name: filter[amount]
        required: false
        type: string
      - in: query
        name: filter[amount][from]
        required: false
        type: number
      - in: query
        name: filter[amount][to]
        required: false
        type: number
      - in: query
        name: filter[beneficiary_party.account_name]
        required: false
        type: string
      - in: query
        name: filter[beneficiary_party.account_number]
        required: false
        type: string
      - in: query
        name: filter[beneficiary_party.bank_id]
        required: false
        type: string
      - in: query
        name: filter[currency]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.account_name]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.account_number]
        required: false
        type: string
      - in: query
        name: filter[debtor_party.bank_id]
        required: false
        type: string
      - in: query
        name: filter[end_to_end_reference]
        required: false
        type: string
      - in: query
        name: filter[payment_scheme]
        required: false
        type: string
      - in: query
        name: filter[payment_type]
        required: false
        type: string
      - in: query
        name: filter[recall_admission.status]
        required: false
        type: string
      - in: query
        name: filter[recall_decision_submission.status]
        required: false
        type: string
      - in: query
        name: filter[recall_submission.status]
        required: false
        type: string
      - in: query
        name: filter[reference]
        required: false
        type: string
      - in: query
        name: filter[return.unique_scheme_id]
        required: false
        type: string
      - in: query
        name: filter[return_admission.status]
        required: false
        type: string
      - in: query
        name: filter[reversal_admission.status]
        required: false
        type: string
      - in: query
        name: filter[reversal_submission.status]
        required: false
        type: string
      - in: query
        name: filter[scheme_transaction_id]
        required: false
        type: string
      - in: query
        name: filter[unique_scheme_id]
        required: false
        type: string
      responses:
        200:
          description: List of payment details
          schema:
            $ref: '#/definitions/PaymentDetailsListResponse'
      summary: List payments
      tags:
      - PaymentReads
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePayment
      parameters:
      - in: body
        name: Payment creation request
        schema:
          $ref: '#/definitions/PaymentCreation'
      responses:
        201:
          description: Payment creation response
          schema:
            $ref: '#/definitions/PaymentCreationResponse'
        400:
          description: Payment creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create payment
      tags:
      - PaymentWrites
      x-access:
      - Bacs
      - FPS
      - Public
      - SEPA
  /transaction/payments/{id}:
    get:
      operationId: GetPayment
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Payment details
          schema:
            $ref: '#/definitions/PaymentDetailsResponse'
      summary: Fetch payment
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/admissions/{admissionId}:
    get:
      operationId: GetPaymentAdmission
      parameters:
      - description: Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Admission details
          schema:
            $ref: '#/definitions/PaymentAdmissionFetchResponse'
      summary: Fetch admission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/admissions/{admissionId}/tasks:
    get:
      operationId: ListPaymentAdmissionTasks
      responses:
        200:
          description: List of Task Details
          schema:
            $ref: '#/definitions/PaymentAdmissionTaskListResponse'
      summary: List tasks
      tags:
      - PaymentReads
      x-access:
      - Public
    parameters:
    - description: Admission Id
      format: uuid
      in: path
      name: admissionId
      required: true
      type: string
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
  /transaction/payments/{id}/admissions/{admissionId}/tasks/{taskId}:
    get:
      operationId: GetPaymentAdmissionTask
      responses:
        200:
          description: Payment Admission Task Details details
          schema:
            $ref: '#/definitions/PaymentAdmissionTaskDetailsResponse'
      summary: Get Payment Admission Task By ID
      tags:
      - PaymentReads
      x-access:
      - Public
    parameters:
    - description: Admission Id
      format: uuid
      in: path
      name: admissionId
      required: true
      type: string
    - description: Payment Admission Task Id
      format: uuid
      in: path
      name: taskId
      required: true
      type: string
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
    patch:
      operationId: PatchPaymentAdmissionTask
      parameters:
      - in: body
        name: Payment Admission Task patch request
        schema:
          $ref: '#/definitions/PaymentAdmissionTaskAmendment'
      responses:
        200:
          description: Payment Admission Task update response
          schema:
            $ref: '#/definitions/PaymentAdmissionTaskDetailsResponse'
        400:
          description: Error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiErrorWithActualResource'
      summary: Patch Payment Admission Task
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/advices:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentAdvice
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Advice creation request
        schema:
          $ref: '#/definitions/AdviceCreation'
      responses:
        201:
          description: Advice creation response
          schema:
            $ref: '#/definitions/AdviceCreationResponse'
        400:
          description: Advice creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create advice
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/advices/{adviceId}:
    get:
      operationId: GetPaymentAdvice
      parameters:
      - description: Advice Id
        format: uuid
        in: path
        name: adviceId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      responses:
        200:
          description: Advice details
          schema:
            $ref: '#/definitions/AdviceDetailsResponse'
      summary: Fetch advice
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/advices/{adviceId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentAdviceSubmission
      parameters:
      - description: Advice Id
        format: uuid
        in: path
        name: adviceId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Advice submission creation request
        schema:
          $ref: '#/definitions/AdviceSubmissionCreation'
      responses:
        201:
          description: Advice submission creation response
          schema:
            $ref: '#/definitions/AdviceSubmissionCreationResponse'
        400:
          description: Advice submission creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: create advice submission
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/advices/{adviceId}/submissions/{submissionId}:
    get:
      operationId: GetPaymentAdviceSubmission
      parameters:
      - description: Advice Id
        format: uuid
        in: path
        name: adviceId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Advice Submission Details
          schema:
            $ref: '#/definitions/AdviceSubmissionFetchResponse'
      summary: Fetch Advice Submission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentRecall
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Recall creation request
        schema:
          $ref: '#/definitions/RecallCreation'
      responses:
        201:
          description: Recall creation response
          schema:
            $ref: '#/definitions/RecallCreationResponse'
        400:
          description: Recall creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create recall
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}:
    get:
      operationId: GetPaymentRecall
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      responses:
        200:
          description: Recall details
          schema:
            $ref: '#/definitions/RecallDetailsResponse'
      summary: Fetch recall
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/admissions/{admissionId}:
    get:
      operationId: GetPaymentRecallAdmission
      parameters:
      - description: Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      responses:
        200:
          description: Recall Admission Details
          schema:
            $ref: '#/definitions/RecallAdmissionFetchResponse'
      summary: Fetch Recall Admission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/admissions/{admissionId}/tasks/{taskId}:
    parameters:
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
    - description: Recall Admission Id
      format: uuid
      in: path
      name: admissionId
      required: true
      type: string
    - description: Recall Admission Task Id
      format: uuid
      in: path
      name: taskId
      required: true
      type: string
    - description: Recall Id
      format: uuid
      in: path
      name: recallId
      required: true
      type: string
  /transaction/payments/{id}/recalls/{recallId}/decisions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentRecallDecision
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      - in: body
        name: Recall decision creation request
        schema:
          $ref: '#/definitions/RecallDecisionCreation'
      responses:
        201:
          description: Recall decision creation response
          schema:
            $ref: '#/definitions/RecallDecisionCreationResponse'
        400:
          description: Recall decision creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create recall decision
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/decisions/{decisionId}:
    get:
      operationId: GetPaymentRecallDecision
      parameters:
      - description: Decision Id
        format: uuid
        in: path
        name: decisionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      responses:
        200:
          description: Recall Decision Details
          schema:
            $ref: '#/definitions/RecallDecisionFetchResponse'
      summary: Fetch Recall Decision
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/decisions/{decisionId}/admissions/{admissionId}:
    get:
      operationId: GetPaymentRecallDecisionAdmission
      parameters:
      - description: Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Decision Id
        format: uuid
        in: path
        name: decisionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      responses:
        200:
          description: Recall Decision Admission Details
          schema:
            $ref: '#/definitions/RecallDecisionAdmissionFetchResponse'
      summary: Fetch Recall Decision Admission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/decisions/{decisionId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentRecallDecisionSubmission
      parameters:
      - description: Decision Id
        format: uuid
        in: path
        name: decisionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      - in: body
        name: Recall decision submission creation request
        schema:
          $ref: '#/definitions/RecallDecisionSubmissionCreation'
      responses:
        201:
          description: Recall decision submission creation response
          schema:
            $ref: '#/definitions/RecallDecisionSubmissionCreationResponse'
        400:
          description: Recall decision submission creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create recall decision submission
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/decisions/{decisionId}/submissions/{submissionId}:
    get:
      operationId: GetPaymentRecallDecisionSubmission
      parameters:
      - description: Decision Id
        format: uuid
        in: path
        name: decisionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      - description: Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Recall Decision Submission Details
          schema:
            $ref: '#/definitions/RecallDecisionSubmissionFetchResponse'
      summary: Fetch Recall Decision Submission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/decisions/{decisionId}/submissions/{submissionId}/tasks/{taskId}:
    parameters:
    - description: Decision Id
      format: uuid
      in: path
      name: decisionId
      required: true
      type: string
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
    - description: Recall Id
      format: uuid
      in: path
      name: recallId
      required: true
      type: string
    - description: Recall Submission Task Id
      format: uuid
      in: path
      name: taskId
      required: true
      type: string
    - description: Submission Id
      format: uuid
      in: path
      name: submissionId
      required: true
      type: string
  /transaction/payments/{id}/recalls/{recallId}/reversals/{reversalId}:
    get:
      operationId: GetPaymentRecallReversal
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      - description: Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      responses:
        200:
          description: Recall Reversal details
          schema:
            $ref: '#/definitions/RecallReversalDetailsResponse'
      summary: Fetch recall reversal
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/reversals/{reversalId}/admissions/{admissionId}:
    get:
      operationId: GetPaymentRecallReversalAdmission
      parameters:
      - description: Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      - description: Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      responses:
        200:
          description: Reversal admission details
          schema:
            $ref: '#/definitions/RecallReversalAdmissionFetchResponse'
      summary: Fetch recall reversal admission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentRecallSubmission
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      - in: body
        name: Recall submission creation request
        schema:
          $ref: '#/definitions/RecallSubmissionCreation'
      responses:
        201:
          description: Recall submission creation response
          schema:
            $ref: '#/definitions/RecallSubmissionCreationResponse'
        400:
          description: Recall submission creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create recall submission
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/submissions/{submissionId}:
    get:
      operationId: GetPaymentRecallSubmission
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Recall Id
        format: uuid
        in: path
        name: recallId
        required: true
        type: string
      - description: Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Recall Submission Details
          schema:
            $ref: '#/definitions/RecallSubmissionFetchResponse'
      summary: Fetch Recall Submission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/recalls/{recallId}/submissions/{submissionId}/tasks/{taskId}:
    parameters:
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
    - description: Recall Id
      format: uuid
      in: path
      name: recallId
      required: true
      type: string
    - description: Recall Submission Id
      format: uuid
      in: path
      name: submissionId
      required: true
      type: string
    - description: Recall Submission Task Id
      format: uuid
      in: path
      name: taskId
      required: true
      type: string
  /transaction/payments/{id}/returns:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentReturn
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Return creation request
        schema:
          $ref: '#/definitions/ReturnCreation'
      responses:
        201:
          description: Return creation response
          schema:
            $ref: '#/definitions/ReturnCreationResponse'
        400:
          description: Return creation error
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Return creation error
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Return creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Return creation error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Return creation error
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Return creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create return
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/returns/{returnId}:
    get:
      operationId: GetPaymentReturn
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      responses:
        200:
          description: Return Details
          schema:
            $ref: '#/definitions/ReturnFetchResponse'
      summary: Fetch Return
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/returns/{returnId}/admissions/{admissionId}:
    get:
      operationId: GetPaymentReturnAdmission
      parameters:
      - description: Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      responses:
        200:
          description: Return admission details
          schema:
            $ref: '#/definitions/ReturnAdmissionFetchResponse'
      summary: Fetch return admission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/returns/{returnId}/reversals:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentReturnReversal
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      - in: body
        name: Return reversal creation request
        schema:
          $ref: '#/definitions/ReturnReversalCreation'
      responses:
        201:
          description: Reversal creation response
          schema:
            $ref: '#/definitions/ReturnReversalCreationResponse'
        400:
          description: Reversal creation error
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Reversal creation error
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Reversal creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Reversal creation error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Reversal creation error
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Reversal creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create return reversal
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/returns/{returnId}/reversals/{reversalId}:
    get:
      operationId: GetPaymentReturnReversal
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      - description: Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      responses:
        200:
          description: Return reversal details
          schema:
            $ref: '#/definitions/ReturnReversalDetailsResponse'
      summary: Fetch return reversal
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/returns/{returnId}/reversals/{reversalId}/admissions/{admissionId}:
    get:
      operationId: GetPaymentReturnReversalAdmission
      parameters:
      - description: Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      - description: Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      responses:
        200:
          description: Return reversal admission details
          schema:
            $ref: '#/definitions/ReturnReversalAdmissionFetchResponse'
      summary: Fetch return reversal admission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/returns/{returnId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentReturnSubmission
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      - in: body
        name: Return submission creation request
        schema:
          $ref: '#/definitions/ReturnSubmissionCreation'
      responses:
        201:
          description: Return submission creation response
          schema:
            $ref: '#/definitions/ReturnSubmissionCreationResponse'
        400:
          description: Return submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        401:
          description: Return submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Return submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Return submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Return submission creation error
          schema:
            $ref: '#/definitions/ApiError'
        500:
          description: Return submission creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: create return submission
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/returns/{returnId}/submissions/{submissionId}:
    get:
      operationId: GetPaymentReturnSubmission
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Return Id
        format: uuid
        in: path
        name: returnId
        required: true
        type: string
      - description: Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Return submission details
          schema:
            $ref: '#/definitions/ReturnSubmissionFetchResponse'
      summary: Fetch return submission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/reversals:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentReversal
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Reversal creation request
        schema:
          $ref: '#/definitions/ReversalCreation'
      responses:
        201:
          description: Reversal creation response
          schema:
            $ref: '#/definitions/ReversalCreationResponse'
        400:
          description: Reversal creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create reversal
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/reversals/{reversalId}:
    get:
      operationId: GetPaymentReversal
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      responses:
        200:
          description: Reversal details
          schema:
            $ref: '#/definitions/ReversalDetailsResponse'
      summary: Fetch reversal
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/reversals/{reversalId}/admissions/{admissionId}:
    get:
      operationId: GetPaymentReversalAdmission
      parameters:
      - description: Admission Id
        format: uuid
        in: path
        name: admissionId
        required: true
        type: string
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      responses:
        200:
          description: Reversal admission details
          schema:
            $ref: '#/definitions/ReversalAdmissionFetchResponse'
      summary: Fetch reversal admission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/reversals/{reversalId}/admissions/{admissionId}/tasks:
    get:
      operationId: ListReversalAdmissionTasks
      responses:
        200:
          description: List of Task Details
          schema:
            $ref: '#/definitions/ReversalAdmissionTaskListResponse'
      summary: List tasks
      tags:
      - PaymentReads
      x-access:
      - Public
    parameters:
    - description: Admission Id
      format: uuid
      in: path
      name: admissionId
      required: true
      type: string
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
    - description: Reversal Id
      format: uuid
      in: path
      name: reversalId
      required: true
      type: string
  /transaction/payments/{id}/reversals/{reversalId}/admissions/{admissionId}/tasks/{taskId}:
    get:
      operationId: GetReversalAdmissionTask
      responses:
        200:
          description: Reversal Admission Task Details
          schema:
            $ref: '#/definitions/ReversalAdmissionTaskFetchResponse'
      summary: Fetch Reversal Admission Task
      tags:
      - PaymentReads
      x-access:
      - Public
    parameters:
    - description: Admission Id
      format: uuid
      in: path
      name: admissionId
      required: true
      type: string
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
    - description: Reversal Admission Task Id
      format: uuid
      in: path
      name: taskId
      required: true
      type: string
    - description: Reversal Id
      format: uuid
      in: path
      name: reversalId
      required: true
      type: string
    patch:
      operationId: PatchReversalAdmissionTask
      parameters:
      - in: body
        name: Reversal Admission Task patch request
        schema:
          $ref: '#/definitions/ReversalAdmissionTaskAmendment'
      responses:
        200:
          description: Reversal Admission Task update response
          schema:
            $ref: '#/definitions/ReversalAdmissionTaskDetailsResponse'
        400:
          description: Error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiError'
      summary: Patch Reversal Admission Task
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/reversals/{reversalId}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentReversalSubmission
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      - in: body
        name: Reversal submission creation request
        schema:
          $ref: '#/definitions/ReversalSubmissionCreation'
      responses:
        201:
          description: Reversal submission creation response
          schema:
            $ref: '#/definitions/ReversalSubmissionCreationResponse'
        400:
          description: Reversal submission creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create reversal submission
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/reversals/{reversalId}/submissions/{submissionId}:
    get:
      operationId: GetPaymentReversalSubmission
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Reversal Id
        format: uuid
        in: path
        name: reversalId
        required: true
        type: string
      - description: Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Reversal Submission Details
          schema:
            $ref: '#/definitions/ReversalSubmissionFetchResponse'
      summary: Fetch Reversal Submission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreatePaymentSubmission
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - in: body
        name: Submission creation request
        schema:
          $ref: '#/definitions/PaymentSubmissionCreation'
      responses:
        201:
          description: Submission creation response
          schema:
            $ref: '#/definitions/PaymentSubmissionCreationResponse'
        400:
          description: Submission creation error
          schema:
            $ref: '#/definitions/ApiError'
      summary: create submission
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{id}/submissions/{submissionId}:
    get:
      operationId: GetPaymentSubmission
      parameters:
      - description: Payment Id
        format: uuid
        in: path
        name: id
        required: true
        type: string
      - description: Submission Id
        format: uuid
        in: path
        name: submissionId
        required: true
        type: string
      responses:
        200:
          description: Submission details
          schema:
            $ref: '#/definitions/PaymentSubmissionFetchResponse'
      summary: Fetch submission
      tags:
      - PaymentReads
      x-access:
      - Public
  /transaction/payments/{id}/submissions/{submissionId}/tasks:
    parameters:
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
    - description: Submission Id
      format: uuid
      in: path
      name: submissionId
      required: true
      type: string
  /transaction/payments/{id}/submissions/{submissionId}/tasks/{taskId}:
    get:
      operationId: GetPaymentSubmissionTask
      responses:
        200:
          description: Payment Submission Task Details details
          schema:
            $ref: '#/definitions/PaymentSubmissionTaskDetailsResponse'
      summary: Get Payment Submission Task By ID
      tags:
      - PaymentReads
      x-access:
      - Public
    parameters:
    - description: Payment Id
      format: uuid
      in: path
      name: id
      required: true
      type: string
    - description: Payment Submission Task Id
      format: uuid
      in: path
      name: taskId
      required: true
      type: string
    - description: Submission Id
      format: uuid
      in: path
      name: submissionId
      required: true
      type: string
  /transaction/payments/{paymentId}/returns/{returnId}/admissions/{returnAdmissionId}/tasks/{taskId}:
    get:
      operationId: GetReturnAdmissionTask
      responses:
        200:
          description: Return Admission Task Details
          schema:
            $ref: '#/definitions/ReturnAdmissionTaskDetailsResponse'
      summary: Fetch Return Admission Task By ID
      tags:
      - PaymentReads
      x-access:
      - Public
    parameters:
    - description: Payment ID
      format: uuid
      in: path
      name: paymentId
      required: true
      type: string
    - description: Return Admission ID
      format: uuid
      in: path
      name: returnAdmissionId
      required: true
      type: string
    - description: Return Admission Task Id
      format: uuid
      in: path
      name: taskId
      required: true
      type: string
    - description: Return ID
      format: uuid
      in: path
      name: returnId
      required: true
      type: string
    patch:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: PatchReturnAdmissionTask
      parameters:
      - in: body
        name: Return Admission Task patch request
        schema:
          $ref: '#/definitions/ReturnAdmissionTaskAmendment'
      responses:
        200:
          description: Return Admission Task update response
          schema:
            $ref: '#/definitions/ReturnAdmissionTaskDetailsResponse'
        400:
          description: Error
          schema:
            $ref: '#/definitions/ApiError'
        409:
          description: Conflict
          schema:
            $ref: '#/definitions/ApiErrorWithActualResource'
      summary: Patch Return Admission Task
      tags:
      - PaymentWrites
      x-access:
      - Public
  /transaction/payments/{paymentId}/returns/{returnId}/submissions/{returnSubmissionId}/tasks:
    get:
      operationId: ListReturnSubmissionTasks
      responses:
        200:
          description: List of Task Details
          schema:
            $ref: '#/definitions/ReturnSubmissionTaskListResponse'
      summary: List tasks
      tags:
      - PaymentReads
      x-access:
      - Public
    parameters:
    - description: Payment ID
      format: uuid
      in: path
      name: paymentId
      required: true
      type: string
    - description: Return ID
      format: uuid
      in: path
      name: returnId
      required: true
      type: string
    - description: Return Submission ID
      format: uuid
      in: path
      name: returnSubmissionId
      required: true
      type: string
  /transaction/payments/{paymentId}/returns/{returnId}/submissions/{returnSubmissionId}/tasks/{taskId}:
    get:
      operationId: GetReturnSubmissionTask
      responses:
        200:
          description: Return Submission Task Details
          schema:
            $ref: '#/definitions/ReturnSubmissionTaskFetchResponse'
      summary: Fetch Return Submission Task
      tags:
      - PaymentReads
      x-access:
      - Public
    parameters:
    - description: Payment ID
      format: uuid
      in: path
      name: paymentId
      required: true
      type: string
    - description: Return ID
      format: uuid
      in: path
      name: returnId
      required: true
      type: string
    - description: Return Submission ID
      format: uuid
      in: path
      name: returnSubmissionId
      required: true
      type: string
    - description: Return Submission Task Id
      format: uuid
      in: path
      name: taskId
      required: true
      type: string
  /transaction/queries:
    get:
      operationId: ListQueries
      parameters:
      - description: Find all queries for a given query type
        in: query
        name: filter[query_type]
        type: string
      - description: Find all queries for a given status
        enum:
        - closed
        - pending
        in: query
        name: filter[status]
        type: string
      - description: Find all queries for given auto handled flag
        in: query
        name: filter[auto_handled]
        type: boolean
      - description: Find all queries from a certain created date.
        format: date-time
        in: query
        name: filter[created_on_from]
        type: string
      - description: Find all queries from a certain value date.
        format: date
        in: query
        name: filter[processing_date_from]
        type: string
      - description: Find all queries up to a certain created date.
        format: date-time
        in: query
        name: filter[created_on_to]
        type: string
      - description: Find all queries up to a certain value date.
        format: date
        in: query
        name: filter[processing_date_to]
        type: string
      - description: Find all queries with a certain payment admission id.
        format: uuid
        in: query
        name: filter[payment_admission.id]
        type: string
      - description: Find all queries with a certain payment id.
        format: uuid
        in: query
        name: filter[payment.id]
        type: string
      - description: Find all queries with a certain payment submission id.
        format: uuid
        in: query
        name: filter[payment_submission.id]
        type: string
      - description: Find all queries with a certain query id.
        format: uuid
        in: query
        name: filter[query.id]
        type: string
      - description: Find all queries with a certain recall id.
        format: uuid
        in: query
        name: filter[recall.id]
        type: string
      - description: Find all queries with a certain recall submission id.
        format: uuid
        in: query
        name: filter[recall_submission.id]
        type: string
      - description: Number of items to select
        in: query
        maximum: 1000
        minimum: 0
        name: page[size]
        type: integer
      - description: The organisations to filter on
        in: query
        items:
          format: uuid
          type: string
        name: filter[organisation_id]
        type: array
      - description: Which page to select
        in: query
        minimum: 0
        name: page[number]
        pattern: ^[A-z0-9]{4}$
        type: string
      responses:
        200:
          description: Query response
          schema:
            $ref: '#/definitions/QueryListResponse'
        400:
          description: Query bad request
          schema:
            $ref: '#/definitions/ApiError'
        502:
          description: Query gateway issue
          schema:
            $ref: '#/definitions/ApiError'
      summary: Get Query
      tags:
      - query_api
      x-access:
      - Public
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateQuery
      parameters:
      - in: body
        name: creation request
        schema:
          $ref: '#/definitions/QueryCreation'
      responses:
        201:
          description: creation response
          schema:
            $ref: '#/definitions/QueryFetchResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
        502:
          description: gateway issue
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create a Query
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}:
    get:
      operationId: GetQuery
      parameters:
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      responses:
        200:
          description: query response
          schema:
            $ref: '#/definitions/QueryFetchResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch a Query
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}/admissions/{query_admission_id}:
    get:
      operationId: GetQueryAdmission
      parameters:
      - description: Query Admission ID
        format: uuid
        in: path
        name: query_admission_id
        required: true
        type: string
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      responses:
        200:
          description: query admission response
          schema:
            $ref: '#/definitions/QueryAdmissionResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch a Query Admission
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}/responses:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateQueryResponse
      parameters:
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      - in: body
        name: creation request
        schema:
          $ref: '#/definitions/QueryResponseCreation'
      responses:
        201:
          description: creation response
          schema:
            $ref: '#/definitions/QueryResponseResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
        502:
          description: gateway issue
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create a Query Response
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}/responses/{query_response_id}:
    get:
      operationId: GetQueryResponse
      parameters:
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      - description: Query Response ID
        format: uuid
        in: path
        name: query_response_id
        required: true
        type: string
      responses:
        200:
          description: Query Response Response
          schema:
            $ref: '#/definitions/QueryResponseResponse'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch a Query Response
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}/responses/{query_response_id}/admissions/{query_response_admission_id}:
    get:
      operationId: GetQueryResponseAdmission
      parameters:
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      - description: Query Response Admission ID
        format: uuid
        in: path
        name: query_response_admission_id
        required: true
        type: string
      - description: Query Response ID
        format: uuid
        in: path
        name: query_response_id
        required: true
        type: string
      responses:
        200:
          description: query response admission response
          schema:
            $ref: '#/definitions/QueryResponseAdmissionResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch a Query Response Admission
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}/responses/{query_response_id}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateQueryResponseSubmission
      parameters:
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      - description: Query Response ID
        format: uuid
        in: path
        name: query_response_id
        required: true
        type: string
      - in: body
        name: creation request
        schema:
          $ref: '#/definitions/QueryResponseSubmissionCreation'
      responses:
        201:
          description: creation response
          schema:
            $ref: '#/definitions/QueryResponseSubmissionResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
        502:
          description: gateway issue
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create a Query Response Submission
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}/responses/{query_response_id}/submissions/{query_response_submission_id}:
    get:
      operationId: GetQueryResponseSubmission
      parameters:
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      - description: Query Response ID
        format: uuid
        in: path
        name: query_response_id
        required: true
        type: string
      - description: Query Response Submission ID
        format: uuid
        in: path
        name: query_response_submission_id
        required: true
        type: string
      responses:
        200:
          description: query response submission response
          schema:
            $ref: '#/definitions/QueryResponseSubmissionResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch a Query Response Submission
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}/submissions:
    post:
      consumes:
      - application/json
      - application/vnd.api+json
      operationId: CreateQuerySubmission
      parameters:
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      - in: body
        name: creation request
        schema:
          $ref: '#/definitions/QuerySubmissionCreation'
      responses:
        201:
          description: creation response
          schema:
            $ref: '#/definitions/QuerySubmissionResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
        502:
          description: gateway issue
          schema:
            $ref: '#/definitions/ApiError'
      summary: Create a Query submission
      tags:
      - query_api
      x-access:
      - Public
  /transaction/queries/{query_id}/submissions/{query_submission_id}:
    get:
      operationId: GetQuerySubmission
      parameters:
      - description: Query ID
        format: uuid
        in: path
        name: query_id
        required: true
        type: string
      - description: Query Submission ID
        format: uuid
        in: path
        name: query_submission_id
        required: true
        type: string
      responses:
        200:
          description: query submission response
          schema:
            $ref: '#/definitions/QuerySubmissionResponse'
        400:
          description: bad request
          schema:
            $ref: '#/definitions/ApiError'
        403:
          description: forbidden
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch a Query submission
      tags:
      - query_api
      x-access:
      - Public
  /validations/gbdsc/sortcodes/{sortcode}:
    get:
      parameters:
      - description: Sort code
        in: path
        name: sortcode
        required: true
        type: string
      responses:
        200:
          description: Sort code details
          schema:
            $ref: '#/definitions/SortCodeDetailsResponse'
        400:
          description: Validation failed
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Validation failed
          schema:
            $ref: '#/definitions/ApiError'
      summary: Fetch sort code details
      tags:
      - AccountValidation
      x-access:
      - Public
  /validations/gbdsc/sortcodes/{sortcode}/accountnumbers/{accountnumber}:
    get:
      parameters:
      - description: Account number
        in: path
        name: accountnumber
        required: true
        type: string
      - description: Sort code
        in: path
        name: sortcode
        required: true
        type: string
      responses:
        200:
          description: Sort code and account number details
          schema:
            $ref: '#/definitions/AccountNumberDetailsResponse'
        400:
          description: Validation error
          schema:
            $ref: '#/definitions/ApiError'
        404:
          description: Validation failed
          schema:
            $ref: '#/definitions/ApiError'
      summary: Validate sortcode and account number details
      tags:
      - AccountValidation
      x-access:
      - Public
produces:
- application/json
- application/vnd.api+json
schemes:
- https
security:
- OAuth2: []
securityDefinitions:
  Basic:
    type: basic
  OAuth2:
    description: OAuth 2.0 with Client Credentials Grant type
    flow: application
    tokenUrl: https://api.form3.tech/v1/oauth2/token
    type: oauth2
swagger: '2.0'
