{
  "openapi": "3.0.1",
  "info": {
    "title": "Bank of England RTGS Reconciliation Responses API",
    "version": "1.8.0",
    "description": "Participants are expected to reconcile the accounts in their systems against the balance of their accounts in RTGS each day to ensure there are no mismatches. If there are mismatches, Participants can use the Reconciliation Responses API to log the details of the reconciliation mismatch for further investigation. \n\n The Bank of England RTGS Reconciliation Responses API enables an organisation to: \n- Create a reconciliation response \n- Retrieve a specific reconciliation response \n- Retrieve a list of reconciliation responses",
    "contact": {
      "email": "APITeam@bankofengland.co.uk",
      "name": "RTGS API team"
    },
    "license": {
      "url": "https://www.bankofengland.co.uk/payment-and-settlement",
      "name": "Please refer to the API Annex under the \"Requirements for use of RTGS accounts\" section"
    }
  },
  "servers": [
    {
      "url": "https://api-test.swiftnet.sipn.swift.com/boe-rtgs-api-pilot-i1/recon-resp-mgmt/np4/v1",
      "description": "NP4 Environment (Non-Prod)",
      "variables": {
        "apiPath": {
          "default": "/boe-rtgs-api-pilot-i1/recon-resp-mgmt/np4"
        },
        "taskApiPath": {
          "default": "/boe-rtgs-api-pilot-i1/task-mgmt/np4"
        }
      }
    },
    {
      "url": "https://api-test.swiftnet.sipn.swift.com/boe-rtgs-api-pilot-i1/recon-resp-mgmt/np5/v1",
      "description": "NP5 Environment (Non-Prod)",
      "variables": {
        "apiPath": {
          "default": "/boe-rtgs-api-pilot-i1/recon-resp-mgmt/np5"
        },
        "taskApiPath": {
          "default": "/boe-rtgs-api-pilot-i1/task-mgmt/np5"
        }
      }
    },
    {
      "url": "https://api-test.swiftnet.sipn.swift.com/boe-rtgs-api-pilot-i3/recon-resp-mgmt/pp2/v1",
      "description": "PP2 Environment (Dress-Rehearsals)",
      "variables": {
        "apiPath": {
          "default": "/boe-rtgs-api-pilot-i2/recon-resp-mgmt/pp2"
        },
        "taskApiPath": {
          "default": "/boe-rtgs-api-pilot-i2/task-mgmt/pp2"
        }
      }
    },
    {
      "url": "https://api-test.swiftnet.sipn.swift.com/boe-rtgs-api-pilot-i2/recon-resp-mgmt/pp2/v1",
      "description": "PP2 Environment (Pre-Prod)",
      "variables": {
        "apiPath": {
          "default": "/boe-rtgs-api-pilot-i3/recon-resp-mgmt/pp2"
        },
        "taskApiPath": {
          "default": "/boe-rtgs-api-pilot-i3/task-mgmt/pp2"
        }
      }
    },
    {
      "url": "https://api.swiftnet.sipn.swift.com/boe-rtgs-api/recon-resp-mgmt/v1",
      "description": "Live Environment (Prod)",
      "variables": {
        "apiPath": {
          "default": "/boe-rtgs-api/recon-resp-mgmt"
        },
        "taskApiPath": {
          "default": "/boe-rtgs-api/task-mgmt"
        }
      }
    }
  ],
  "paths": {
    "/reconciliationResponses": {
      "get": {
        "tags": [
          "Reconciliation Responses"
        ],
        "summary": "Retrieves the details of a list of reconciliation responses.",
        "description": "A participant level reconciliation is required to ensure that the transaction and balances maintained by the RTGS solution reconcile with Participants records. This endpoint allows the consumer to retrieve a list of reconciliation responses and their respective details, that the consumer is authorised to. By default, the data is sorted by the reconciliationLastUpdatedOn field in an ascending order.",
        "operationId": "getReconciliationResponses",
        "parameters": [
          {
            "name": "reconciliationTypeCode",
            "in": "query",
            "description": "Used to filter reconciliation responses based on reconciliation type code. Type of reconciliation (in an abbreviated form) including Intraday Reconciliation or End of Day Reconciliation. Only supports Equal(eq). Possible values can be fetched from \"GET /filterValues?resourceName=reconciliationTypes\" endpoint.",
            "required": false,
            "schema": {
              "pattern": "^[A-Z_]{1,35}$",
              "type": "string"
            },
            "example": "IDR"
          },
          {
            "name": "participantId",
            "in": "query",
            "description": "Used to filter reconciliation responses based on participant id. A unique ID for the participant in the RTGS. Only supports Equal(eq). Possible values can be fetched from \"GET /filterValues?resourceName=participants\" endpoint.",
            "required": false,
            "schema": {
              "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
              "type": "string"
            },
            "example": "a4faa192-ddd7-11ed-b5ea-0242ac120002"
          },
          {
            "name": "reconciliationDate",
            "in": "query",
            "description": "Used to filter reconciliation responses based on reconciliation date. Date and time at which the Reconciliation is logged on. Only supports Equal(eq)",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2022-03-01"
          },
          {
            "name": "reconciliationStatus",
            "in": "query",
            "description": "Used to filter reconciliation responses based on the reconciliation status. Determines the status of the reconciliation. Only supports Equal(eq). ",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Pass",
                "Fail"
              ]
            },
            "example": "Pass"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Number of items to return in a page. Must be greater than or equal to 1  (Default 20)",
            "required": false,
            "schema": {
              "maximum": 500,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            },
            "example": 20
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of the record to start the page from. Must be greater than 0 and less than 2147483647 (The maximum value for an integer). The default value is 0.",
            "required": false,
            "schema": {
              "maximum": 2147483647,
              "minimum": 0,
              "type": "integer",
              "format": "int64"
            },
            "example": 0
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Order to sort results in [direction][field] where direction is +(ascending) or -(descending)",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "+id"
          },
          {
            "name": "x-userContext",
            "in": "header",
            "description": "User context is in base64 format. It will include the institution BIC. Participants do not need to send this value. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "byte"
            },
            "example": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImN1cmwgLXYgbGRhcDovL0RJUkwwMS5zd2lmdG5ldC5zaXBuLnN3aWZ0LmNvbTozODkvY249dHNzY2hhbm5lbCxvPXN3bGliZWIzLG89c3dpZnQ/dXNlckNlcnRpZmljYXRlIiwidHlwIjoiSldUIn0="
          },
          {
            "name": "x-journeyId",
            "in": "header",
            "description": "Used to uniquely identify end to end journey of the API request. If header is provided in the request, then the same will be replayed in response headers. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 64,
              "type": "string"
            },
            "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
          },
          {
            "name": "X-Forwarded-Host",
            "in": "header",
            "description": "Identifies the original host and port requested by the client in the Host HTTP request header. If no port is included, the default port for the service requested is implied. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "pattern": "^[-a-zA-Z0-9@:%._+~#]{2,256}(:[0-9]{2,4})*$",
              "type": "string"
            },
            "example": "example.com:8080"
          },
          {
            "name": "X-Forwarded-Path",
            "in": "header",
            "description": "Identifies the original URL path requested by the client, including any query string. This will be populated at Network Level. ",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "/boe-rtgs-api/resource-mgmt/v1/resources?parentName=eq%3Aparent"
          }
        ],
        "responses": {
          "200": {
            "description": "Reconciliation responses found",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "x-retrievedAt": {
                "description": "Date and time of when the content was retrieved.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "2023-03-13T18:04Z"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ReconciliationResponseList_OperatorListEndpoints"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "x-retrievedAt": {
                "description": "Date and time of when the content was retrieved.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "2023-03-13T18:04Z"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/APIErrorResponseWrapperDTO_OperatorListEndpoints"
                },
                "example": {
                  "error": {
                    "status": "400",
                    "id": "a1aa1111-1a11-1111-11a1-1aa1aa111a12",
                    "detail": "Invalid parameters",
                    "errors": [
                      {
                        "errorCode": "EAPIGTW2002",
                        "detail": "Limit parameter is less than 1"
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "404": {
            "description": "Record not found",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "x-retrievedAt": {
                "description": "Date and time of when the content was retrieved.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "2023-03-13T18:04Z"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/APIErrorResponseWrapperDTO_OperatorListEndpoints"
                },
                "example": {
                  "error": {
                    "status": "404",
                    "id": "a1aa1111-1a11-1111-11a1-1aa1aa111a15",
                    "detail": "Record not found",
                    "errors": [
                      {
                        "errorCode": "EAPIGTW2017",
                        "detail": "Record does not exist for given ID : 88"
                      }
                    ]
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "406": {
            "description": "Not acceptable",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "429": {
            "description": "Too many request",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          }
        },
        "path": "/reconciliationResponses",
        "method": "GET"
      },
      "post": {
        "tags": [
          "Reconciliation Responses"
        ],
        "summary": "Creates a participant's reconciliation response.",
        "description": "A participant level reconciliation is required to ensure that the transaction and balances maintained by the RTGS solution reconcile with Participants records. This endpoint allows the consumer to submit a create request for a single reconciliation response. ",
        "operationId": "createSingleReconciliationResponse",
        "parameters": [
          {
            "name": "x-userContext",
            "in": "header",
            "description": "User context is in base64 format. It will include the institution BIC. Participants do not need to send this value. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "byte"
            },
            "example": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImN1cmwgLXYgbGRhcDovL0RJUkwwMS5zd2lmdG5ldC5zaXBuLnN3aWZ0LmNvbTozODkvY249dHNzY2hhbm5lbCxvPXN3bGliZWIzLG89c3dpZnQ/dXNlckNlcnRpZmljYXRlIiwidHlwIjoiSldUIn0="
          },
          {
            "name": "x-journeyId",
            "in": "header",
            "description": "Used to uniquely identify end to end journey of the API request. If header is provided in the request, then the same will be replayed in response headers. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 64,
              "type": "string"
            },
            "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
          },
          {
            "name": "X-Forwarded-Host",
            "in": "header",
            "description": "Identifies the original host and port requested by the client in the Host HTTP request header. If no port is included, the default port for the service requested is implied. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "pattern": "^[-a-zA-Z0-9@:%._+~#]{2,256}(:[0-9]{2,4})*$",
              "type": "string"
            },
            "example": "example.com:8080"
          },
          {
            "name": "X-Forwarded-Path",
            "in": "header",
            "description": "Identifies the original URL path requested by the client, including any query string. This will be populated at Network Level. ",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "/boe-rtgs-api/resource-mgmt/v1/resources?parentName=eq%3Aparent"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/APIBulkRequestDataWrapperCreateReconciliationResponse_CreateEndpoints"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/WriteResponseAtomicCreateSchema_CreateEndpoints"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/APIErrorResponseWrapperDTO_CreateEndpoints"
                },
                "example": {
                  "error": {
                    "status": "400",
                    "id": "a1aa1111-1a11-1111-11a1-1aa1aa111a14",
                    "detail": "Invalid parameters",
                    "errors": [
                      {
                        "errorCode": "EAPIGTW2002",
                        "detail": "Invalid full name provided"
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "404": {
            "description": "Record not found",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/APIErrorResponseWrapperDTO_CreateEndpoints"
                },
                "example": {
                  "error": {
                    "status": "404",
                    "id": "a1aa1111-1a11-1111-11a1-1aa1aa111a15",
                    "detail": "Record not found",
                    "errors": [
                      {
                        "errorCode": "EAPIGTW2017",
                        "detail": "Record does not exist for given ID : 88"
                      }
                    ]
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "406": {
            "description": "Not acceptable",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "415": {
            "description": "Unsupported media type",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "429": {
            "description": "Too many request",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          }
        },
        "path": "/reconciliationResponses",
        "method": "POST"
      }
    },
    "/reconciliationResponses/{reconciliationResponseId}": {
      "get": {
        "tags": [
          "Reconciliation Responses"
        ],
        "summary": "Retrieves the details of a specific reconciliation response based on the reconciliation id.",
        "description": "A participant level reconciliation is required to ensure that the transaction and balances maintained by the RTGS solution reconcile with Participants records. Given a Reconciliation Id, this endpoint allows the consumer to retrieve the details of a specific reconciliation response, that the consumer is authorised to. Note: The Reconciliation Response Id will be included in the returned task of the response to the POST /reconciliationResponses API call and will be valid for up to 30 days. ",
        "operationId": "getSingleReconciliationResponse",
        "parameters": [
          {
            "name": "reconciliationResponseId",
            "in": "path",
            "description": "A unique ID for the reconciliation response assigned by the RTGS. This is included in the task received upon creating a reconciliation response. ",
            "required": true,
            "schema": {
              "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
              "type": "string"
            },
            "example": "a4faa192-ddd7-11ed-b5ea-0242ac120002"
          },
          {
            "name": "x-userContext",
            "in": "header",
            "description": "User context is in base64 format. It will include the institution BIC. Participants do not need to send this value. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "byte"
            },
            "example": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImN1cmwgLXYgbGRhcDovL0RJUkwwMS5zd2lmdG5ldC5zaXBuLnN3aWZ0LmNvbTozODkvY249dHNzY2hhbm5lbCxvPXN3bGliZWIzLG89c3dpZnQ/dXNlckNlcnRpZmljYXRlIiwidHlwIjoiSldUIn0="
          },
          {
            "name": "x-journeyId",
            "in": "header",
            "description": "Used to uniquely identify end to end journey of the API request. If header is provided in the request, then the same will be replayed in response headers. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "maxLength": 64,
              "minLength": 64,
              "type": "string"
            },
            "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
          },
          {
            "name": "X-Forwarded-Host",
            "in": "header",
            "description": "Identifies the original host and port requested by the client in the Host HTTP request header. If no port is included, the default port for the service requested is implied. This will be populated at Network Level.",
            "required": false,
            "schema": {
              "pattern": "^[-a-zA-Z0-9@:%._+~#]{2,256}(:[0-9]{2,4})*$",
              "type": "string"
            },
            "example": "example.com:8080"
          },
          {
            "name": "X-Forwarded-Path",
            "in": "header",
            "description": "Identifies the original URL path requested by the client, including any query string. This will be populated at Network Level. ",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "/boe-rtgs-api/resource-mgmt/v1/resources?parentName=eq%3Aparent"
          }
        ],
        "responses": {
          "200": {
            "description": "Reconciliation Response found",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/ReconciliationSingleResponse_OperatorSingleEndpoints"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/APIErrorResponseWrapperDTO_OperatorSingleEndpoints"
                },
                "example": {
                  "error": {
                    "status": "400",
                    "id": "a1aa1111-1a11-1111-11a1-1aa1aa111a13",
                    "detail": "Constraint Violation - Path Variable(s)",
                    "errors": [
                      {
                        "errorCode": "EAPIGTW2002",
                        "detail": "Invalid id provided: TT"
                      }
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "404": {
            "description": "Record not found",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              },
              "Cache-Control": {
                "description": "Holds directives (instructions) for caching in responses. No caching done from API gateway side. ",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "no-cache, no-store, no-transform"
                }
              },
              "Content-Language": {
                "description": "Describes the language(s) intended for the audience. Allowed values: \"en-GB\".",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "en-GB"
                }
              }
            },
            "content": {
              "application/json;charset=utf-8": {
                "schema": {
                  "$ref": "#/components/schemas/APIErrorResponseWrapperDTO_OperatorSingleEndpoints"
                },
                "example": {
                  "error": {
                    "status": "404",
                    "id": "a1aa1111-1a11-1111-11a1-1aa1aa111a15",
                    "detail": "Record not found",
                    "errors": [
                      {
                        "errorCode": "EAPIGTW2017",
                        "detail": "Record does not exist for given ID : 88"
                      }
                    ]
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method not allowed",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "406": {
            "description": "Not acceptable",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "429": {
            "description": "Too many request",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "headers": {
              "x-journeyId": {
                "description": "Used to identify end to end journey of the API request.",
                "style": "simple",
                "schema": {
                  "type": "string",
                  "example": "721C04F0B91A53908E4233D56E07E35D7C62AE63B881DD50B24FF19315CB4F92"
                }
              }
            }
          }
        },
        "path": "/reconciliationResponses/{reconciliationResponseId}",
        "method": "GET"
      }
    }
  },
  "components": {
    "schemas": {
      "APIBulkRequestDataWrapperCreateReconciliationResponse_CreateEndpoints": {
        "title": "APIBulkRequestDataWrapper",
        "required": [
          "data"
        ],
        "type": "object",
        "properties": {
          "data": {
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateReconciliationResponse_CreateEndpoints"
            }
          }
        }
      },
      "CreateReconciliationResponse_CreateEndpoints": {
        "title": "ReconciliationResponse",
        "required": [
          "accountId",
          "accountNumber",
          "reconciliationChannelName",
          "reconciliationDate",
          "reconciliationStatus",
          "reconciliationTypeName"
        ],
        "type": "object",
        "properties": {
          "accountId": {
            "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
            "type": "string",
            "description": "A unique ID for the Account assigned by the RTGS. ",
            "example": "a4faa192-ddd7-11ed-b5ea-0242ac120002"
          },
          "accountFullName": {
            "pattern": "^[A-Za-z0-9()\\.,\\?\\+:'\\-/\\s]{1,35}$",
            "type": "string",
            "description": "Full name of the RTGS account. Note: This field cannot be edited once an Account has been created. ",
            "nullable": true,
            "example": "NATWEST METTLE SETT Coutts"
          },
          "accountNumber": {
            "minLength": 1,
            "pattern": "^[0-9]{8}$",
            "type": "string",
            "description": "8 digit number that identifies a unique account.",
            "example": "12345678"
          },
          "reconciliationDate": {
            "type": "string",
            "description": "Date and time at which the Reconciliation is logged on. This should follow the standard ISO 8601 format with UTC offset. ",
            "format": "date-time",
            "example": "2022-11-17T13:00:00.123456Z"
          },
          "reconciliationStatus": {
            "minLength": 1,
            "type": "string",
            "description": "Determines the status of the reconciliation. ",
            "example": "Pass",
            "enum": [
              "Pass",
              "Fail"
            ]
          },
          "reconciliationTypeName": {
            "minLength": 1,
            "pattern": "^[A-Za-z\\s]{1,50}$",
            "type": "string",
            "description": "Type of reconciliation including Intraday Reconciliation or End of Day Reconciliation. Possible values can be fetched from \"GET /filterValues?resourceName=reconciliationTypes\" endpoint. ",
            "example": "IntraDay Reconciliation"
          },
          "reconciliationChannelName": {
            "minLength": 1,
            "pattern": "^[A-Za-z\\s]{1,50}$",
            "type": "string",
            "description": "Channel used to reconcile including SWIFT statement report, SWIFT balance report, UI statement download, UI balance download, direct API statement report or direct API balance report. <br>The reports map to the following SWIFT messages: <br><ul><li>SWIFT statement report = CAMT.053</li><li>SWIFT = CAMT.052</li></ul><br> Possible values can be fetched from \"GET /filterValues?resourceName=reconciliationChannels\" endpoint.",
            "example": "SWIFT Statement Report"
          },
          "messageId": {
            "pattern": "^[a-zA-Z0-9]{0,35}$",
            "type": "string",
            "description": "Message ID of the SWIFT message reconciled against. ",
            "nullable": true,
            "example": "BCP0001"
          },
          "narrative": {
            "pattern": "^[\\\\0-9A-Za-z\\s\\/\\-\\?\\)\\.\\,\\'\\+\\!\\#\\$\\%\\&\\*\\=\\^\\_\\`\\{\\|\\}\\~\"\\;\\<\\>\\@]{0,255}$",
            "type": "string",
            "description": "Narrative the user has input to support the reconciliation. ",
            "nullable": true,
            "example": "Reconciliation for CAMT.053"
          }
        }
      },
      "SingleCreateLinksSchema_CreateEndpoints": {
        "title": "Links",
        "required": [
          "self",
          "taskUrl"
        ],
        "type": "object",
        "properties": {
          "self": {
            "type": "string",
            "description": "A URL to reproduce the current request.",
            "example": "{apiPath}/v1/resource"
          },
          "taskUrl": {
            "type": "string",
            "description": "A URL to retrieve task information associated to a resource.",
            "example": "{taskApiPath}/v1/tasks/0e740fe7-c251-4d82-8abd-11953d76f593"
          }
        }
      },
      "TaskRefDataSchema_CreateEndpoints": {
        "title": "Data",
        "required": [
          "taskRef"
        ],
        "type": "object",
        "properties": {
          "taskRef": {
            "pattern": "^(?=.{1,35}$)[A-Z0-9]{1,23}-[A-Z0-9]{4}(-\\d{1,7})?$",
            "type": "string",
            "description": "The general, unique task reference assigned by the RTGS. For non-atomic requests (which generate multiple tasks), this refers to the shared portion of the task reference across all related tasks. To retrieve the associated task(s), use the \"GET /tasks\" endpoint with the taskRef filter, along with any required filters. For example: \"GET /tasks?taskRef=D01UPBULKT-ABCD&createdOn=...&participantId=...\"",
            "example": "D04NOTES-R2D3"
          }
        }
      },
      "WriteResponseAtomicCreateSchema_CreateEndpoints": {
        "title": "Response",
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/TaskRefDataSchema_CreateEndpoints"
          },
          "links": {
            "$ref": "#/components/schemas/SingleCreateLinksSchema_CreateEndpoints"
          }
        }
      },
      "APIErrorResponseDTO_CreateEndpoints": {
        "title": "APIErrorResponse",
        "required": [
          "detail",
          "errors",
          "id",
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "pattern": "^\\d{3}$",
            "type": "string",
            "description": "Standard HTTP Status code defined in <a href=https://datatracker.ietf.org/doc/html/rfc7231>RFC 7231</a>"
          },
          "id": {
            "maxLength": 36,
            "minLength": 36,
            "type": "string",
            "description": "A unique reference (GUID) for the error instance, for audit purposes and traceability.",
            "format": "uuid",
            "example": "fb06dbc9-da8d-4927-b0f8-0eec823aaaa7"
          },
          "detail": {
            "type": "string",
            "description": "Brief error message explaining the error"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorsFragment_CreateEndpoints"
            }
          }
        }
      },
      "APIErrorResponseWrapperDTO_CreateEndpoints": {
        "title": "APIErrorResponseWrapper",
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/APIErrorResponseDTO_CreateEndpoints"
          }
        }
      },
      "ErrorsFragment_CreateEndpoints": {
        "title": "ErrorInfo",
        "required": [
          "detail",
          "errorCode"
        ],
        "type": "object",
        "properties": {
          "errorCode": {
            "maxLength": 11,
            "minLength": 11,
            "pattern": "E[A-Z0-9]{6}[0-9]{4}",
            "type": "string",
            "description": "Custom Error Code consists of the following \n <ul><li>1 char type specifier - 'E' for error codes</li><li>6 character base pattern - A concatenation of 'APIGTW'</li><li>4 digit sequence number - 1000<=x<2000 for system errors, 2000<=x<3000 for business errors, 3000<=x<4000 for technical errors</li></ul>",
            "example": "EAPIGTW2039"
          },
          "detail": {
            "type": "string",
            "description": "Description of the error detail with further granularity"
          },
          "uri": {
            "type": "string",
            "description": "URL to help remediate the problem, or provide more information, or to API Reference or help etc.",
            "format": "uri"
          }
        }
      },
      "OffsetPaginatedListResponseReconciliationResponse_OperatorListEndpoints": {
        "title": "OffsetPaginatedListResponse",
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReconciliationResponse_OperatorListEndpoints"
            }
          },
          "sort": {
            "type": "string",
            "description": "The sort direction and the field name used to sort the resources by.",
            "example": "+id"
          },
          "totalRecordCount": {
            "type": "integer",
            "description": "The total number of records for a given resource.",
            "format": "int64",
            "example": 100
          },
          "offset": {
            "type": "integer",
            "description": "Current record count offset for this page.",
            "format": "int64",
            "example": 0
          },
          "limit": {
            "type": "integer",
            "description": "The total number of records retrieved per page.",
            "format": "int64",
            "example": 20
          }
        }
      },
      "OffsetResponseLinksSchema_OperatorListEndpoints": {
        "title": "Links",
        "required": [
          "first",
          "last",
          "self"
        ],
        "type": "object",
        "properties": {
          "self": {
            "type": "string",
            "description": "A URL to reproduce the current request.",
            "example": "{apiPath}/v1/resource?offset=60&limit=20"
          },
          "first": {
            "type": "string",
            "description": "A URL to retrieve the first page of resources.",
            "example": "{apiPath}/v1/resource?offset=0&limit=20"
          },
          "last": {
            "type": "string",
            "description": "A URL to retrieve the last page of resources",
            "example": "{apiPath}/v1/resource?offset=300000&limit=20"
          },
          "next": {
            "type": "string",
            "description": "A URL to retrieve the next page of resources.",
            "example": "{apiPath}/v1/resource?offset=80&limit=20"
          },
          "previous": {
            "type": "string",
            "description": "A URL to retrieve the previous page of resources",
            "example": "{apiPath}/v1/resource?offset=40&limit=20"
          },
          "taskUrl": {
            "$ref": "#/components/schemas/TaskUrlSchema_OperatorListEndpoints"
          }
        }
      },
      "ReconciliationResponseList_OperatorListEndpoints": {
        "title": "ReconciliationResponseList",
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/OffsetPaginatedListResponseReconciliationResponse_OperatorListEndpoints"
          },
          "links": {
            "$ref": "#/components/schemas/OffsetResponseLinksSchema_OperatorListEndpoints"
          }
        }
      },
      "ReconciliationResponse_OperatorListEndpoints": {
        "title": "ReconciliationResponse",
        "required": [
          "reconciliationDate",
          "reconciliationLastUpdatedOn",
          "reconciliationResponseId",
          "reconciliationStatus",
          "reconciliationTypeCode",
          "reconciliationTypeName"
        ],
        "type": "object",
        "properties": {
          "reconciliationResponseId": {
            "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
            "type": "string",
            "description": "A unique ID for the reconciliation response assigned by the RTGS. This is included in the task received upon creating a reconciliation response. ",
            "example": "a4faa192-ddd7-11ed-b5ea-0242ac120002"
          },
          "participantFullName": {
            "pattern": "^[\\\\0-9a-zA-Z\\/\\-\\?\\:\\(\\)\\.\\,\\'\\+\\s\\!\\#\\$\\%\\&\\*\\=\\^\\_\\`\\{\\|\\}~\"\\;\\<\\>\\@\\[\\]]{1,100}$",
            "type": "string",
            "description": "Full Name of the organisations / participants in the RTGS. ",
            "nullable": true,
            "example": "Natwest"
          },
          "participantId": {
            "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
            "type": "string",
            "description": "A unique ID for the participant in the RTGS. ",
            "nullable": true,
            "example": "a4faa192-ddd7-11ed-b5ea-0242ac120002"
          },
          "accountFullName": {
            "pattern": "^[A-Za-z0-9()\\.,\\?\\+:'\\-/\\s]{1,35}$",
            "type": "string",
            "description": "Full name of the RTGS account.",
            "nullable": true,
            "example": "Natwest Mettle Sett Coutts"
          },
          "reconciliationStatus": {
            "type": "string",
            "description": "Determines the status of the reconciliation. ",
            "example": "Pass",
            "enum": [
              "Pass",
              "Fail"
            ]
          },
          "reconciliationTypeName": {
            "pattern": "^[A-Za-z\\s]{1,50}$",
            "type": "string",
            "description": "Type of reconciliation including Intraday Reconciliation or End of Day Reconciliation. Possible values can be fetched from \"GET /filterValues?resourceName=reconciliationTypes\" endpoint. ",
            "example": "IntraDay Reconciliation"
          },
          "reconciliationTypeCode": {
            "pattern": "^[A-Z_]{1,35}$",
            "type": "string",
            "description": "Type of reconciliation (in an abbreviated form) including Intraday Reconciliation or End of Day Reconciliation. Possible values can be fetched from \"GET /filterValues?resourceName=reconciliationTypes\" endpoint.",
            "example": "IDR"
          },
          "reconciliationDate": {
            "type": "string",
            "description": "Date and time at which the Reconciliation is logged on. This should follow the standard ISO 8601 format with UTC offset. ",
            "format": "date-time",
            "example": "2022-11-17T13:00:00.123456Z"
          },
          "reconciliationLastUpdatedOn": {
            "type": "string",
            "description": "Date and time at which the reconciliation was last updated. This should follow the standard ISO 8601 format with UTC offset. ",
            "format": "date-time",
            "example": "2022-07-07T13:00:00.123456Z"
          }
        }
      },
      "TaskUrlSchema_OperatorListEndpoints": {
        "title": "TaskLinks",
        "type": "object",
        "properties": {
          "Task for Resource 1": {
            "type": "string",
            "description": "A URL to retrieve task information associated to a resource.",
            "example": "{taskApiPath}/v1/tasks/581ddd74-5151-4c74-ad2f-b2196752bbad"
          },
          "Task for Resource 2": {
            "type": "string",
            "description": "A URL to retrieve task information associated to a resource.",
            "example": "{taskApiPath}/v1/tasks/3d9397d1-e394-4863-be26-0686684bc510"
          }
        }
      },
      "APIErrorResponseDTO_OperatorListEndpoints": {
        "title": "APIErrorResponse",
        "required": [
          "detail",
          "errors",
          "id",
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "pattern": "^\\d{3}$",
            "type": "string",
            "description": "Standard HTTP Status code defined in <a href=https://datatracker.ietf.org/doc/html/rfc7231>RFC 7231</a>"
          },
          "id": {
            "maxLength": 36,
            "minLength": 36,
            "type": "string",
            "description": "A unique reference (GUID) for the error instance, for audit purposes and traceability.",
            "format": "uuid",
            "example": "fb06dbc9-da8d-4927-b0f8-0eec823aaaa7"
          },
          "detail": {
            "type": "string",
            "description": "Brief error message explaining the error"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorsFragment_OperatorListEndpoints"
            }
          }
        }
      },
      "APIErrorResponseWrapperDTO_OperatorListEndpoints": {
        "title": "APIErrorResponseWrapper",
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/APIErrorResponseDTO_OperatorListEndpoints"
          }
        }
      },
      "ErrorsFragment_OperatorListEndpoints": {
        "title": "ErrorInfo",
        "required": [
          "detail",
          "errorCode"
        ],
        "type": "object",
        "properties": {
          "errorCode": {
            "maxLength": 11,
            "minLength": 11,
            "pattern": "E[A-Z0-9]{6}[0-9]{4}",
            "type": "string",
            "description": "Custom Error Code consists of the following \n <ul><li>1 char type specifier - 'E' for error codes</li><li>6 character base pattern - A concatenation of 'APIGTW'</li><li>4 digit sequence number - 1000<=x<2000 for system errors, 2000<=x<3000 for business errors, 3000<=x<4000 for technical errors</li></ul>",
            "example": "EAPIGTW2039"
          },
          "detail": {
            "type": "string",
            "description": "Description of the error detail with further granularity"
          },
          "uri": {
            "type": "string",
            "description": "URL to help remediate the problem, or provide more information, or to API Reference or help etc.",
            "format": "uri"
          }
        }
      },
      "ReconciliationResponse_OperatorSingleEndpoints": {
        "title": "ReconciliationResponse",
        "required": [
          "accountNumber",
          "accountSubTypeName",
          "accountTypeName",
          "reconciliationChannelName",
          "reconciliationDate",
          "reconciliationLastUpdatedOn",
          "reconciliationResponseId",
          "reconciliationStatus",
          "reconciliationTypeCode",
          "reconciliationTypeName"
        ],
        "type": "object",
        "properties": {
          "reconciliationResponseId": {
            "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
            "type": "string",
            "description": "A unique ID for the reconciliation response assigned by the RTGS. This is included in the task received upon creating a reconciliation response. ",
            "example": "a4faa192-ddd7-11ed-b5ea-0242ac120002"
          },
          "participantFullName": {
            "pattern": "^[\\\\0-9a-zA-Z\\/\\-\\?\\:\\(\\)\\.\\,\\'\\+\\s\\!\\#\\$\\%\\&\\*\\=\\^\\_\\`\\{\\|\\}~\"\\;\\<\\>\\@\\[\\]]{1,100}$",
            "type": "string",
            "description": "Full Name of the organisations / participants in the RTGS. ",
            "nullable": true,
            "example": "Natwest"
          },
          "participantId": {
            "pattern": "^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$",
            "type": "string",
            "description": "A unique ID for the participant in the RTGS. ",
            "nullable": true,
            "example": "a4faa192-ddd7-11ed-b5ea-0242ac120002"
          },
          "accountFullName": {
            "pattern": "^[A-Za-z0-9()\\.,\\?\\+:'\\-/\\s]{1,35}$",
            "type": "string",
            "description": "Full name of the RTGS account.",
            "nullable": true,
            "example": "Natwest Mettle Sett Coutts"
          },
          "sortCode": {
            "pattern": "^[0-9]{6}$",
            "type": "string",
            "description": "6 digit number, which represents the Bank that holds the account. When used in conjunction with the accountNumber, identifies a unique account. This is the Sort Code of the account the reconciliation was logged against. ",
            "nullable": true,
            "example": "123456"
          },
          "accountNumber": {
            "pattern": "^[0-9]{8}$",
            "type": "string",
            "description": "8 digit number, when used in conjunction with sortCode, identifies a unique account. This is the Account Number of the account the reconciliation was logged against. ",
            "example": "12345678"
          },
          "accountTypeName": {
            "pattern": "^[A-Za-z0-9\\s]{1,16}$",
            "type": "string",
            "description": "Identifier of the category to which the RTGS Account belongs to. This is the type of the account the reconciliation was logged against. Possible values can be fetched from \"GET /filterValues?resourceName=accountTypes\" endpoint.",
            "example": "Settlement"
          },
          "accountSubTypeName": {
            "pattern": "^[A-Za-z0-9\\s]{1,50}$",
            "type": "string",
            "description": "Identifier of the subcategory to which the RTGS Account belongs to. This is the sub type of the account the reconciliation was logged against. Possible values can be fetched from \"GET /filterValues?resourceName=accountSubTypes&parentValue={accountTypeCode}\" endpoint.",
            "example": "General"
          },
          "reconciliationStatus": {
            "type": "string",
            "description": "Determines the status of the reconciliation. ",
            "example": "Pass",
            "enum": [
              "Pass",
              "Fail"
            ]
          },
          "reconciliationTypeName": {
            "pattern": "^[A-Za-z\\s]{1,50}$",
            "type": "string",
            "description": "Type of reconciliation including Intraday Reconciliation or End of Day Reconciliation. Possible values can be fetched from \"GET /filterValues?resourceName=reconciliationTypes\" endpoint. ",
            "example": "IntraDay Reconciliation"
          },
          "reconciliationTypeCode": {
            "pattern": "^[A-Z_]{1,35}$",
            "type": "string",
            "description": "Type of reconciliation (in an abbreviated form) including Intraday Reconciliation or End of Day Reconciliation. Possible values can be fetched from \"GET /filterValues?resourceName=reconciliationTypes\" endpoint.",
            "example": "IDR"
          },
          "reconciliationChannelName": {
            "pattern": "^[A-Za-z\\s]{1,50}$",
            "type": "string",
            "description": "Channel used to reconcile including SWIFT statement report, SWIFT balance report, UI statement download, UI balance download, direct API statement report or direct API balance report. The reports map to the following SWIFT messages: <br><ul><li>SWIFT statement report = CAMT.053</li><li>SWIFT = CAMT.052</li></ul><br> Possible values can be fetched from \"GET /filterValues?resourceName=reconciliationChannels\" endpoint.",
            "example": "SWIFT Statement Report"
          },
          "messageId": {
            "pattern": "^[a-zA-Z0-9]{0,35}$",
            "type": "string",
            "description": "Message ID of the SWIFT message reconciled against.",
            "nullable": true,
            "example": "BCP0001"
          },
          "narrative": {
            "pattern": "^[\\\\0-9A-Za-z\\s\\/\\-\\?\\)\\.\\,\\'\\+\\!\\#\\$\\%\\&\\*\\=\\^\\_\\`\\{\\|\\}\\~\"\\;\\<\\>\\@]{0,255}$",
            "type": "string",
            "description": "Narrative the user has input to support the reconciliation. ",
            "nullable": true,
            "example": "Reconciliation for CAMT.053"
          },
          "reconciliationDate": {
            "type": "string",
            "description": "Date and time at which the Reconciliation is logged on. This should follow the standard ISO 8601 format with UTC offset. ",
            "format": "date-time",
            "example": "2022-11-17T13:00:00.123456Z"
          },
          "reconciliationLastUpdatedOn": {
            "type": "string",
            "description": "Date and time at which the reconciliation was last updated. This should follow the standard ISO 8601 format with UTC offset. ",
            "format": "date-time",
            "example": "2022-07-07T13:00:00.123456Z"
          },
          "readOnly": {
            "type": "boolean",
            "description": "Flag to indicate whether the resource is editable. If the flag is \"true\", the request to update/delete a resource will fail. This field will be available on the GET Single Reconciliation Response endpoint only. ",
            "nullable": true,
            "example": true
          }
        }
      },
      "ReconciliationSingleResponse_OperatorSingleEndpoints": {
        "title": "ReconciliationSingleResponse",
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/SingleResponseReconciliationResponse_OperatorSingleEndpoints"
          },
          "links": {
            "$ref": "#/components/schemas/SingleResponseLinksSchema_OperatorSingleEndpoints"
          }
        }
      },
      "SingleResponseLinksSchema_OperatorSingleEndpoints": {
        "title": "Links",
        "required": [
          "self"
        ],
        "type": "object",
        "properties": {
          "self": {
            "type": "string",
            "description": "A URL to reproduce the current request.",
            "example": "{apiPath}/v1/resource/1f740fe7-c251-4d82-8abd-11953d76f594"
          },
          "taskUrl": {
            "type": "string",
            "description": "A URL to retrieve task information associated to a resource.",
            "example": "{taskApiPath}/v1/tasks/0e740fe7-c251-4d82-8abd-11953d76f593"
          }
        }
      },
      "SingleResponseReconciliationResponse_OperatorSingleEndpoints": {
        "title": "SingleResponse",
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReconciliationResponse_OperatorSingleEndpoints"
            }
          }
        }
      },
      "APIErrorResponseDTO_OperatorSingleEndpoints": {
        "title": "APIErrorResponse",
        "required": [
          "detail",
          "errors",
          "id",
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "pattern": "^\\d{3}$",
            "type": "string",
            "description": "Standard HTTP Status code defined in <a href=https://datatracker.ietf.org/doc/html/rfc7231>RFC 7231</a>"
          },
          "id": {
            "maxLength": 36,
            "minLength": 36,
            "type": "string",
            "description": "A unique reference (GUID) for the error instance, for audit purposes and traceability.",
            "format": "uuid",
            "example": "fb06dbc9-da8d-4927-b0f8-0eec823aaaa7"
          },
          "detail": {
            "type": "string",
            "description": "Brief error message explaining the error"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ErrorsFragment_OperatorSingleEndpoints"
            }
          }
        }
      },
      "APIErrorResponseWrapperDTO_OperatorSingleEndpoints": {
        "title": "APIErrorResponseWrapper",
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/APIErrorResponseDTO_OperatorSingleEndpoints"
          }
        }
      },
      "ErrorsFragment_OperatorSingleEndpoints": {
        "title": "ErrorInfo",
        "required": [
          "detail",
          "errorCode"
        ],
        "type": "object",
        "properties": {
          "errorCode": {
            "maxLength": 11,
            "minLength": 11,
            "pattern": "E[A-Z0-9]{6}[0-9]{4}",
            "type": "string",
            "description": "Custom Error Code consists of the following \n <ul><li>1 char type specifier - 'E' for error codes</li><li>6 character base pattern - A concatenation of 'APIGTW'</li><li>4 digit sequence number - 1000<=x<2000 for system errors, 2000<=x<3000 for business errors, 3000<=x<4000 for technical errors</li></ul>",
            "example": "EAPIGTW2039"
          },
          "detail": {
            "type": "string",
            "description": "Description of the error detail with further granularity"
          },
          "uri": {
            "type": "string",
            "description": "URL to help remediate the problem, or provide more information, or to API Reference or help etc.",
            "format": "uri"
          }
        }
      }
    },
    "securitySchemes": {
      "oauthBearerToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "opaque OAuth 2.0",
        "description": "\nThe access token obtained as a result of OAuth 2.0 flows. SWIFT supports two OAuth grant types depending on the API service.\n* JWT-Bearer grant type [RFC 7523](https://tools.ietf.org/html/rfc7523)\n* Password grant type\n\nThis API uses JWT-Bearer grant type.\n\nPlease visit [SWIFT OAuth Token API](https://developer.swift.com/swift-oauth-token-api) page for more information and examples on how to generate an OAuth token.\n  \nIn this declaration only the basic security element to transport the bearer token of an OAuth2 process is declared.securitySchemes:"
      }
    }
  },
  "security": [
    {
      "oauthBearerToken": []
    }
  ]
}
