> For the complete documentation index, see [llms.txt](https://apidocs.arionbanki.is/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apidocs.arionbanki.is/psd2/api-reference/api-specification/confirmation-of-funds-service-api.md).

# Confirmation Of Funds Service Api

Confirmation of Funds Service (PIIS) — check the availability of funds on an account.

## Confirmation of funds request

> Creates a confirmation of funds request at the ASPSP. Checks whether a specific amount is\
> available at the point in time of the request on an account linked to a given tuple card\
> issuer (TPP)/card number, or addressed by IBAN and TPP respectively.\
> &#x20;           \
> If the related extended services are used, a conditional Consent-ID is contained in the\
> header. This field is contained but commented out in this specification.

```json
{"openapi":"3.0.4","info":{"title":"IOBWS 3.0 Payments and accounts","version":"v1"},"tags":[{"name":"ConfirmationOfFundsServiceApi","description":"Confirmation of Funds Service (PIIS) — check the availability of funds on an account."}],"servers":[{"url":"https://apigwsandbox.arionbanki.is/psd2","description":"PSD2 API Host - Sandbox"},{"url":"https://apigw.arionbanki.is/psd2","description":"PSD2 API Host - Production"}],"security":[{"Bearer":["ais:"],"SubscriptionKey":[]}],"components":{"securitySchemes":{"Bearer":{"type":"oauth2","description":"Send your Curity-issued opaque bearer token in the `Authorization: Bearer <token>` header. Required on every request.","flows":{"clientCredentials":{"tokenUrl":"https://curity.arionbanki.is/oauth/v2/oauth-token","scopes":{"ais:":"Account Information Service (AIS) access","pis:":"Payment Initiation Service (PIS) access"}}}}},"schemas":{"ConfirmationOfFunds":{"required":["account","instructedAmount"],"type":"object","properties":{"cardNumber":{"maxLength":35,"type":"string","description":"Card Number of the card issued by the PIISP.  Should be delivered if available.","nullable":true},"account":{"$ref":"#/components/schemas/AccountReference"},"payee":{"maxLength":70,"type":"string","description":"Name payee.","nullable":true},"instructedAmount":{"$ref":"#/components/schemas/Amount"}},"additionalProperties":false,"description":"JSON Request body for the \\\"Confirmation of funds service\\\".  <table>  <tr>    <td>cardNumber</td>    <td>String </td>   <td>Optional</td>   <td>Card Number of the card issued by the PIISP. Should be delivered if available.</td> </tr>  <tr>   <td>account</td>   <td> Account Reference</td>   <td>Mandatory</td>   <td>PSU's account number.</td> </tr>  <tr>    <td>payee</td>   <td>Max70Text</td>   <td>Optional</td>   <td>The merchant where the card is accepted as an information to the PSU.</td> </tr>  <tr>   <td>instructedAmount</td>   <td>Amount</td>   <td>Mandatory</td>   <td>Transaction amount to be checked within the funds check mechanism.</td> </tr>  </table>"},"AccountReference":{"type":"object","properties":{"iban":{"pattern":"[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}","type":"string","description":"IBAN of an account.","nullable":true},"bban":{"pattern":"[a-zA-Z0-9]{1,30}","type":"string","description":"Basic Bank Account Number (BBAN) Identifier. This data element can be used in the\nbody of the consent request. Message for retrieving account access consent from\nthis account. This data elements is used for payment accounts which have no IBAN.\nISO20022: Basic Bank Account Number (BBAN). Identifier used nationally by financial\ninstitutions, i.e., in individual countries, generally as part of a National Account\nNumbering Scheme(s), which uniquely identifies the account of a customer.","nullable":true},"maskedPan":{"maxLength":35,"type":"string","description":"Masked Primary Account Number in the format 123456******1234. The first 6 and\nlast 4 digits of the card number are visible, with the middle digits masked\nusing asterisks (*).","nullable":true},"msisdn":{"maxLength":35,"type":"string","description":"Mobile phone number.","nullable":true},"currency":{"pattern":"[A-Z]{3}","type":"string","description":"ISO 4217 Alpha 3 currency code.","nullable":true},"cashAccountType":{"type":"string","description":"ExternalCashAccountType1Code from ISO 20022.","nullable":true}},"additionalProperties":false,"description":"Reference to an account by either:\n            \n* IBAN, of a payment accounts, or\n* BBAN, for payment accounts if there is no IBAN, or\n* the Masked Primary Account Number (maskedPan) of a card in the format 123456******1234, or\n* an alias to access a payment account via a registered mobile phone number (MSISDN)."},"Amount":{"required":["amount","currency"],"type":"object","properties":{"currency":{"minLength":1,"pattern":"[A-Z]{3}","type":"string","description":"ISO 4217 Alpha 3 currency code."},"amount":{"minLength":1,"pattern":"-?[0-9]{1,14}(\\.[0-9]{1,3})?","type":"string","description":"The amount given with fractional digits, where fractions must be compliant to the\ncurrency definition. Up to 14 significant figures. Negative amounts are signed by\nminus. The decimal separator is a dot.\n            \n**Example:** Valid representations for EUR with up to two decimals are:\n            \n* 1056\n* 5768.2\n* -1.50\n* 5877.78"}},"additionalProperties":false,"description":""},"InlineResponse2008":{"required":["fundsAvailable"],"type":"object","properties":{"fundsAvailable":{"type":"boolean"}},"additionalProperties":false,"description":"Equals \\\"true\\\" if sufficient funds are available at the time of the request,  \\\"false\\\" otherwise."},"Error400NGAIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage400AIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 400."},"TppMessage400AIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode400AIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"TppMessageCategory":{"enum":["ERROR","WARNING"],"type":"string","description":"Category of the TPP message category."},"MessageCode400AIS":{"enum":["FORMAT_ERROR","PARAMETER_NOT_CONSISTENT","PARAMETER_NOT_SUPPORTED","SERVICE_INVALID","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","RESOURCE_BLOCKED","TIMESTAMP_INVALID","PERIOD_INVALID","SCA_METHOD_UNKNOWN","SCA_INVALID","CONSENT_UNKNOWN","SESSIONS_NOT_SUPPORTED"],"type":"string","description":"Message codes defined for AIS for HTTP Error code 400 (BAD_REQUEST)."},"HrefType":{"type":"object","properties":{"href":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Link to a resource."},"Error401NGPIIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage401PIIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage401PIIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode401PIIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode401PIIS":{"enum":["CERTIFICATE_INVALID","ROLE_INVALID","CERTIFICATE_EXPIRED","CERTIFICATE_BLOCKED","CERTIFICATE_REVOKE","CERTIFICATE_MISSING","SIGNATURE_INVALID","SIGNATURE_MISSING","CORPORATE_ID_INVALID","PSU_CREDENTIALS_INVALID","CONSENT_INVALID","CONSENT_EXPIRED","TOKEN_UNKNOWN","TOKEN_INVALID","TOKEN_EXPIRED"],"type":"string","description":"Message codes defined for PIIS for HTTP Error code 401 (UNAUTHORIZED)."},"Error403NGPIIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage403PIIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 403."},"TppMessage403PIIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode403PIIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode403PIIS":{"enum":["CONSENT_UNKNOWN","SERVICE_BLOCKED","RESOURCE_UNKNOWN","RESOURCE_EXPIRED","ACCOUNT_INVALID_FOR_CONSENT"],"type":"string","description":"Message codes defined for PIIS for HTTP Error code 403 (FORBIDDEN)."},"Error404NGPIIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage404PIIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 404."},"TppMessage404PIIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode404PIIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode404PIIS":{"enum":["RESOURCE_UNKNOWN"],"type":"string","description":"Message codes defined for PIIS for HTTP Error code 404 (NOT FOUND)."},"Error405NGPIIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage405PIIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 401."},"TppMessage405PIIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode405PIIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode405PIIS":{"enum":["SERVICE_INVALID"],"type":"string","description":"Message codes defined for PIIS for HTTP Error code 405 (METHOD NOT ALLOWED)."},"Error409NGPIIS":{"type":"object","properties":{"tppMessages":{"type":"array","items":{"$ref":"#/components/schemas/TppMessage409PIIS"},"nullable":true},"_links":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/HrefType"},"description":"A _link object with all available link types.","nullable":true}},"additionalProperties":false,"description":"NextGenPSD2 specific definition of reporting error information in case of a HTTP error code 409."},"TppMessage409PIIS":{"required":["category","code"],"type":"object","properties":{"category":{"$ref":"#/components/schemas/TppMessageCategory"},"code":{"$ref":"#/components/schemas/MessageCode409PIIS"},"path":{"type":"string","nullable":true},"text":{"maxLength":500,"type":"string","nullable":true}},"additionalProperties":false,"description":""},"MessageCode409PIIS":{"enum":["STATUS_INVALID"],"type":"string","description":"Message codes defined for PIIS for HTTP Error code 409 (CONFLICT)."}}},"paths":{"/api/v1/funds-confirmations":{"post":{"tags":["ConfirmationOfFundsServiceApi"],"summary":"Confirmation of funds request","description":"Creates a confirmation of funds request at the ASPSP. Checks whether a specific amount is\navailable at the point in time of the request on an account linked to a given tuple card\nissuer (TPP)/card number, or addressed by IBAN and TPP respectively.\n            \nIf the related extended services are used, a conditional Consent-ID is contained in the\nheader. This field is contained but commented out in this specification.","operationId":"CheckAvailabilityOfFunds","parameters":[{"name":"X-Request-ID","in":"header","description":"Shall be provided if the consent of the PSU has been provided through the consent process as defined in [XS2A-COFC].","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Consent-ID","in":"header","description":"ID of the corresponding consent object as returned by an account information consent request.","required":true,"schema":{"type":"string"}},{"name":"Digest","in":"header","description":"Is contained if and only if the \\\"Signature\\\" element is contained in the header of the request.","schema":{"type":"string"}},{"name":"Signature","in":"header","description":"A signature of the request by the TPP on application level. This might be mandated by ASPSP.","schema":{"type":"string"}},{"name":"TPP-Signature-Certificate","in":"header","description":"The certificate used for signing the request, in base64 encoding.  Must be contained if a signature is contained.","schema":{"type":"string"}}],"requestBody":{"description":"Request body for a confirmation of funds request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmationOfFunds"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InlineResponse2008"}},"application/xml":{"schema":{"$ref":"#/components/schemas/InlineResponse2008"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error400NGAIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error400NGAIS"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error401NGPIIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error401NGPIIS"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error403NGPIIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error403NGPIIS"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error404NGPIIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error404NGPIIS"}}}},"405":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error405NGPIIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error405NGPIIS"}}}},"406":{"description":"Not Acceptable"},"408":{"description":"Request Timeout"},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error409NGPIIS"}},"application/xml":{"schema":{"$ref":"#/components/schemas/Error409NGPIIS"}}}},"415":{"description":"Unsupported Media Type"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"},"503":{"description":"Service Unavailable"}}}}}}
```
