# Sandbox scenarios
source: https://developer.mastercard.com/open-banking-connect/documentation/sandbox/sandbox-scenarios/index.md

The following sections include specific details about the scenarios available using the Sandbox Data Sets spreadsheets as an example of submitting an Account Information request or Payment instruction in the Open Banking Connect Sandbox environment.

## Account Information Service scenarios {#account-information-service-scenarios}

Refer to the [Specification release information](https://developer.mastercard.com/open-banking-connect/documentation/specification-release-documentation/index.md) for the current Sandbox Data Sets spreadsheets.

### Endpoint details {#endpoint-details}

| **Endpoints/Resources** | **Method** | **API Profiles** |        **Description**         |
|-------------------------|------------|------------------|--------------------------------|
| /accounts/aspsps        | `POST`     | N/A              | Reads list of supported ASPSPs |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to retrieve the list of ASPSPs. This was created from the available data sets.

| **#** | **Type** |        **Summary**         |                               **Request Details**                                | **HTTP Status** |                                                                                                                    **Response Details**                                                                                                                     |
|-------|----------|----------------------------|----------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1     | Success  | Get the list of all ASPSPs | Send a correctly formatted request with no filtering or additional data requests | 200             | Open Banking Connect will return all available ASPSPs as per the pre-defined datasets. Note: In production, the list of ASPSPs returned to a particular TPP will depend on multiple factors, including the existence of the TPP registration with the ASPSP |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |               **Summary**                |                            **Request Details**                            | **HTTP Status** |                                    **Response Details**                                     |
|-------|----------|------------------------------------------|---------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------|
| 2     | Success  | Get the list of ASPSPs with capabilities | Include `"returnAdditionalData": ["capabilities"]` as part of the request | 200             | OBC will include "capabilities" object in the response message as per the API specification |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"returnAdditionalData": [
	"capabilities"
	]
}
```

| **#** | **Type** |            **Summary**            |                             **Request Details**                             | **HTTP Status** |                                **Response Details**                                 |
|-------|----------|-----------------------------------|-----------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------------------|
| 3     | Success  | Get the list of ASPSPs with logos | Include \`\`"returnAdditionalData": \["logo"\] as part of the request\`\`\` | 200             | OBC will include "logo" object in the response message as per the API specification |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"returnAdditionalData": [
	"logo"
	]
}
```

| **#** | **Type** |                **Summary**                 |                                                                         **Request Details**                                                                          | **HTTP Status** |                                          **Response Details**                                           |
|-------|----------|--------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------------|
| 4     | Success  | Filter the ASPSPs by country (exact match) | Set "country" to an Alpha-2 code (upper case) as per ISO 3166. Please consider availability of ASPSPs per each country based on the predefined data sets for Sandbox | 200             | OBC will include in the response only the ASPSPs where the country matches the code used in the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"country": "GB"
}
```

| **#** | **Type** |                **Summary**                |                                                           **Request Details**                                                           | **HTTP Status** |                                              **Response Details**                                               |
|-------|----------|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------|
| 5     | Success  | Filter the ASPSPs by name (partial match) | Set "name" to the required partial search string. Please consider availability of ASPSPs based on the predefined data sets for Sandbox. | 200             | OBC will include in the response only the ASPSPs where the name partially matches the value used in the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"name": "Althea"
}
```

| **#** | **Type** |                 **Summary**                 |                                                     **Request Details**                                                      | **HTTP Status** |                                        **Response Details**                                        |
|-------|----------|---------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------------------|
| 6     | Success  | Filter a specific ASPSP by ID (exact match) | Set "id" to the required search string. Please consider availability of ASPSPs based on the predefined data sets for Sandbox | 200             | OBC will include in the response only the ASPSPs where the id matches the value used in the filter |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "cc42a197-1aa1-4506-99e9-5e2352ace7df"
}
```

| **#** | **Type** |     **Summary**      |                                                        **Request Details**                                                         | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------|------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 7     | Special  | Get duplicate ASPSPs | "Adonis Bank" is a duplicate name entry in the sandbox data sets. Please consider filtering based on the name to get both entries. | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"name": "Adonis"
}
```

| **#** | **Type** |      **Summary**      |                                               **Request Details**                                                | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 8     | Special  | Get an AIS only ASPSP | Filter based on the name: "AIS Service only Bank", or filter based on id: "6abf63e8-a48e-4eb0-bba1-20bd2e6b37c6" | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "6abf63e8-a48e-4eb0-bba1-20bd2e6b37c6"
}
```

| **#** | **Type** |                **Summary**                 |                                               **Request Details**                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|--------------------------------------------|-----------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 9     | Special  | Get an ASPSP with an SQL query in the name | Filter based on the name: "select \* from aspsp", or filter based on id: "f3523d42-e47e-464c-92cb-3c72dd1a3a4e" | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "f3523d42-e47e-464c-92cb-3c72dd1a3a4e"
}
```

| **#** | **Type** |                    **Summary**                     |                                                                **Request Details**                                                                 | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 10    | Special  | Get an ASPSP with special characters in their name | Filter based on the name: `"&amp;&#x20AC; <br> </br> \" \' Special Character Bank"`, or filter based on id: "c7da9dae-a40c-467f-a534-c40aadf3edfd" | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "c7da9dae-a40c-467f-a534-c40aadf3edfd"
}
```

| **#** | **Type** |                 **Summary**                  |                                           **Request Details**                                            | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------------|----------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 11    | Special  | Get an ASPSP with maximum length of the Name | Filter based on the name: " MaxValueName", or filter based on id: "29edaa3d-8af1-43c9-871c-afae95d67fce" | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "29edaa3d-8af1-43c9-871c-afae95d67fce"
}
```

| **#** | **Type** |                  **Summary**                  |                                 **Request Details**                                 | **HTTP Status** |                           **Response Details**                           |
|-------|----------|-----------------------------------------------|-------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------|
| 12    | Special  | Request to include ASPSP logo in the response | Include the following in the request : \`\`"returnAdditionalData": \["logo"\]\`\`\` | 200             | If a logo is available for the ASPSP it will be included in the response |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"name": "Sandbox",
"returnAdditionalData": [
	"logo"
	]
}
```

| **#** | **Type** |              **Summary**               | **Request Details** | **Sample Request** | **HTTP Status** | **Response Details** |
|-------|----------|----------------------------------------|---------------------|--------------------|-----------------|----------------------|
| 13    | Special  | Get an ASPSP without capability object | Not available now.  | n/a                | n/a             | n/a                  |

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 14    | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": ""
	}
}
```

### Endpoint details {#endpoint-details}

| **Endpoints/Resources** | **Method** |                                                           **API Profiles**                                                           |        **Description**         |
|-------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------------|--------------------------------|
| /accounts/consents      | `POST`     | CMA9, Polish API, NextGenPSD2, STET, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Requests AI consent initiation |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit an Account Information Consent request. This was created from the available data sets.

| **#** | **Type** |                 **Summary**                 |                                                                                                                                                                          **Request Details**                                                                                                                                                                           | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                                |
|-------|----------|---------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1     | Success  | Send AIS consent for access to all accounts | Send a correctly formatted message. Use `allPSD2` parameter in permissions field. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code= UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**
Note: SCA redirect link will be received without state parameter if the below details are included in the request:  

* ASPSP ID: 4888fdfa-0f32-4a1f-b55e-5870454bccc1
* xRequestId: c6f61f67-e0f8-40a0-b368-ee2862579532

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"permissions": [
		"allPSD2"
	]
}
```

| **#** | **Type** |                   **Summary**                   |                                                                                                                                                                                                  **Request Details**                                                                                                                                                                                                  | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                                |
|-------|----------|-------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 2     | Special  | Send AIS consent with set of mixed permissions. | Send a correctly formatted message. Use a combination of "accounts", "balances", "transactions" parameters in permissions field. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code= UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"permissions": [
		"accounts", "balances"
	]
}
```

| **#** | **Type** |                                                                                    **Summary**                                                                                     |                                                                                                                                                                                                                                                                                     **Request Details**                                                                                                                                                                                                                                                                                      | **HTTP Status** |                                                                                                                                                                                                                                 **Response Details**                                                                                                                                                                                                                                  |
|-------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 3     | Special  | Send AIS consent with possibility to get different ASPSP certificate statuses. The certificate status is displayed in "Exchange the PSU authorization for access consent" request. | Send a correctly formatted message. Use different combination of `"accounts"`, `"balances"`, `"transactions"` parameters in permissions field for the respective ASPSP - (320f5caf-1223-51df-451a-1623ef046d31) from dataset to obtain different ASPSP certificate statuses in corresponding scenarios. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS In the production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code= UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "320f5caf-1223-51df-451a-1623ef046d31",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"permissions": [
		"accounts", "balances"
	]
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 4     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": ""
	},
"permissions": [
	""
	]
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 5     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
},
"permissions": [
		"allPSD2"
	]
}
```

| **#** | **Type** |       **Summary**        |            **Request Details**             | **HTTP Status** |                         **Response Details**                          |
|-------|----------|--------------------------|--------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 6     | Failure  | Invalid TPP redirect URL | Use any internet link in "tppRedirectURI". | 400             | INACTIVE_URL Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"tppRedirectURI": "http://tpp-example-redirect-url.com",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c5a"
	},
"permissions": [
		"allPSD2"
	]
}
```

| **#** | **Type** |                   **Summary**                    |                    **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 7     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	},
"permissions": [
		"allPSD2"
	]
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 8     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	},
"permissions": [
		"allPSD2"
	]
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 9     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	},
"permissions": [
		"allPSD2"
	]
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 10    | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	},
"permissions": [
		"allPSD2"
	]
}
```

### Endpoint details {#endpoint-details}

|      **Endpoints/Resources**      | **Method** | **API Profiles** |                          **Description**                          |
|-----------------------------------|------------|------------------|-------------------------------------------------------------------|
| /accounts/consents/authorizations | `POST`     | N/A              | Exchanges the PSU authorization string for account access consent |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit an Exchange the PSU authorization for access consent request. This was created from the available data sets.

| **#** | **Type** |                          **Summary**                           |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                                                                           **Response Details**                                                                                           |
|-------|----------|----------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1     | Success  | Send Exchange the PSU authorization for access consent message | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return the pre-defined dataset. In the sandbox environment, the authorization string and access tokens are hardcoded (See the 'authorization' and 'consentId' fields in the Data sets). |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"authorization": "code=NLaccountR666r433g5fggfdN34ff4grfdr2oNL001&state=38948933-38ae-45af-953e-25a69fefa39e"
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 2     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"authorization": ""
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 3     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"authorization": "code=UKaccountEsbGdTB2a9MbSdt53serRsv0aUK001&state=38948933-38ae-45af-953e-25a69fefa39e"
}
```

| **#** | **Type** |              **Summary**               |                                                                 **Request Details**                                                                 | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 4     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "authorization" code for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
},
"authorization": 	"UKaccountEsbGdTB2a9MbSdt53serRsv0aUK001"
}
```

| **#** | **Type** |                   **Summary**                    |                    **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 5     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	},
"authorization": "code=NLaccountR666r433g5fggfdN34ff4grfdr2oNL001&state=38948933-38ae-45af-953e-25a69fefa39e"
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 6     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	},
"authorization": "code=NLaccountR666r433g5fggfdN34ff4grfdr2oNL001&state=38948933-38ae-45af-953e-25a69fefa39e"
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 7     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	},
"authorization": "code=NLaccountR666r433g5fggfdN34ff4grfdr2oNL001&state=38948933-38ae-45af-953e-25a69fefa39e"
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 8     | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	},
"authorization": "code=NLaccountR666r433g5fggfdN34ff4grfdr2oNL001&state=38948933-38ae-45af-953e-25a69fefa39e"
}
```

### Endpoint details {#endpoint-details}

| **Endpoints/Resources** | **Method** |                                                   **API Profiles**                                                    |            **Description**            |
|-------------------------|------------|-----------------------------------------------------------------------------------------------------------------------|---------------------------------------|
| /accounts/account       | `POST`     | CMA9, Polish API, NextGenPSD2, STET, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Reads all identifiers of the accounts |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a Get List of Accounts request. This was created from the available data sets.

| **#** | **Type** |            **Summary**            |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                    **Response Details**                                    |
|-------|----------|-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------------------------|
| 1     | Success  | Send Get List of Accounts request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS API will return all available accounts as per the pre-defined datasets as response |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 2     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 3     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"consentId": "GFiTpF3:EBy5xGqQMatk",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 4     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "consentId" code for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "randomXC34o23",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|-------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 5     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	}
}
```

| **#** | **Type** |      **Summary**      |                     **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|-------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 6     | Failure  | Internal Server Error | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 7     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	}
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 8     | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "requestInfo": {
        "aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
        "consentId": "GFiTpF3:EBy5xGqQMatk",
        "isLivePsuRequest": false,
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"
    }
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 9     | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	}
}
```

### Endpoint details {#endpoint-details}

| **Endpoints/Resources** | **Method** |                                                   **API Profiles**                                                    |     **Description**     |
|-------------------------|------------|-----------------------------------------------------------------------------------------------------------------------|-------------------------|
| /accounts/account       | `POST`     | CMA9, Polish API, NextGenPSD2, STET, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Returns account details |

### Scenarios {#scenarios}

The following list of scenarios available on Sandbox are used to submit a Get Account Details request. This was created from the available data sets.

| **#** | **Type** |           **Summary**            |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                 **Response Details**                                  |
|-------|----------|----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------|
| 1     | Success  | Send Get Account Details request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return all available account details as per the pre-defined datasets |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 2     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 3     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                                | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 4     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "consentId" code for the specified "aspspId". | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "ZZXXCC11223344",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|-------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 5     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 6     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 7     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 8     | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "accountId": "aa:q648383844dhhfHhTV",
    "requestInfo": {
        "aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
        "consentId": "GFiTpF3:EBy5xGqQMatk",
        "isLivePsuRequest": false,
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"
    }
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 9     | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

### Endpoint details {#endpoint-details}

|  **Endpoints/Resources**   | **Method** |                                                           **API Profiles**                                                           |    **Description**     |
|----------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------------|------------------------|
| /accounts/account/balances | `POST`     | CMA9, Polish API, NextGenPSD2, STET, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Reads account balances |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a Get Account Balances request. This was created from the available data sets.

| **#** | **Type** |            **Summary**            |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                  **Response Details**                                  |
|-------|----------|-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------|
| 1     | Success  | Send Get Account Balances request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return all available account balances as per the pre-defined datasets |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 2     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 3     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 4     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "consentId" code for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "ZZXXCC11223344",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|-------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 5     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 6     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 7     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 8     | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "accountId": "aa:q648383844dhhfHhTV",
    "requestInfo": {
        "aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
        "consentId": "GFiTpF3:EBy5xGqQMatk",
        "isLivePsuRequest": false,
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"
    }
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 9     | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a",
    "consentId": "g63g4fh:5t543f34r6g",
    "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
    "isLivePsuRequest": true
  },
  "accountId": "aa:q644444444dhhfHhTV"
}
```

### Endpoint details {#endpoint-details}

|    **Endpoints/Resources**     | **Method** |                                                           **API Profiles**                                                           |             **Description**             |
|--------------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------|
| /accounts/account/transactions | `POST`     | CMA9, Polish API, NextGenPSD2, STET, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Returns transaction list of the account |

### Scenarios {#scenarios}

The following list of scenarios are available on Sandbox are used to submit a Get Account Transactions request. This was created from the available data sets.

| **#** | **Type** |              **Summary**              |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                    **Response Details**                                    |
|-------|----------|---------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------------------------|
| 1     | Success  | Send Get Account Transactions request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return all available account transactions as per the pre-defined datasets |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                               **Summary**                                |                       **Request Details**                        | **HTTP Status** |                      **Response Details**                       |
|-------|----------|--------------------------------------------------------------------------|------------------------------------------------------------------|-----------------|-----------------------------------------------------------------|
| 2     | Success  | Send Get Account Transactions request to an account without transactions | Send a request to an account which does not have any transaction | 200             | SUCCESS OBC will send in the response empty transaction object. |

**Sample Request**

```json
{
"accountId": "aa:q643333344dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |              **Summary**              |                                                                         **Request Details**                                                                         | **HTTP Status** |                                                **Response Details**                                                 |
|-------|----------|---------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------------------------|
| 3     | Success  | Filter transactions by period of time | Set "bookingDateFrom" and "bookingDateTo" to the required filter fields. Please consider availability of transactions based on the predefined data sets for Sandbox | 200             | SUCCESS OBC will include in the response only the transactions where the date matches the value used in the filter. |

**Sample Request**

```json
{
"requestInfo": {
               "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
               "consentId": "g63g4fh:5t543f34r6g",
               "aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
               "isLivePsuRequest": false
               },
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"bookingDateFrom": "2018-11-22",
"bookingDateTo": "2018-11-23"
}
```

| **#** | **Type** |                     **Summary**                      |               **Request Details**                | **HTTP Status** |                                 **Response Details**                                  |
|-------|----------|------------------------------------------------------|--------------------------------------------------|-----------------|---------------------------------------------------------------------------------------|
| 4     | Failure  | Apply a filter with start Date greater than end Date | Use a startDate that is greater than the endDate | 400             | DATEFROM_GREATER_THAN_DATETO Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"consentId": "g63g4fh:5t543f34r6g",
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"isLivePsuRequest": false
	},
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"bookingDateFrom": "2018-11-25",
"bookingDateTo": "2018-11-23"
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 5     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 6     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 7     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "consentId" code for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "randomXC112233",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|-------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 8     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 9     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 10    | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	}
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 11    | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "accountId": "aa:q648383844dhhfHhTV",
    "limit": 20,
    "requestInfo": {
        "aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
        "consentId": "GFiTpF3:EBy5xGqQMatk",
        "isLivePsuRequest": false,
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"
    }
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 12    | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"limit": 20,
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	}
}
```

### Endpoint details {#endpoint-details}

|      **Endpoints/Resources**      | **Method** | **API Profiles** |              **Description**              |
|-----------------------------------|------------|------------------|-------------------------------------------|
| /accounts/account/standing-orders | `POST`     | CMA9             | Reads standing orders list of the account |

### Scenarios {#scenarios}

The following list of scenarios available in Sandbox are used to submit a Get Account Standing Orders request. This was created from the available data sets.

| **#** | **Type** |               **Summary**                |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                    **Response Details**                                    |
|-------|----------|------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------------------------|
| 1     | Success  | Send Get Account Standing Orders request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return all available account transactions as per the pre-defined datasets |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
    "consentId": "u01k4fh:5t578f34r6g",
    "aspspId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
    "psuTppCustomerId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
    "merchant": {
      "id": "MerchantId",
      "name": "MerchantName"
    }
  },
  "accountId": "r6b7a:a2b3:o01i8u:cmag",
  "limit": 20,
  "offset": "ofset4prev$earch12345"
}
```

| **#** | **Type** |                                 **Summary**                                 |                       **Request Details**                        | **HTTP Status** |                      **Response Details**                       |
|-------|----------|-----------------------------------------------------------------------------|------------------------------------------------------------------|-----------------|-----------------------------------------------------------------|
| 2     | Success  | Send Get Account Standing Orders request to an account without transactions | Send a request to an account which does not have any transaction | 200             | SUCCESS OBC will send in the response empty transaction object. |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
    "consentId": "u01k4fh:5t578f34r6g",
    "aspspId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
    "psuTppCustomerId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
    "merchant": {
      "id": "MerchantId",
      "name": "MerchantName"
    }
  },
  "accountId": "k4n5a:v6v8:o01i1g:cmag",
  "limit": 20,
  "offset": "ofset4prev$earch12345"
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                          **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 3     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details. |

**Sample Request**

```json
{
"accountId": "r6b7a:a2b3:o01i8u:cmag",
"limit": 20,
"requestInfo": {
	"aspspId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
	"consentId": "",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
								}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 4     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "r6b7a:a2b3:o01i8u:cmag",
"limit": 20,
"requestInfo": {
"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
"consentId": "u01k4fh:5t578f34r6g",
"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
}
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 5     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "consentId" code for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "11111111111",
"limit": 20,
"requestInfo": {
"aspspId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
"consentId": "randomXC112233",
"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
}
}
```

| **#** | **Type** |                   **Summary**                    |                   **Request Details**                    | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|----------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 6     | Failure  | TPP not allowed to perform request to this ASPSP | Use "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a" | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "11111111111",
"limit": 20,
"requestInfo": {
"aspspId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
"consentId": "?????????????",
"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 7     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "11111111111",
"limit": 20,
"requestInfo": {
"aspspId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
"consentId": "?????????????",
"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 8     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "11111111111",
"limit": 20,
"requestInfo": {
"aspspId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
"consentId": "?????????????",
"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
}
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 9     | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d",
    "consentId": "u01k4fh:5t578f34r6g",
    "aspspId": "cc42a197-1aa1-4506-99e9-5e2352ace7df",
    "merchant": {
      "id": "MerchantId",
      "name": "MerchantName"
    }
  },
  "accountId": "r6b7a:a2b3:o01i8u:cmag",
  "limit": 20,
  "offset": "ofset4prev$earch12345"
}
```

### Endpoint details {#endpoint-details}

|          **Endpoints/Resources**           | **Method** |                                                **API Profiles**                                                 |                           **Description**                            |
|--------------------------------------------|------------|-----------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------|
| /accounts/account/transactions/transaction | `POST`     | Polish API, NextGenPSD2, STET, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Reads transaction details for a given transaction on a given account |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a Get Account Transaction Details request. This was created from the available data sets.

| **#** | **Type** |                  **Summary**                  |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                       **Response Details**                                        |
|-------|----------|-----------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------|
| 1     | Success  | Send Get Account Transactions Details request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return all available account transaction details as per the pre-defined datasets |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"transactionId": "3DHKwjmZyXBwSD0IMVBh001"
}
```

| **#** | **Type** |                  **Summary**                   |                                                                      **Request Details**                                                                       | **HTTP Status** |                        **Response Details**                        |
|-------|----------|------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------|
| 2     | Failure  | Method not supported by Provider's API profile | Use a transactionId from an "accountId" and "aspspId" with un-supported profile (ex. CMA9) from the list available in the predefined data sets for OBC Sandbox | 400             | NOT_FOUND Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"transactionId": "3DHKwjmZyXBwSD0IMVBh001"
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 3     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"transactionId": ""
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 4     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"transactionId": "3DHKwjmZyXBwSD0IMVBh001"
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 5     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "consentId" code for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "ZZXXCC112233",
	"isLivePsuRequest": false,
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"transactionId": "3DHKwjmZyXBwSD0IMVBh001"
}
```

| **#** | **Type** |                   **Summary**                    |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|-------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 6     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	},
"transactionId": "3DHKwjmZyXBwSD0IMVBh001"
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 7     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	},
"transactionId": "3DHKwjmZyXBwSD0IMVBh001"
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 8     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	},
"transactionId": "3DHKwjmZyXBwSD0IMVBh001"
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 9     | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "accountId": "qqCfw:XwAa:665hs5:r55dM",
    "requestInfo": {
        "aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
        "consentId": "MatkBJbqtZ8sPNznYtfV:5g",
        "isLivePsuRequest": false,
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"
    },
    "transactionId": "7ccs6s5:r55a:4MctP"
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 10    | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |
|       |          |             |                                                            |                 |                                                                  |

**Sample Request**

```json
{
"accountId": "aa:q644444444dhhfHhTV",
"requestInfo": {
	"aspspId": "6bc896b5-1b5a-473a-a1d8-dfd3aaa4fab5",
	"consentId": "g63g4fh:5t543f34r6g",
	"isLivePsuRequest": false,
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	},
"transactionId": "3DHKwjmZyXBwSD0IMVBh001"
}
```

### Endpoint details {#endpoint-details}

| **Endpoints/Resources** | **Method** | **API Profiles** |                                       **Description**                                        |
|-------------------------|------------|------------------|----------------------------------------------------------------------------------------------|
| /accounts/consents/raw  | `POST`     | CMA9             | Returns original raw consent given by the Account Servicing Payment Service Provider (ASPSP) |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a Get Raw Consent request. This was created from the available data sets.

| **#** | **Type** |         **Summary**          |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                       **Response Details**                                        |
|-------|----------|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------|
| 1     | Success  | Send Get Raw Consent request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return all available account transaction details as per the pre-defined datasets |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "GFiTpF3:EBy5xGqQMatk",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                  **Summary**                   |                                                      **Request Details**                                                       | **HTTP Status** |                        **Response Details**                        |
|-------|----------|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------|
| 2     | Failure  | Method not supported by Provider's API profile | Use an "aspspId" with un-supported profile (ex. PolishAPI) from the list available in the predefined data sets for OBC Sandbox | 400             | NOT_FOUND Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "GFiTpF3:EBy5xGqQMatk",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 3     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 4     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"consentId": "GFiTpF3:EBy5xGqQMatk",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 5     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "consentId" code for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "HHWW1122334455",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|-------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 6     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "GFiTpF3:EBy5xGqQMatk",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 7     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "GFiTpF3:EBy5xGqQMatk",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 8     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "GFiTpF3:EBy5xGqQMatk",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	}
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 9     | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "requestInfo": {
        "aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
        "consentId": "GFiTpF3:EBy5xGqQMatk",
        "isLivePsuRequest": false,
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"
    }
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 10    | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "GFiTpF3:EBy5xGqQMatk",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	}
}
```

### Endpoint details {#endpoint-details}

|  **Endpoints/Resources**  | **Method** |                                                           **API Profiles**                                                           |                                                             **Description**                                                              |
|---------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|
| /accounts/consents/delete | `POST`     | CMA9, Polish API, NextGenPSD2, STET, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Makes the token associated with an existing consent unusable for the TPP, so that the account information cannot be accessed afterwards. |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a Delete Consent request. This was created from the available data sets.

| **#** | **Type** |          **Summary**           |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |              **Response Details**               |
|-------|----------|--------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------|
| 1     | Success  | Send Delete AI Consent request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return the pre-defined dataset |

**Sample Request**

```json
{
"consentId": "GFiTpF3:EBy5xGqQMatk",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 2     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"consentId": "",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 3     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"consentId": "GFiTpF3:EBy5xGqQMatk",
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 4     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "consentId" code for the specified "aspspId" | 400             | PROVIDER ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"consentId": "randomXC34o23",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

|       **#**        | **Type** |                   **Summary**                    |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|--------------------|----------|--------------------------------------------------|-------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 5                  | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |
| **Sample Request** |          |                                                  |                                                             |                 |                                                                      |

```json
{
"consentId": "GFiTpF3:EBy5xGqQMatk",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	}
}
```

|       **#**        | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|--------------------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 6                  | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |
| **Sample Request** |          |                       |                                                            |                 |                                                                         |

```json
{
"consentId": "GFiTpF3:EBy5xGqQMatk",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	}
}
```

|       **#**        | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|--------------------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 7                  | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |
| **Sample Request** |          |                       |                                                            |                 |                                                                           |

```json
{
"consentId": "GFiTpF3:EBy5xGqQMatk",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	}
}
```

|       **#**        | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|--------------------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 8                  | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |
| **Sample Request** |          |             |                                                            |                 |                                                                  |

```json
{
"consentId": "GFiTpF3:EBy5xGqQMatk",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	}
}
```

## Payment Initiation Service scenarios {#payment-initiation-service-scenarios}

Refer to the the [Specification release information](https://developer.mastercard.com/open-banking-connect/documentation/specification-release-documentation/index.md) for the current Sandbox Data Sets spreadsheets.

### Endpoint details {#endpoint-details}

| **Endpoints/Resources** | **Method** | **API Profiles** |        **Description**         |
|-------------------------|------------|------------------|--------------------------------|
| /payments/aspsps        | `POST`     | N/A              | Reads list of supported ASPSPs |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to retrieve the list of ASPSPs. This was created from the available data sets.

| **#** | **Type** |        **Summary**         |                               **Request Details**                                | **HTTP Status** |                                                                                                            **Response Details**                                                                                                            |
|-------|----------|----------------------------|----------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1     | Success  | Get the list of all ASPSPs | Send a correctly formatted request with no filtering or additional data requests | 200             | OBC will return all available ASPSPs as per the pre-defined datasets. Note: In production, the list of ASPSPs returned to a particular TPP will depend on multiple factors, including the existence of the TPP registration with the ASPSP |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |               **Summary**                |                            **Request Details**                            | **HTTP Status** |                                    **Response Details**                                     |
|-------|----------|------------------------------------------|---------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------|
| 2     | Success  | Get the list of ASPSPs with capabilities | Include `"returnAdditionalData": ["capabilities"]` as part of the request | 200             | OBC will include "capabilities" object in the response message as per the API specification |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"returnAdditionalData": [
	"capabilities"
	]
}
```

| **#** | **Type** |            **Summary**            |                        **Request Details**                        | **HTTP Status** |                                **Response Details**                                 |
|-------|----------|-----------------------------------|-------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------------------|
| 3     | Success  | Get the list of ASPSPs with logos | Include `"returnAdditionalData": ["logo"]` as part of the request | 200             | OBC will include "logo" object in the response message as per the API specification |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"returnAdditionalData": [
	"logo"
	]
}
```

| **#** | **Type** |                **Summary**                 |                                                                          **Request Details**                                                                           | **HTTP Status** |                                          **Response Details**                                           |
|-------|----------|--------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------------|
| 4     | Success  | Filter the ASPSPs by country (exact match) | Set `"country"` to an Alpha-2 code (upper case) as per ISO 3166. Please consider availability of ASPSPs per each country based on the predefined data sets for Sandbox | 200             | OBC will include in the response only the ASPSPs where the country matches the code used in the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"country": "GB"
}
```

| **#** | **Type** |                **Summary**                |                                                           **Request Details**                                                            | **HTTP Status** |                                              **Response Details**                                               |
|-------|----------|-------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------|
| 5     | Success  | Filter the ASPSPs by name (partial match) | Set `"name"` to the required partial search string. Please consider availability of ASPSPs based on the predefined data sets for Sandbox | 200             | OBC will include in the response only the ASPSPs where the name partially matches the value used in the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"name": "Althea"
}
```

| **#** | **Type** |                 **Summary**                 |                                                      **Request Details**                                                       | **HTTP Status** |                                        **Response Details**                                         |
|-------|----------|---------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------|
| 6     | Success  | Filter a specific ASPSP by ID (exact match) | Set `"id"` to the required search string. Please consider availability of ASPSPs based on the predefined data sets for Sandbox | 200             | OBC will include in the response only the ASPSPs where the id matches the value used in the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "cc42a197-1aa1-4506-99e9-5e2352ace7df"
}
```

| **#** | **Type** |     **Summary**      |                                                        **Request Details**                                                         | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------|------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 7     | Special  | Get duplicate ASPSPs | "Adonis Bank" is a duplicate name entry in the sandbox data sets. Please consider filtering based on the name to get both entries. | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"name": "Adonis"
}
```

| **#** | **Type** |      **Summary**      |                                               **Request Details**                                                | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 8     | Special  | Get an AIS only ASPSP | Filter based on the name: `AIS Service only Bank`, or filter based on id: `6abf63e8-a48e-4eb0-bba1-20bd2e6b37c6` | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "6abf63e8-a48e-4eb0-bba1-20bd2e6b37c6"
}
```

| **#** | **Type** |                **Summary**                 |                                               **Request Details**                                               | **HTTP Status** |                          **Response Details**                           |
|-------|----------|--------------------------------------------|-----------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 9     | Special  | Get an ASPSP with an SQL query in the name | Filter based on the name: "select \* from aspsp", or filter based on id: "f3523d42-e47e-464c-92cb-3c72dd1a3a4e" | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "f3523d42-e47e-464c-92cb-3c72dd1a3a4e"
}
```

| **#** | **Type** |                    **Summary**                     |                                                                 **Request Details**                                                                  | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 10    | Special  | Get an ASPSP with special characters in their name | Filter based on the name: `"&amp;&#x20AC; <br> </br> \" \' Special Character Bank"`, or filter based on id: `"c7da9dae-a40c-467f-a534-c40aadf3edfd"` | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "c7da9dae-a40c-467f-a534-c40aadf3edfd"
}
```

| **#** | **Type** |                 **Summary**                  |                                           **Request Details**                                            | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------------|----------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 11    | Special  | Get an ASPSP with maximum length of the Name | Filter based on the name: " MaxValueName", or filter based on id: "29edaa3d-8af1-43c9-871c-afae95d67fce" | 200             | OBC will include in the response only the ASPSPs that match the filter. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"id": "29edaa3d-8af1-43c9-871c-afae95d67fce"
}
```

| **#** | **Type** |                  **Summary**                  |                            **Request Details**                            | **HTTP Status** |                           **Response Details**                           |
|-------|----------|-----------------------------------------------|---------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------|
| 12    | Special  | Request to include ASPSP logo in the response | Include the following in the request : "returnAdditionalData": \["logo"\] | 200             | If a logo is available for the ASPSP it will be included in the response |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	},
"name": "Sandbox",
"returnAdditionalData": [
	"logo"
	]
}
```

| **#** | **Type** |              **Summary**               | **Request Details** | **HTTP Status** | **Response Details** |
|-------|----------|----------------------------------------|---------------------|-----------------|----------------------|
| 13    | Special  | Get an ASPSP without capability object | Not available now.  | n/a             | n/a                  |

| **#** | **Type** |        **Summary**        |                                                     **Request Details**                                                      | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 14    | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": ""
	}
}
```

### Payment Initiation Consent Request scenario {#payment-initiation-consent-request-scenario}

### Endpoint details {#endpoint-details}

|           **Endpoints/Resources**            | **Method** |                                                        **API Profiles**                                                        |                 **Description**                  |
|----------------------------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|
| /payments/domestic-credit-transfers/consents | `POST`     | CMA9, Polish API, NextGenPSD2, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Used to submit a Domestic Single Payment consent |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a Domestic Payment Consent request. This was created from the available data sets.

| **#** | **Type** |           **Summary**            |                                                                                                                                                                                                                **Request Details**                                                                                                                                                                                                                 | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                                |
|-------|----------|----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1     | Success  | Send as Single Immediate Payment | Send a correctly formatted message. Use "Domestic single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. Exclude "requestedExcutionDate" and "schedule" section. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code= UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**
Note: SCA redirect link will be received without state parameter if the below details are included in the request:  

* ASPSP ID: 4888fdfa-0f32-4a1f-b55e-5870454bccc1
* xRequestId: c6f61f67-e0f8-40a0-b368-ee2862579532

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments" 
	}
}
```

| **#** | **Type** |                                  **Summary**                                   |                                                                                                                                                                                                                                            **Request Details**                                                                                                                                                                                                                                            | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                                |
|-------|----------|--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 2     | Success  | Send as Single Immediate Payment with possibility to retrieve raw consent data | Send a correctly formatted message. Use "Domestic raw consent" data sets for the respective ASPSP (only CMA9 is supported). Include `"flags": ["Return.Raw.Consent"] `parameter in request to get raw consent data in response. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. Exclude "requestedExcutionDate" and "schedule" section. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example," code= UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"flags": ["Return.Raw.Consent"]
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
	"currency": "GBP",
	"amount": 35.15
	},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "30087236"
	},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "283746"
	},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments",
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |                                     **Summary**                                     |                                                                                                                                                                                                                 **Request Details**                                                                                                                                                                                                                 | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                                |
|-------|----------|-------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 3     | Success  | Send as Single Immediate Payment with possibility to get different payment statuses | Send a correctly formatted message. Use different amount value for the respective ASPSP - "Copernicium Bank" (d9cbc550-968a-11ea-bb37-0242ac130002) from dataset to obtain different payment statuses in corresponding scenarios. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example," code= UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "d9cbc550-968a-11ea-bb37-0242ac130002"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 87118.18
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments" 
	}
}
```

| **#** | **Type** |                                                                                     **Summary**                                                                                     |                                                                                                                                                                                                                        **Request Details**                                                                                                                                                                                                                         | **HTTP Status** |                                                                                                                                                                                                                                 **Response Details**                                                                                                                                                                                                                                 |
|-------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 4     | Success  | Send as Single Immediate Payment with possibility to get different ASPSP certificate statuses. The certificate status is displayed in "Payment Credit Transfer Initiation" request. | Send a correctly formatted message. Use different creditor account identification value for the respective ASPSP - (320f5caf-1223-51df-451a-1623ef046d31) from dataset to obtain different ASPSP certificate statuses in corresponding scenarios. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted | 200             | SUCCESS In the production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code=UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**

```json
{
          "requestInfo": {
            "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
            "tppRedirectURI": "https://tpp-ob.com/callback",
            "aspspId": "320f5caf-1223-51df-451a-1623ef046d31"
          },
          "payments": {
            "endToEndIdentification": "Notification",
            "localInstrument": "UK.FasterPayments",
            "instructedAmount": {
              "currency": "GBP",
              "amount": 300
            },
            "creditorAccount": {
              "schemeName": "UK.AccountNumber",
              "identification": "UK1234749673235845128801"
            },
            "creditorAgent": {
              "clearingSystemIdentification": "UK.SortCode",
              "memberIdentification": "283746"
            },
            "creditorName": "UK Test Creditor 1"
           }
        }
```

| **#** | **Type** |         **Summary**          |                                                                                                                                                                              **Request Details**                                                                                                                                                                              | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                                |
|-------|----------|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 5     | Special  | Send as Future Dated Payment | Send a correctly formatted message. Populate "requestedExecutionDate" with a future date. Use "Domestic single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code= UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments",
	"requestedExecutionDate": "2022-12-20"
	}
}
```

| **#** | **Type** |      **Summary**       |                                                                                                                                                                                                    **Request Details**                                                                                                                                                                                                    | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                                |
|-------|----------|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 6     | Special  | Send as Standing order | Send a correctly formatted message. Populate "schedule" section of the message with details of the standing order execution schedule. Use "Domestic standing order" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code= UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007\&state=FH888999"). |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 200.20
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "55553333"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "135246"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments",
	"schedule": {
		"frequency": "MNTH",
		"startDate": "2025-12-31"
		}
	}
}
```

| **#** | **Type** |        **Summary**        |                                                                                                                                 **Request Details**                                                                                                                                 | **HTTP Status** |                          **Response Details**                          |
|-------|----------|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 7     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint. In sample request the clearingSystemIdentification and localInstrument parameters values are missing and a schema validation failure error is thrown. | 400             | FORMAT_ERROR Please see error handling documentation for more details. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": ""
	}
}
```

| **#** | **Type** |                   **Summary**                   |                                                                                                                                                                                                                                    **Request Details**                                                                                                                                                                                                                                    | **HTTP Status** |                          **Response Details**                          |
|-------|----------|-------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 8     | Failure  | Send wrong details for selected localInstrument | In the request message some of the fields have dependencies on selected value for localInstrument. For example, for localInstrument = 'UK.FasterPayment', this error will be thrown if any of the following example scenarios: - instructionPriority was populated - instructedAmount -\> currency was NOT set to 'GBP' - debtorAgent was specified but debtorAccount was NOT specified - debtorAccount was specified but debtorAgent was NOT specified - creditorAgent was not populated | 400             | FORMAT_ERROR Please see error handling documentation for more details. |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "PLN",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments"
	}
}
```

| **#** | **Type** |                               **Summary**                                |                 **Request Details**                  | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------------------------------------------------------|------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 9     | Failure  | Send a Future Dated Payment with Requested Execution Date is in the past | Use requestedExecutionDate with a date from the past | 400             | FORMAT_ERROR Please see error handling documentation for more details. |

**Sample Request**

```json
{
 "requestInfo": {
 	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
 	"tppRedirectURI": "https://tpp-ob.com/callback",
 	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	 "instructedAmount": {
		 "currency": "GBP",
		 "amount": 150.25
		 },
 	"creditorAccount": {
 		"schemeName": "UK.AccountNumber",
 		"identification": "89674545"
 		},
 	"creditorAgent": {
 		"clearingSystemIdentification": "UK.SortCode",
 		"memberIdentification": "998877"
 		},
 	"creditorName": "UK Test Creditor 1",
	 "localInstrument": "UK.FasterPayments",
	 "requestedExecutionDate": "2019-11-20"
	 }
}
```

| **#** | **Type** |                         **Summary**                         |               **Request Details**                | **HTTP Status** |                                  **Response Details**                                   |
|-------|----------|-------------------------------------------------------------|--------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------|
| 10    | Failure  | Send a Standing Order with Start Date greater than End Date | Use a startDate that is greater than the endDate | 400             | STARTDATE_GREATER_THAN_ENDDATE Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 200.20
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "55553333"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "135246"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments",
	"schedule": {
		"frequency": "MNTH",
		"startDate": "2025-12-31",
		"endDate": "2025-12-30"
		}
	}
}
```

| **#** | **Type** |                          **Summary**                          |                **Request Details**                | **HTTP Status** |                                 **Response Details**                                  |
|-------|----------|---------------------------------------------------------------|---------------------------------------------------|-----------------|---------------------------------------------------------------------------------------|
| 11    | Failure  | Send a Standing Order with Start Date or End Date in the past | Use a startDate or an endDate that is in the past | 400             | INVALID_STARTDATE_OR_ENDDATE Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 200.20
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "55553333"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "135246"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments",
	"schedule": {
		"frequency": "MNTH",
		"startDate": "2019-12-20",
		"endDate": "2021-10-10"
		}
	}
}
```

| **#** | **Type** |                                    **Summary**                                     |                             **Request Details**                             | **HTTP Status** |                         **Response Details**                          |
|-------|----------|------------------------------------------------------------------------------------|-----------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 12    | Failure  | Send a Standing Order with Start Date or End Date which are not in expected format | Use a startDate or an endDate that is not aligned to ISO format, YYYY-MM-DD | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
 "requestInfo": {
	 "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
 	"tppRedirectURI": "https://tpp-ob.com/callback",
 	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	 "instructedAmount": {
		 "currency": "GBP",
		 "amount": 200.20
		 },
	 "creditorAccount": {
		 "schemeName": "UK.AccountNumber",
		 "identification": "55553333"
		 },
	 "creditorAgent": {
		 "clearingSystemIdentification": "UK.SortCode",
		 "memberIdentification": "135246"
		 },
	 "creditorName": "UK Test Creditor 1",
	 "localInstrument": "UK.FasterPayments",
	 "schedule": {
		 "frequency": "MNTH",
		 "startDate": "2019-20-12"
		 }
 	}
}
```

| **#** | **Type** |                     **Summary**                      |                           **Request Details**                           | **HTTP Status** |                                 **Response Details**                                 |
|-------|----------|------------------------------------------------------|-------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------------------|
| 13    | Failure  | Send both as Standing Order and Future Dated payment | Populate both "requestedExecutionDate" field and the "schedule section" | 400             | UNCLEAR_PAYMENT_INSTRUCTION Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 200.20
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "55553333"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "135246"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments",
	"remittanceInformationUnstructured": "Payment for fruits",
	"requestedExecutionDate": "2025-12-20",
	"schedule": {
		"frequency": "MNTH",
		"startDate": "2025-12-31"
		}
	}
}
```

| **#** | **Type** |                                **Summary**                                |                 **Request Details**                 | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------------------------------------------------------|-----------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 14    | Failure  | Send payment where amount is less or equal to zero, at payment initiation | Use `"instructedAmount"` with 0 or a negative value | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": -10
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "55553333"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "135246"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments",
	"schedule": {
		"frequency": "MNTH",
		"startDate": "2025-12-20"
		}
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 15    | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "123e4567-e89b-12d3-a456-426655440000"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                               **Request Details**                                                                | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 16    | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong combination of "localInstrument" for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments"
	}
}
```

| **#** | **Type** |                  **Summary**                   |                                                    **Request Details**                                                     | **HTTP Status** |                        **Response Details**                        |
|-------|----------|------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------|
| 17    | Failure  | Method not supported by Provider's API profile | Use an "aspspId" with un-supported profile (ex. STET) from the list available in the pre-defined data sets for OBC Sandbox | 400             | NOT_FOUND Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "08475b1c-5f59-48f7-8c62-dcfd8928dad2"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
	},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
	},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
	},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments",
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |       **Summary**        |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                          |
|-------|----------|--------------------------|-------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 18    | Failure  | Invalid TPP redirect URL | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c5a"` | 400             | INACTIVE_URL Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c5a",
	"tppRedirectURI": "http://tpp-example-redirect-url.com",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                     **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|-------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 19    | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId" : "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 10
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "55553333"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "135246"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 20    | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a",
	"tppRedirectURI": "http://tpp-example-redirect-url.com",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 21    | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a",
		"tppRedirectURI": "https://tpp-ob.com/callback",
		"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 10
	},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "55553333"
	},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
"memberIdentification": "135246"
	},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments"
	}
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 22    | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a",
	"tppRedirectURI": "http://tpp-example-redirect-url.com",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794"
	},
"payments": {
	"endToEndIdentification": "123456789012345678",
	"instructedAmount": {
		"currency": "GBP",
		"amount": 150.25
		},
	"creditorAccount": {
		"schemeName": "UK.AccountNumber",
		"identification": "89674545"
		},
	"creditorAgent": {
		"clearingSystemIdentification": "UK.SortCode",
		"memberIdentification": "998877"
		},
	"creditorName": "UK Test Creditor 1",
	"localInstrument": "UK.FasterPayments"
	}
}
```

| **#** | **Type** |         **Summary**         |                                                              **Request Details**                                                               | **HTTP Status** |                                           **Response Details**                                            |
|-------|----------|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------|
| 23    | Failure  | REFUND_CAPABILITY _DISABLED | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-000000111111"` Refund capability is not enabled for the TPP requesting for refund account details. | 400             | Typically occurs when refund capability is not enabled for the TPP requesting for refund account details. |

**Sample Request**

```json
{
    "requestInfo": {
        "xRequestId": "fee919e5-e2e7-4d7b-9926-000000111111",
        "tppRedirectURI": "https://openbanking.mastercard.eu/sandbox/mock/index.html",
        "aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
        "flags": [
            "RETURN_REFUND_ACCOUNT"
        ]
    },
    "payments": {
        "localInstrument": "UK.FasterPayments",
        "endToEndIdentification": "Notification",
        "instructedAmount": {
            "currency": "GBP",
            "amount": 100.23
        },
        "creditorAccount": {
            "schemeName": "UK.AccountNumber",
            "identification": "12345678"
        },
        "creditorAgent": {
            "clearingSystemIdentification": "UK.SortCode",
            "memberIdentification": "123456"
        },
        "creditorName": "Wood bank",
        "remittanceInformationUnstructured": "Payment for fruits",
        "creditorAddress": {
            "street": "Sfatul tarii",
            "buildingNumber": "15",
            "city": "Chisinau",
            "postalCode": "MD2008",
            "countrySubDivision": "Mun Chisinau",
            "country": "MD"
        },
        "risk": {
            "deliveryAddress": {
                "city": "New York",
                "country": "US"
            }
        }
    }
}
```

### Payment Credit Transfer Initiation Request scenario {#payment-credit-transfer-initiation-request-scenario}

### Endpoint details {#endpoint-details-1}

|       **Endpoints/Resources**       | **Method** |                                                        **API Profiles**                                                        |                   **Description**                    |
|-------------------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------|
| /payments/domestic-credit-transfers | `POST`     | CMA9, Polish API, NextGenPSD2, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Used to submit a Domestic Payment Initiation request |

### Scenarios {#scenarios-1}

The following scenarios on Sandbox are used to submit a Domestic Payment Initiation request. This was created from the available data sets.

| **#** | **Type** |           **Summary**           |                                                                                                                                                                                    **Request Details**                                                                                                                                                                                     | **HTTP Status** |                                    **Response Details**                                     |
|-------|----------|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------|
| 1     | Success  | Send Payment Initiation request | Send a correctly formatted message. Use "Domestic single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS As response the API returns access token, payment identification and payment status |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"authorization":"code=UKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK007&state=38948933-38ae-45af-953e-25a69fefa39e"
	}
}
```

| **#** | **Type** |        **Summary**        |                                                                                                              **Request Details**                                                                                                               | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 2     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint. In sample request the authorization parameter value are missing and a schema validation failure error is thrown. | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"authorization": ""
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 3     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"aspspId": "123e4567-e89b-12d3-a456-426655440000",
	"authorization":"code=UKdpVsbG8gQ2TP9kZWJleft53serYXV0aUK007&state=38948933-38ae-45af-953e-25a69fefa39e"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                                 **Request Details**                                                                  | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 4     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong value of `"authorization"` parameter for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"authorization": "ZZZXXXCCC11223344"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                    **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 5     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"authorization":"code=UKdpVsbG8gQ2TP9kZWJleft53serYXV0aUK007&state=38948933-38ae-45af-953e-25a69fefa39e"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 6     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"authorization":"code=UKdpVsbG8gQ2TP9kZWJleft53serYXV0aUK007&state=38948933-38ae-45af-953e-25a69fefa39e"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 7     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"authorization":"code=UKdpVsbG8gQ2TP9kZWJleft53serYXV0aUK007&state=38948933-38ae-45af-953e-25a69fefa39e"
	}
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 8     | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"authorization":"code=UKdpVsbG8gQ2TP9kZWJleft53serYXV0aUK007&state=38948933-38ae-45af-953e-25a69fefa39e"
	}
}
```

| **#** | **Type** |                             **Summary**                             |                                                                         **Request Details**                                                                          | **HTTP Status** | **Response Details** |
|-------|----------|---------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------|
| 9     | Success  | Get Payment request with response containing refund account details | Use ASPSPID: `cf7a59be-6ab5-11ea-bc55-0242ac130003` and Authorization: `"code=rraUKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK006&state=38948933-38ae-45af-953e-25a69fefa39e"` | 200             | SUCCESS              |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
    "authorization": "code=rraUKdpVsbG8gQ2TP7kZWJleft54serYXV0aUK006&state=38948933-38ae-45af-953e-25a69fefa39e",
    "aspspId": "cf7a59be-6ab5-11ea-bc55-0242ac130003",
    "isLivePsuRequest": true,
    "psuIPAddress": "192.168.0.1",
    "psuAgent": "PostmanRuntime/7.20.1",
    "merchant": {
      "id": "MerchantId",
      "name": "MerchantName"
    }
  }
}
```

### Get Payment Status Request scenario {#get-payment-status-request-scenario}

### Endpoint details {#endpoint-details-2}

|              **Endpoints/Resources**               | **Method** |                                                        **API Profiles**                                                        |               **Description**               |
|----------------------------------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------|
| /payments/domestic-credit-transfers/payment-status | `POST`     | CMA9, Polish API, NextGenPSD2, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Used to submit a Get Payment Status request |

### Scenarios {#scenarios-2}

The following scenarios on Sandbox are used to submit a submit a Get Payment Status request. . This was created from the available data sets.

| **#** | **Type** |           **Summary**           |                                                                                                                                                                                    **Request Details**                                                                                                                                                                                     | **HTTP Status** |                  **Response Details**                  |
|-------|----------|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------|
| 1     | Success  | Send Get Payment Status request | Send a correctly formatted message. Use "Domestic single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS The API returns the Payment status as response |

**Sample Request**

```json
{
"paymentId": "UKSCfMdxtcIOmGpSUqkM",
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"consentId": "UKqeBJbqtZ8sPNznYtUK07"
	}
}
```

| **#** | **Type** |        **Summary**        |                                                                                                            **Request Details**                                                                                                             | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 2     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint. In sample request the paymentId parameter value are missing and a schema validation failure error is thrown. | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"paymentId": "",
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"consentId": "UKqeBJbqtZ8sPNznYtUK07"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 3     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"paymentId": "UK8aFR415:22Aa:6asdC",
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"aspspId": "123e4567-e89b-12d3-a456-426655440000",
	"consentId": "UKqeBJbqtZ8sPNznYtUK07"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                                      **Request Details**                                                                       | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 4     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong value of "paymentId" or "consentId" parameters for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"paymentId": "PL8aFR415:22Aa:6asdC",
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"consentId": "PL8sPNznYtfV:5zKxPL"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                    **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 5     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"paymentId": "UKSCfMdxtcIOmGpSUqkM",
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"consentId": "UKqeBJbqtZ8sPNznYtUK07"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 6     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"paymentId": "UKSCfMdxtcIOmGpSUqkM",
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"consentId": "UKqeBJbqtZ8sPNznYtUK07"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 7     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"paymentId": "UKSCfMdxtcIOmGpSUqkM",
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"consentId": "UKqeBJbqtZ8sPNznYtUK07"
	}
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 8     | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "paymentId": "UKSCfMdxtcIOmGpSUqkM",
    "requestInfo": {
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d",
        "aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
        "consentId": "UKqeBJbqtZ8sPNznYtUK07"
    }
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 9     | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"paymentId": "UKSCfMdxtcIOmGpSUqkM",
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a",
	"aspspId": "876a09be-e667-437b-96e8-4e319d75b794",
	"consentId": "UKqeBJbqtZ8sPNznYtUK07"
	}
}
```

### Endpoint details {#endpoint-details}

|         **Endpoints/Resources**          | **Method** |                                                        **API Profiles**                                                        |               **Description**                |
|------------------------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------|
| /payments/sepa-credit-transfers/consents | `POST`     | Polish API, NextGenPSD2, STET, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Used to submit a SEPA Single Payment consent |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a SEPA Payment Consent request. This was created from the available data sets.

| **#** | **Type** |              **Summary**              |                                                                                                                                                                                                              **Request Details**                                                                                                                                                                                                               | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                               |
|-------|----------|---------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1     | Success  | Send as SEPA Single Immediate Payment | Send a correctly formatted message. Use "SEPA single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. Exclude "requestedExcutionDate" and "schedule" section. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code=PLdpVsbG8gQ2TP7kZWJleft54serYXV0aPL007\&state=FH888999"). |

**Sample Request**
Note: SCA redirect link will be received without state parameter if the below details are included in the request:  

* ASPSP ID: 4888fdfa-0f32-4a1f-b55e-5870454bccc1
* xRequestId: c6f61f67-e0f8-40a0-b368-ee2862579532

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
	},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
	},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |                  **Summary**                   |                                                    **Request Details**                                                    | **HTTP Status** |                        **Response Details**                        |
|-------|----------|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------|
| 2     | Special  | Method not supported by Provider's API profile | Use an "aspspId" with un-supported profile (ex. CMA9) from the list available in the predefined data sets for OBC Sandbox | 400             | NOT_FOUND Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf"
	},
	"payments": {
		"localInstrument": "SEPA",
		"instructionPriority": "Normal",
		"endToEndIdentification": "123456789012345678",
		"debtorName": "Debtor Name",
		"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "GB"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 100.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "DE59SNDB22222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "DE"
	},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |                  **Summary**                  |                                                                    **Request Details**                                                                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|-----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 3     | Special  | This feature is unavailable for this Provider | Use an "aspspId" with a profile which does not support SEPA Inst payments (ex. Polish) from the list available in the predefined data sets for OBC Sandbox | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
    "requestInfo": {
        "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
        "tppRedirectURI": "https://tpp-ob.com/callback",
        "aspspId": "4888fdfa-0f32-4a1f-b55e-5870454bccc1",
        "isLivePsuRequest": true,
    "psuIPAddress": "123.234.12.34",
    "psuAgent": "PostmanRuntimae/7.20.1",
    "merchant": {
        "id": "merchantId",
      "name": "merchantName"
     }
    },
    "payments": {
        "localInstrument": "SEPA_INSTANT",
        "instructionPriority": "Normal",
        "endToEndIdentification": "123456789012345678",
        "categoryPurpose": "CASH",
        "debtorAgent": {
            "bicfi": "BARCGB22XXX"
        },
        "debtorAccount": {
            "iban": "DE89370400440532013000"
        }, 
        "debtorName": "NordPole PLC",
        "debtorAddress": {
            "street": "Street",
            "buildingNumber": "1",
            "city": "City",
            "postalCode": "Postal Code",
            "countrySubDivision": "Country Subdivision",
            "country": "PL"
        },
        "instructedAmount": {
            "currency": "EUR",
            "amount": 200.00
        },
        "creditorAgent": {  
        "bicfi": "BARCGB22001"
        },
        "creditorAccount": {
            "iban": "PL92124049371831347560745013"
        },
        "creditorName": "Creditor Name",
        "creditorAddress": {
            "street": "Street",
            "buildingNumber": "2",
            "city": "City",
            "postalCode": "Postal Code",
            "countrySubDivision": "Country Subdivision",
            "country": "FR"
        },
        "remittanceInformationUnstructured": "Payment for fruits"
    }
}
```

| **#** | **Type** |         **Summary**          |                                                                                                                                                                           **Request Details**                                                                                                                                                                            | **HTTP Status** |                                                                                                                                                                                                                               **Response Details**                                                                                                                                                                                                                               |
|-------|----------|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 4     | Special  | Send as Future Dated Payment | Send a correctly formatted message. Populate "requestedExecutionDate" with a future date Use "SEPA single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. | 200             | SUCCESS In production environment, the TPP will have to redirect the PSU to the URI received in 'scaRedirect' to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code=PLdpVsbG8gQ2TP7kZWJleft54serYXV0aPL007\&state=FH888999"). |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
	},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
	},
	"remittanceInformationUnstructured": "Payment for fruits",
	"requestedExecutionDate": "2022-12-20"
	}
}
```

| **#** | **Type** |        **Summary**        |                                                                                                               **Request Details**                                                                                                                | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 5     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint. In sample request the localInstrument parameter value are missing and a schema validation failure error is thrown. | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
	},
"payments": {
	"localInstrument": "",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
	},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |                   **Summary**                   |                                                                                                                                               **Request Details**                                                                                                                                               | **HTTP Status** |                         **Response Details**                          |
|-------|----------|-------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 6     | Failure  | Send wrong details for selected localInstrument | In the request message some of the fields have dependencies on selected value for localInstrument. For example, for localInstrument = 'SEPA', this error will be thrown if any of the following example scenarios: - instructionPriority was not populated - instructedAmount -\> currency was NOT set to 'EUR' | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
	},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "GBP",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
	},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |                               **Summary**                                |                 **Request Details**                  | **HTTP Status** |                         **Response Details**                          |
|-------|----------|--------------------------------------------------------------------------|------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 7     | Failure  | Send a Future Dated Payment with Requested Execution Date is in the past | Use requestedExecutionDate with a date from the past | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
	},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
	"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
	},
	"remittanceInformationUnstructured": "Payment for fruits",
	"requestedExecutionDate": "2019-12-20"
	}
}
```

| **#** | **Type** |      **Summary**      |         **Request Details**          | **HTTP Status** |                         **Response Details**                         |
|-------|----------|-----------------------|--------------------------------------|-----------------|----------------------------------------------------------------------|
| 8     | Failure  | Send a Standing Order | Use an ASPSP with PolishAPI profile. | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
	},
	"remittanceInformationUnstructured": "Payment for fruits",
	"schedule": {
		"frequency": "MNTH",
		"startDate": "2025-31-20",
        "endDate": "2025-31-28",

		}
	}
}
```

| **#** | **Type** |                     **Summary**                      |                           **Request Details**                           | **HTTP Status** |                         **Response Details**                         |
|-------|----------|------------------------------------------------------|-------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 9     | Failure  | Send both as Standing Order and Future Dated payment | Populate both "requestedExecutionDate" field and the "schedule" section | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
	},
	"remittanceInformationUnstructured": "Payment for fruits",
	"requestedExecutionDate": "2025-12-20",
	"schedule": {
		"frequency": "MNTH",
		"startDate": "2023-12-20"
		}
	}
}
```

| **#** | **Type** |                                **Summary**                                |                 **Request Details**                 | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------------------------------------------------------|-----------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 10    | Failure  | Send payment where amount is less or equal to zero, at payment initiation | Use `"instructedAmount"` with 0 or a negative value | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": -200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
	},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 11    | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
		},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                         **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 12    | Failure  | Invalid TPP redirect URL | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c5a"` | 400             | INACTIVE_URL Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c5a",
	"tppRedirectURI": "http://tpp-example-redirect-url.com",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
		},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                    **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 13    | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
		},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 14    | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
		},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 15    | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
		},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 16    | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6"
},
"payments": {
	"localInstrument": "SEPA",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",
	"categoryPurpose": "CASH",
	"debtorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"debtorAccount": {
		"iban": "PL45222222222222222222222222"
	}, 
	"debtorName": "Debtor Name",
	"debtorAddress": {
		"street": "Street",
		"buildingNumber": "1",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "PL"
	},
	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BARCGB22XXX"
	},
	"creditorAccount": {
		"iban": "PL45222222222222222222222222"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "FR"
		},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |                   **Summary**                   |                                                                                                                                                                                                                     **Request Details**                                                                                                                                                                                                                      | **HTTP Status** |                                                                                                                                                                                                                                  **Response Details**                                                                                                                                                                                                                                  |
|-------|----------|-------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 17    | Success  | Send as a SEPA Instant Single Immediate Payment | Send a correctly formatted message. Use `"SEPA Instant single payment"` data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. Exclude `"requestedExcutionDate"` and `"schedule"` section. | 200             | SUCCESS In the production environment, the TPP will have to redirect the PSU to the URI received in `'scaRedirect'` to complete the authentication with the ASPSP and authorization of the consent. After this process completes, the TPP will obtain an authorization string starting immediately after question or hash mark on the URI address specified in the 'tppRedirectURI' field in the request (for example, "code=PLdpVsbG8gQ2TP7kZWJleft54serYXV0aPL007\&state=FH888999"). |

**Sample Request**

```json
{
"requestInfo": {
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000",
	"tppRedirectURI": "https://tpp-ob.com/callback",
	"aspspId": "addad4bc-9e07-417c-a2a8-68c6da1613c6"
	},
"payments": {
	"localInstrument": "SEPA_INSTANT",
	"instructionPriority": "Normal",
	"endToEndIdentification": "123456789012345678",	"instructedAmount": {
		"currency": "EUR",
		"amount": 200.00
	},
	"creditorAgent": {
		"bicfi": "BBRUBEBBXXX"
	},
	"creditorAccount": {
		"iban": "BE60X0542811101000000123456"
	},
	"creditorName": "Creditor Name",
	"creditorAddress": {
		"street": "Street",
		"buildingNumber": "2",
		"city": "City",
		"postalCode": "Postal Code",
		"countrySubDivision": "Country Subdivision",
		"country": "BE"
	},
	"remittanceInformationUnstructured": "Payment for fruits"
	}
}
```

| **#** | **Type** |                              **Summary**                              |                             **Request Details**                              | **HTTP Status** |                                                                 **Response Details**                                                                 |
|-------|----------|-----------------------------------------------------------------------|------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| 18    | Success  | Submit payment call and request refund account details from the ASPSP | Send a correctly formatted message with `"flags": ["RETURN_REFUND_ACCOUNT"]` | 200             | SUCCESS In Production environment, TPPs will receive the refund account details in response to Payment Credit transfer and Get Payment status calls. |

**Sample Request**

```json
{
    "requestInfo": {
        "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
        "tppRedirectURI": "https://openbanking.mastercard.eu/sandbox/mock/index.html",
        "aspspId": "c75c0b6d-2b03-4292-b4bd-48fca5b3a259",
        "flags": [
            "RETURN_REFUND_ACCOUNT"
        ]
    },
    "payments": {
        "endToEndIdentification": "Notification",
        "debtorAccount": {
            "iban": "DE89370400440532013001"
        },
        "debtorAgent": {
            "bicfi": "BARDGB2200"
        },
        "debtorName": "NordPole PLC",
        "debtorAddress": {
            "street": "Sfatul tarii",
            "buildingNumber": "15",
            "city": "Chisinau",
            "postalCode": "MD2008",
            "countrySubDivision": "Mun Chisinau",
            "country": "MD"
        },
        "instructedAmount": {
            "currency": "EUR",
            "amount": 80111.1
        },
        "creditorAccount": {
            "iban": "DE89370400440532013000"
        },
        "creditorAgent": {
            "bicfi": "BARCGB22001"
        },
        "creditorName": "Wood bank",
        "creditorAddress": {
            "street": "Sfatul tarii",
            "buildingNumber": "15",
            "city": "Chisinau",
            "postalCode": "MD2008",
            "countrySubDivision": "Mun Chisinau",
            "country": "MD"
        },
        "remittanceInformationUnstructured": "Payment for fruits",
        "remittanceInformationStructured": "Payment for fruits from card 5432********3456",
        "localInstrument": "SEPA",
        "instructionPriority": "Normal",
        "categoryPurpose": "CASH"
    }
}
```

| **#** | **Type** |         **Summary**         |                                                            **Request Details**                                                             | **HTTP Status** |                                           **Response Details**                                            |
|-------|----------|-----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------|
| 19    | Failure  | REFUND_CAPABILITY _DISABLED | Use xRequestId: "fee919e5-e2e7-4d7b-9926-000000111111" Refund capability is not enabled for the TPP requesting for refund account details. | 400             | Typically occurs when refund capability is not enabled for the TPP requesting for refund account details. |

**Sample Request**

```json
{
    "requestInfo": {
        "xRequestId": "fee919e5-e2e7-4d7b-9926-000000111111",
        "tppRedirectURI": "https://openbanking.mastercard.eu/sandbox/mock/index.html",
        "aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
        "flags": [
            "RETURN_REFUND_ACCOUNT"
        ]
    },
    "payments": {
        "endToEndIdentification": "Notification",
        "debtorAccount": {
            "iban": "DE89370400440532013001"
        },
        "debtorAgent": {
            "bicfi": "BARDGB2200"
        },
        "debtorName": "NordPole PLC",
        "debtorAddress": {
            "street": "Sfatul tarii",	
            "buildingNumber": "15",
            "city": "Chisinau",
            "postalCode": "MD2008",
            "countrySubDivision": "Mun Chisinau",
            "country": "MD"
        },
        "instructedAmount": {
            "currency": "EUR",
            "amount": 100.23
        },
        "creditorAccount": {
            "iban": "DE89370400440532013000"
        },
        "creditorAgent": {
            "bicfi": "BARCGB22001"
        },
        "creditorName": "Wood bank",
        "creditorAddress": {
            "street": "Sfatul tarii",
            "buildingNumber": "15",
            "city": "Chisinau",
            "postalCode": "MD2008",
            "countrySubDivision": "Mun Chisinau",
            "country": "MD"
        },
        "remittanceInformationUnstructured": "Payment for fruits",
        "remittanceInformationStructured": "Payment for fruits from card 5432********3456",
        "localInstrument": "SEPA",
        "instructionPriority": "Normal",
        "categoryPurpose": "CASH"
    }
}
```

### Endpoint details {#endpoint-details}

|     **Endpoints/Resources**     | **Method** |                                                        **API Profiles**                                                        |                 **Description**                  |
|---------------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------|
| /payments/sepa-credit-transfers | `POST`     | Polish API, NextGenPSD2, STET, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Used to submit a SEPA Payment Initiation request |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a SEPA Payment Initiation request. This was created from the available data sets.

| **#** | **Type** |             **Summary**              |                                                                                                                                                                                  **Request Details**                                                                                                                                                                                   | **HTTP Status** |                                    **Response Details**                                     |
|-------|----------|--------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------------------------------|
| 1     | Success  | Send SEPA Payment Initiation request | Send a correctly formatted message. Use "SEPA single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS As response the API returns access token, payment identification and payment status |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
    "authorization": "code=PLsepaVsbG8gQ2TP9kZWJleft53serYXV0aPL001&state=4510535f-2adf-47b6-8b30-51a6290c2dc0",
    "aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
    "isLivePsuRequest": true,
    "psuIPAddress": "192.168.0.1",
    "psuAgent": "PostmanRuntime/7.20.1",
    "merchant": {
      "id": "MerchantId",
      "name": "MerchantName"
    }
  }
}
```

| **#** | **Type** |                  **Summary**                   |                                                    **Request Details**                                                    | **HTTP Status** |                        **Response Details**                        |
|-------|----------|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------|
| 2     | Special  | Method not supported by Provider's API profile | Use an "aspspId" with un-supported profile (ex. CMA9) from the list available in the predefined data sets for OBC Sandbox | 400             | NOT_FOUND Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"authorization": "UKdpVsbG8gQ2TP9kZWJleft53serYXV0aUK001",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |        **Summary**        |                                                                                                              **Request Details**                                                                                                               | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 3     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint. In sample request the authorization parameter value are missing and a schema validation failure error is thrown. | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"authorization": "",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 4     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"authorization": "PLsepaVsbG8gQ2TP9kZWJleft53serYXV0aPL001",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |              **Summary**               |                                                                 **Request Details**                                                                  | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 5     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong value of `"authorization"` parameter for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"authorization": "AABBCC112233",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                    **Request Details**                     | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|------------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 6     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"authorization": "PLsepaVsbG8gQ2TP9kZWJleft53serYXV0aPL001",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 7     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"authorization": "PLsepaVsbG8gQ2TP9kZWJleft53serYXV0aPL001",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 8     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"authorization": "PLsepaVsbG8gQ2TP9kZWJleft53serYXV0aPL001",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	}
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 9     | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"authorization": "PLsepaVsbG8gQ2TP9kZWJleft53serYXV0aPL001",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	}
}
```

| **#** | **Type** |                      **Summary**                       |                                                                                                                                                                                       **Request Details**                                                                                                                                                                                        | **HTTP Status** |                                      **Response Details**                                      |
|-------|----------|--------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------------------------------|
| 10    | Success  | Send a SEPA Instant Credit Transfer Initiation request | Send a correctly formatted message. Use `"SEPA Instant single payment"` data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS In response the API returns an access token, payment identification and payment status |

**Sample Request**

```json
{
  "requestInfo": {
    "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
    "authorization": "code=PLsepaVsbG8gQ2TP9kZWJleft53serYXV0aPL001&state=4510535f-2adf-47b6-8b30-51a6290c2dc0",
    "aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
    "isLivePsuRequest": true,
    "psuIPAddress": "192.168.0.1",
    "psuAgent": "PostmanRuntime/7.20.1",
    "merchant": {
      "id": "MerchantId",
      "name": "MerchantName"
    }
  }
}
```

| **#** | **Type** |                                    **Summary**                                     |                            **Request Details**                            | **HTTP Status** |                           **Response Details**                           |
|-------|----------|------------------------------------------------------------------------------------|---------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------|
| 11    | Success  | Credit Transfer initiation request with response containing refund account details | Use the specified `"xRequestId": "123e4567-e89b-12d3-a456-426655440000"`. | 200             | SUCCESS In response refund account and refund account name are returned. |

**Sample Request**

```json
{
    "requestInfo": {
        "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
        "authorization": "code=rraMPGSdpVsbG8gQ2TP7kZWJrightXV0aMPGS001&state=c57e2535-890a-461e-9594-76b9141b41fb",
        "aspspId": "c75c0b6d-2b03-4292-b4bd-48fca5b3a259"
    }
}
```

### Endpoint details {#endpoint-details}

|            **Endpoints/Resources**             | **Method** |                                                        **API Profiles**                                                        |               **Description**               |
|------------------------------------------------|------------|--------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------|
| /payments/sepa-credit-transfers/payment-status | `POST`     | Polish API, NextGenPSD2, STET, Budapest Bank, Czech Open Banking Standard API Profile, Slovak Banking API Standard API Profile | Used to submit a Get Payment Status request |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a Get Payment Status request. This was created from the available data sets.

| **#** | **Type** |           **Summary**           |                                                                                                                                                                                  **Request Details**                                                                                                                                                                                   | **HTTP Status** |                  **Response Details**                   |
|-------|----------|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------|
| 1     | Success  | Send Get Payment Status request | Send a correctly formatted message. Use "SEPA single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS The API returns the Payment status as response. |

**Sample Request**

```json
{
"paymentId": "wAa:665hs5:r5544dhhKM",
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"consentId": "SEPABJbqtZ8sPNznYtfV:5",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                  **Summary**                   |                                                    **Request Details**                                                    | **HTTP Status** |                        **Response Details**                         |
|-------|----------|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------------------|
| 2     | Special  | Method not supported by Provider's API profile | Use an "aspspId" with un-supported profile (ex. CMA9) from the list available in the predefined data sets for OBC Sandbox | 400             | NOT_FOUND Please see error handling documentation for more details. |

**Sample Request**

```json
{
"paymentId": "838aFR415:22Aa:6asdC",
"requestInfo": {
	"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
	"consentId": "SEPA8sPNznYtfV:5zKxyC",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |        **Summary**        |                                                                                                            **Request Details**                                                                                                             | **HTTP Status** |                          **Response Details**                          |
|-------|----------|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 3     | Failure  | Schema validation failure | Send an incorrectly formatted message. For example, a message that does not comply with the expected schema for the endpoint. In sample request the consentId parameter value are missing and a schema validation failure error is thrown. | 400             | FORMAT_ERROR Please see error handling documentation for more details. |

**Sample Request**

```json
{
"paymentId": "wAa:665hs5:r5544dhhKM",
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"consentId": "",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                             |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------|
| 4     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details. |

**Sample Request**

```json
{
"paymentId": "wAa:665hs5:r5544dhhKM",
"requestInfo": {
	"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
	"consentId": "SEPABJbqtZ8sPNznYtfV:5",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
}
}
```

| **#** | **Type** |              **Summary**               |                                                                       **Request Details**                                                                        | **HTTP Status** |                           **Response Details**                           |
|-------|----------|----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------------|
| 5     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. For example, wrong value of "paymentId" or `"consentId"` parameters for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details. |

**Sample Request**

```json
{
"paymentId": "wAa:665hs5:r5544dhhKM",
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"consentId": "AABBCC112233",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                   **Summary**                    |                    **Request Details**                     | **HTTP Status** |                         **Response Details**                          |
|-------|----------|--------------------------------------------------|------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 6     | Failure  | TPP not allowed to perform request to this ASPSP | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"` | 400             | NOT_ALLOWED Please see error handling documentation for more details. |

**Sample Request**

```json
{
"paymentId": "wAa:665hs5:r5544dhhKM",
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"consentId": "SEPABJbqtZ8sPNznYtfV:5",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                           **Response Details**                           |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|--------------------------------------------------------------------------|
| 7     | Failure  | Internal Server Error | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"` | 500             | INTERNAL_ERROR Please see error handling documentation for more details. |

**Sample Request**

```json
{
"paymentId": "wAa:665hs5:r5544dhhKM",
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"consentId": "SEPABJbqtZ8sPNznYtfV:5",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
	}
}
```

| **#** | **Type** |      **Summary**      |                    **Request Details**                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-----------------------|------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 8     | Failure  | TPP is not recognized | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"` | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details. |

**Sample Request**

```json
{
"paymentId": "wAa:665hs5:r5544dhhKM",
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"consentId": "SEPABJbqtZ8sPNznYtfV:5",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
	}
}
```

| **#** | **Type** | **Summary** |                    **Request Details**                     | **HTTP Status** |                       **Response Details**                        |
|-------|----------|-------------|------------------------------------------------------------|-----------------|-------------------------------------------------------------------|
| 9     | Failure  | Timeout     | Use `"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"` | 500             | TIMEOUT Please see error handling documentation for more details. |

**Sample Request**

```json
{
"paymentId": "wAa:665hs5:r5544dhhKM",
"requestInfo": {
	"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
	"consentId": "SEPABJbqtZ8sPNznYtfV:5",
	"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
	}
}
```

| **#** | **Type** |       **Summary**        |                    **Request Details**                     | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 10    | Failure  | Consent has been revoked | Use `"xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"` | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "paymentId": "wAa:665hs5:r5544dhhKM",
    "requestInfo": {
        "aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
        "consentId": "SEPABJbqtZ8sPNznYtfV:5",
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"
    }
}
```

| **#** | **Type** |                    **Summary**                     |                                                                                                                                                                                      **Request Details**                                                                                                                                                                                       | **HTTP Status** |                  **Response Details**                   |
|-------|----------|----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|---------------------------------------------------------|
| 11    | Sucess   | Send a Get Payment Status request for SEPA Instant | Send a correctly formatted message. Use "SEPA Instant single payment" data sets for the respective ASPSP. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS The API returns the Payment status as response. |

**Sample Request**

```json
{
"paymentId": "Pti:068fn7:H03Le7zqFf",
"requestInfo": {
	"aspspId": "addad4bc-9e07-417c-a2a8-68c6da1613c6",
	"consentId": "BEqeBJbqtX7sPNznYtBE84",
	"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
	}
}
```

| **#** | **Type** |                             **Summary**                             |                     **Request Details**                     | **HTTP Status** |                           **Response Details**                           |
|-------|----------|---------------------------------------------------------------------|-------------------------------------------------------------|-----------------|--------------------------------------------------------------------------|
| 12    | Sucess   | Get Payment request with response containing refund account details | Use `"xRequestId": "123e4567-e89b-12d3-a456-426655440000"`. | 200             | SUCCESS In response refund account and refund account name are returned. |

**Sample Request**

```json
{
    "requestInfo": {
        "xRequestId": "123e4567-e89b-12d3-a456-426655440000",
        "consentId": "rraMPGSqeBJbqtX7sPNzRG01",
        "aspspId": "c75c0b6d-2b03-4292-b4bd-48fca5b3a259"
    },
    "paymentId": "MPGScTY1djK0m65LeJ01"
}
```

### Endpoint details {#endpoint-details}

| **Endpoints/Resources** | **Method** | **API Profiles** |                **Description**                |
|-------------------------|------------|------------------|-----------------------------------------------|
| /payments/consents/raw  | `POST`     | CMA9             | Reads original raw consent given by the ASPSP |

### Scenarios {#scenarios}

The following scenarios available on Sandbox are used to submit a Get Raw Consent request. This was created from the available data sets.

| **#** | **Type** |         **Summary**          |                                                                                                                                                   **Request Details**                                                                                                                                                    | **HTTP Status** |                                         **Response Details**                                          |
|-------|----------|------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------------------------------------|
| 1     | Success  | Send Get Raw Consent request | Send a correctly formatted message. Field values specified for each data set are defining the response selection, so are mandatory to use. Any other field can use any other values, with the condition that the message remains correctly formatted. All mandatory fields should be provided with corresponding values. | 200             | SUCCESS OBC will return the raw consent. Please see the file attached with the raw consent. text file |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
"consentId": "UKrw2eFNYtf332nYtx4ydpUK",
"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
}
}
```

| **#** | **Type** |                  **Summary**                   |                                                      **Request Details**                                                       | **HTTP Status** |                        **Response Details**                        |
|-------|----------|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|-----------------|--------------------------------------------------------------------|
| 2     | Failure  | Method not supported by Provider's API profile | Use an "aspspId" with un-supported profile (ex. PolishAPI) from the list available in the predefined data sets for OBC Sandbox | 400             | NOT_FOUND Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "b806ae68-a45b-49d6-b25a-69fdb81dede6",
"consentId": "PL8aFR415:22Aa:6asdC",
"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
}
}
```

| **#** | **Type** |        **Summary**        |                                                 **Request Details**                                                  | **HTTP Status** |                         **Response Details**                          |
|-------|----------|---------------------------|----------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------|
| 3     | Failure  | Schema validation failure | Send an incorrectly formatted message. E.g. a message that does not comply with the expected schema for the endpoint | 400             | FORMAT_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
"consentId": "",
"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
}
}
```

| **#** | **Type** |       **Summary**       |                                    **Request Details**                                     | **HTTP Status** |                            **Response Details**                            |
|-------|----------|-------------------------|--------------------------------------------------------------------------------------------|-----------------|----------------------------------------------------------------------------|
| 4     | Failure  | ASPSP is not recognized | Use an "aspspId" outside of the list available in the predefined data sets for OBC Sandbox | 400             | INACTIVE_PROVIDER Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "12345cff-0e2a-4156-991a-aaaaaaaaaaaa",
"consentId": "UKrw2eFNYtf332nYtx4ydpUK",
"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
}
}
```

| **#** | **Type** |              **Summary**               |                                                           **Request Details**                                                           | **HTTP Status** |                          **Response Details**                           |
|-------|----------|----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 5     | Failure  | Error returned from downstream systems | Use as input criteria data that is not defined in the data sets. E.g. wrong combination of "consentId" code for the specified "aspspId" | 400             | PROVIDER_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
"consentId": "HHWW1122334455",
"xRequestId": "123e4567-e89b-12d3-a456-426655440000"
}
}
```

| **#** | **Type** |                   **Summary**                    |                   **Request Details**                    | **HTTP Status** |                         **Response Details**                         |
|-------|----------|--------------------------------------------------|----------------------------------------------------------|-----------------|----------------------------------------------------------------------|
| 6     | Failure  | TPP not allowed to perform request to this ASPSP | Use "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a" | 400             | NOT_ALLOWED Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
"consentId": "UKrw2eFNYtf332nYtx4ydpUK",
"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c6a"
}
}
```

| **#** | **Type** |      **Summary**      |                   **Request Details**                    | **HTTP Status** |                          **Response Details**                           |
|-------|----------|-----------------------|----------------------------------------------------------|-----------------|-------------------------------------------------------------------------|
| 7     | Failure  | Internal Server Error | Use "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a" | 500             | INTERNAL_ERROR Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
"consentId": "UKrw2eFNYtf332nYtx4ydpUK",
"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c7a"
}
}
```

| **#** | **Type** |      **Summary**      |                   **Request Details**                    | **HTTP Status** |                           **Response Details**                            |
|-------|----------|-----------------------|----------------------------------------------------------|-----------------|---------------------------------------------------------------------------|
| 8     | Failure  | TPP is not recognized | Use "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a" | 400             | INACTIVE_ACCOUNT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
"consentId": "UKrw2eFNYtf332nYtx4ydpUK",
"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c8a"
}
}
```

| **#** | **Type** |       **Summary**        |                   **Request Details**                    | **HTTP Status** |                          **Response Details**                          |
|-------|----------|--------------------------|----------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| 9     | Failure  | Consent has been revoked | Use "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d" | 400             | INVALID_TOKEN Please see error handling documentation for more details |

**Sample Request**

```json
{
    "requestInfo": {
        "aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
        "consentId": "UKrw2eFNYtf332nYtx4ydpUK",
        "xRequestId": "724a3fab-8046-469d-b4c6-af2142fb154d"
    }
}
```

| **#** | **Type** | **Summary** |                   **Request Details**                    | **HTTP Status** |                       **Response Details**                       |
|-------|----------|-------------|----------------------------------------------------------|-----------------|------------------------------------------------------------------|
| 10    | Failure  | Timeout     | Use "xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a" | 504             | TIMEOUT Please see error handling documentation for more details |

**Sample Request**

```json
{
"requestInfo": {
"aspspId": "420e5cff-0e2a-4156-991a-f6eeef0478cf",
"consentId": "UKrw2eFNYtf332nYtx4ydpUK",
"xRequestId": "fee919e5-e2e7-4d7b-9926-db70ce549c9a"
}
}
```

## Reserved values {#reserved-values}

The following values for the xRequestId field are reserved to replicate some of the scenarios. They should be excluded in requests unless you are trying to replicate the respective scenarios.

| **#** |            **xRequestId**            | **HTTP status** | **Reason code**  |
|-------|--------------------------------------|-----------------|------------------|
| 1     | 123e4567-e89b-12d3-a456-426655440000 | 200             | SUCCESS          |
| 2     | fee919e5-e2e7-4d7b-9926-db70ce549c9a | 500             | TIMEOUT          |
| 3     | fee919e5-e2e7-4d7b-9926-db70ce549c8a | 400             | INACTIVE_ACCOUNT |
| 4     | fee919e5-e2e7-4d7b-9926-db70ce549c7a | 500             | INTERNAL_ERROR   |
| 5     | fee919e5-e2e7-4d7b-9926-db70ce549c6a | 400             | NOT_ALLOWED      |
| 6     | fee919e5-e2e7-4d7b-9926-db70ce549c5a | 400             | INACTIVE_URL     |

