{"files":{"SKILL.md":"---\nname: confirmation-of-funds-api-specification\ndescription: \"Confirmation of Funds API Specification API skill. Use when working with Confirmation of Funds API Specification for funds-confirmation-consents, funds-confirmations. Covers 4 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Confirmation of Funds API Specification\nAPI version: 4.0.0\n\n## Auth\nOAuth2 | OAuth2\n\n## Base URL\n/open-banking/v4.0/cbpii\n\n## Setup\n1. Configure auth: OAuth2 | OAuth2\n2. GET /funds-confirmation-consents/{ConsentId} -- verify access\n3. POST /funds-confirmation-consents -- create first funds-confirmation-consents\n\n## Endpoints\n\n4 endpoints across 2 groups. See references/api-spec.lap for full details.\n\n### funds-confirmation-consents\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /funds-confirmation-consents | Create Funds Confirmation Consent |\n| GET | /funds-confirmation-consents/{ConsentId} | Get Funds Confirmation Consent |\n| DELETE | /funds-confirmation-consents/{ConsentId} | Delete Funds Confirmation Consent |\n\n### funds-confirmations\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /funds-confirmations | Create Funds Confirmation |\n\n## Common Questions\n\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a funds-confirmation-consent?\" -> POST /funds-confirmation-consents\n- \"Get funds-confirmation-consent details?\" -> GET /funds-confirmation-consents/{ConsentId}\n- \"Delete a funds-confirmation-consent?\" -> DELETE /funds-confirmation-consents/{ConsentId}\n- \"Create a funds-confirmation?\" -> POST /funds-confirmations\n- \"How to authenticate?\" -> See Auth section\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints typically return the created/updated object\n\n## CLI\n\n```bash\n# Update this spec to the latest version\nnpx @lap-platform/lapsh get confirmation-of-funds-api-specification -o references/api-spec.lap\n\n# Search for related APIs\nnpx @lap-platform/lapsh search confirmation-of-funds-api-specification\n```\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Confirmation of Funds API Specification\n@base /open-banking/v4.0/cbpii\n@version 4.0.0\n@auth OAuth2 | OAuth2\n@endpoints 4\n@toc funds-confirmation-consents(3), funds-confirmations(1)\n\n@group funds-confirmation-consents\n@endpoint POST /funds-confirmation-consents\n@desc Create Funds Confirmation Consent\n@required {Authorization: str # An Authorisation Token as per https://tools.ietf.org/html/rfc6750, Data: map{ExpirationDateTime: str(date-time), DebtorAccount!: map{SchemeName!: str, Identification!: str, Name: str, SecondaryIdentification: str, Proxy: map}}}\n@optional {x-fapi-auth-date: str # The time when the PSU last logged in with the TPP.  All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:  Sun, 10 Sep 2017 19:43:31 UTC, x-fapi-customer-ip-address: str # The PSU's IP address if the PSU is currently logged in with the TPP., x-fapi-interaction-id: str # An RFC4122 UID used as a correlation id., x-customer-user-agent: str # Indicates the user-agent that the PSU is using.}\n@returns(201) {Data: map{ConsentId: str, CreationDateTime: str(date-time), Status: str, StatusReason: [map], StatusUpdateDateTime: str(date-time), ExpirationDateTime: str(date-time), DebtorAccount: map{SchemeName: str, Identification: str, Name: str, SecondaryIdentification: str, Proxy: map{Identification: str, Code: str, Type: str}}}, Links: map{Self: str(uri), First: str(uri), Prev: str(uri), Next: str(uri), Last: str(uri)}, Meta: map{TotalPages: int(int32), FirstAvailableDateTime: str(date-time), LastAvailableDateTime: str(date-time)}} # Funds Confirmation Consent Created\n@errors {400: Bad request, 401: Unauthorized, 403: Forbidden, 405: Method Not Allowed, 406: Not Acceptable, 415: Unsupported Media Type, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint GET /funds-confirmation-consents/{ConsentId}\n@desc Get Funds Confirmation Consent\n@required {ConsentId: str # ConsentId, Authorization: str # An Authorisation Token as per https://tools.ietf.org/html/rfc6750}\n@optional {x-fapi-auth-date: str # The time when the PSU last logged in with the TPP.  All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:  Sun, 10 Sep 2017 19:43:31 UTC, x-fapi-customer-ip-address: str # The PSU's IP address if the PSU is currently logged in with the TPP., x-fapi-interaction-id: str # An RFC4122 UID used as a correlation id., x-customer-user-agent: str # Indicates the user-agent that the PSU is using.}\n@returns(200) {Data: map{ConsentId: str, CreationDateTime: str(date-time), Status: str, StatusReason: [map], StatusUpdateDateTime: str(date-time), ExpirationDateTime: str(date-time), DebtorAccount: map{SchemeName: str, Identification: str, Name: str, SecondaryIdentification: str, Proxy: map{Identification: str, Code: str, Type: str}}}, Links: map{Self: str(uri), First: str(uri), Prev: str(uri), Next: str(uri), Last: str(uri)}, Meta: map{TotalPages: int(int32), FirstAvailableDateTime: str(date-time), LastAvailableDateTime: str(date-time)}} # Funds Confirmation Consent Read\n@errors {400: Bad request, 401: Unauthorized, 403: Forbidden, 405: Method Not Allowed, 406: Not Acceptable, 429: Too Many Requests, 500: Internal Server Error}\n\n@endpoint DELETE /funds-confirmation-consents/{ConsentId}\n@desc Delete Funds Confirmation Consent\n@required {ConsentId: str # ConsentId, Authorization: str # An Authorisation Token as per https://tools.ietf.org/html/rfc6750}\n@optional {x-fapi-auth-date: str # The time when the PSU last logged in with the TPP.  All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:  Sun, 10 Sep 2017 19:43:31 UTC, x-fapi-customer-ip-address: str # The PSU's IP address if the PSU is currently logged in with the TPP., x-fapi-interaction-id: str # An RFC4122 UID used as a correlation id., x-customer-user-agent: str # Indicates the user-agent that the PSU is using.}\n@returns(204) Funds Confirmation Consent Deleted\n@errors {400: Bad request, 401: Unauthorized, 403: Forbidden, 405: Method Not Allowed, 406: Not Acceptable, 429: Too Many Requests, 500: Internal Server Error}\n\n@endgroup\n\n@group funds-confirmations\n@endpoint POST /funds-confirmations\n@desc Create Funds Confirmation\n@required {Authorization: str # An Authorisation Token as per https://tools.ietf.org/html/rfc6750, Data: map{ConsentId!: str, Reference!: str, InstructedAmount!: map{Amount!: str, Currency!: str}}}\n@optional {x-fapi-auth-date: str # The time when the PSU last logged in with the TPP.  All dates in the HTTP headers are represented as RFC 7231 Full Dates. An example is below:  Sun, 10 Sep 2017 19:43:31 UTC, x-fapi-customer-ip-address: str # The PSU's IP address if the PSU is currently logged in with the TPP., x-fapi-interaction-id: str # An RFC4122 UID used as a correlation id., x-customer-user-agent: str # Indicates the user-agent that the PSU is using.}\n@returns(201) {Data: map{FundsConfirmationId: str, ConsentId: str, CreationDateTime: str(date-time), FundsAvailable: bool, Reference: str, InstructedAmount: map{Amount: str, Currency: str}}, Links: map{Self: str(uri), First: str(uri), Prev: str(uri), Next: str(uri), Last: str(uri)}, Meta: map{TotalPages: int(int32), FirstAvailableDateTime: str(date-time), LastAvailableDateTime: str(date-time)}} # Funds Confirmation Created\n@errors {400: Bad request, 401: Unauthorized, 403: Forbidden, 405: Method Not Allowed, 406: Not Acceptable, 415: Unsupported Media Type, 429: Too Many Requests, 500: Internal Server Error}\n\n@endgroup\n\n@end\n"}}