{"files":{"SKILL.md":"---\nname: banking-api\ndescription: \"Banking API skill. Use when working with Banking for companies. Covers 8 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Banking API\nAPI version: 3.0.0\n\n## Auth\nApiKey Authorization in header\n\n## Base URL\nhttps://api.codat.io\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /companies/{companyId}/connections/{connectionId}/data/banking-accountBalances -- list account balances\n3. Explore available endpoints below\n\n## Endpoints\n8 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Companies\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /companies/{companyId}/connections/{connectionId}/data/banking-accountBalances | List account balances |\n| GET | /companies/{companyId}/connections/{connectionId}/data/banking-accounts | List accounts |\n| GET | /companies/{companyId}/connections/{connectionId}/data/banking-accounts/{accountId} | Get account |\n| GET | /companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories | List transaction categories |\n| GET | /companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories/{transactionCategoryId} | Get transaction category |\n| GET | /companies/{companyId}/connections/{connectionId}/data/banking-transactions | List transactions |\n| GET | /companies/{companyId}/data/banking-transactions | List banking transactions |\n| GET | /companies/{companyId}/connections/{connectionId}/data/banking-transactions/{transactionId} | Get bank transaction |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Search banking-accountBalances?\" -> GET /companies/{companyId}/connections/{connectionId}/data/banking-accountBalances\n- \"Search banking-accounts?\" -> GET /companies/{companyId}/connections/{connectionId}/data/banking-accounts\n- \"Get banking-account details?\" -> GET /companies/{companyId}/connections/{connectionId}/data/banking-accounts/{accountId}\n- \"Search banking-transactionCategories?\" -> GET /companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories\n- \"Get banking-transactionCategory details?\" -> GET /companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories/{transactionCategoryId}\n- \"Search banking-transactions?\" -> GET /companies/{companyId}/connections/{connectionId}/data/banking-transactions\n- \"Get banking-transaction details?\" -> GET /companies/{companyId}/connections/{connectionId}/data/banking-transactions/{transactionId}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Error responses include status codes and descriptions in the spec\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 Banking API\n@base https://api.codat.io\n@version 3.0.0\n@auth ApiKey Authorization in header\n@endpoints 8\n@toc companies(8)\n\n@endpoint GET /companies/{companyId}/connections/{connectionId}/data/banking-accountBalances\n@desc List account balances\n@required {companyId: str(uuid) # Unique identifier for a company., connectionId: str(uuid) # Unique identifier for a connection.}\n@optional {page: int(int32)=1 # Page number. [Read more](https://docs.codat.io/using-the-api/paging)., pageSize: int(int32)=100 # Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)., query: str # Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)., orderBy: str # Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).}\n@returns(200) Success\n@errors {400: Your `query` parameter was not correctly formed, 401: Your API request was not properly authorized., 402: An account limit has been exceeded. The type of limit is described in the error property:  - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io., 403: You are using an outdated API key or a key not associated with that resource., 404: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted., 409: The data type's dataset has not been requested or is still syncing., 429: Too many requests were made in a given amount of time. Wait a short period and then try again., 500: There is a problem with our server. Please try again later., 503: The Codat API is temporarily offline for maintenance. Please try again later.}\n\n@endpoint GET /companies/{companyId}/connections/{connectionId}/data/banking-accounts\n@desc List accounts\n@required {companyId: str(uuid) # Unique identifier for a company., connectionId: str(uuid) # Unique identifier for a connection.}\n@optional {page: int(int32)=1 # Page number. [Read more](https://docs.codat.io/using-the-api/paging)., pageSize: int(int32)=100 # Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)., query: str # Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)., orderBy: str # Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).}\n@returns(200) Success\n@errors {400: Your `query` parameter was not correctly formed, 401: Your API request was not properly authorized., 402: An account limit has been exceeded. The type of limit is described in the error property:  - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io., 403: You are using an outdated API key or a key not associated with that resource., 404: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted., 409: The data type's dataset has not been requested or is still syncing., 429: Too many requests were made in a given amount of time. Wait a short period and then try again., 500: There is a problem with our server. Please try again later., 503: The Codat API is temporarily offline for maintenance. Please try again later.}\n\n@endpoint GET /companies/{companyId}/connections/{connectionId}/data/banking-accounts/{accountId}\n@desc Get account\n@required {companyId: str(uuid) # Unique identifier for a company., connectionId: str(uuid) # Unique identifier for a connection., accountId: str # Unique identifier for an account.}\n@returns(200) Success\n@errors {401: Your API request was not properly authorized., 402: An account limit has been exceeded. The type of limit is described in the error property:  - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io., 403: You are using an outdated API key or a key not associated with that resource., 404: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted., 409: The data type's dataset has not been requested or is still syncing., 429: Too many requests were made in a given amount of time. Wait a short period and then try again., 500: There is a problem with our server. Please try again later., 503: The Codat API is temporarily offline for maintenance. Please try again later.}\n\n@endpoint GET /companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories\n@desc List transaction categories\n@optional {page: int(int32)=1 # Page number. [Read more](https://docs.codat.io/using-the-api/paging)., pageSize: int(int32)=100 # Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)., query: str # Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)., orderBy: str # Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).}\n@returns(200) Success\n@errors {400: Your `query` parameter was not correctly formed, 401: Your API request was not properly authorized., 402: An account limit has been exceeded. The type of limit is described in the error property:  - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io., 403: You are using an outdated API key or a key not associated with that resource., 404: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted., 409: The data type's dataset has not been requested or is still syncing., 429: Too many requests were made in a given amount of time. Wait a short period and then try again., 500: There is a problem with our server. Please try again later., 503: The Codat API is temporarily offline for maintenance. Please try again later.}\n\n@endpoint GET /companies/{companyId}/connections/{connectionId}/data/banking-transactionCategories/{transactionCategoryId}\n@desc Get transaction category\n@returns(200) Success\n@errors {401: Your API request was not properly authorized., 402: An account limit has been exceeded. The type of limit is described in the error property:  - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io., 403: You are using an outdated API key or a key not associated with that resource., 404: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted., 409: The data type's dataset has not been requested or is still syncing., 429: Too many requests were made in a given amount of time. Wait a short period and then try again., 500: There is a problem with our server. Please try again later., 503: The Codat API is temporarily offline for maintenance. Please try again later.}\n\n@endpoint GET /companies/{companyId}/connections/{connectionId}/data/banking-transactions\n@desc List transactions\n@optional {page: int(int32)=1 # Page number. [Read more](https://docs.codat.io/using-the-api/paging)., pageSize: int(int32)=100 # Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)., query: str # Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)., orderBy: str # Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).}\n@returns(200) Success\n@errors {400: Your `query` parameter was not correctly formed, 401: Your API request was not properly authorized., 402: An account limit has been exceeded. The type of limit is described in the error property:  - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io., 403: You are using an outdated API key or a key not associated with that resource., 404: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted., 409: The data type's dataset has not been requested or is still syncing., 429: Too many requests were made in a given amount of time. Wait a short period and then try again., 500: There is a problem with our server. Please try again later., 503: The Codat API is temporarily offline for maintenance. Please try again later.}\n\n@endpoint GET /companies/{companyId}/data/banking-transactions\n@desc List banking transactions\n@optional {page: int(int32)=1 # Page number. [Read more](https://docs.codat.io/using-the-api/paging)., pageSize: int(int32)=100 # Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging)., query: str # Codat query string. [Read more](https://docs.codat.io/using-the-api/querying)., orderBy: str # Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).}\n@returns(200) Success\n@errors {400: Your `query` parameter was not correctly formed, 401: Your API request was not properly authorized., 402: An account limit has been exceeded. The type of limit is described in the error property:  - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io., 403: You are using an outdated API key or a key not associated with that resource., 404: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted., 409: The data type's dataset has not been requested or is still syncing., 429: Too many requests were made in a given amount of time. Wait a short period and then try again., 500: There is a problem with our server. Please try again later., 503: The Codat API is temporarily offline for maintenance. Please try again later.}\n\n@endpoint GET /companies/{companyId}/connections/{connectionId}/data/banking-transactions/{transactionId}\n@desc Get bank transaction\n@returns(200) Success\n@errors {401: Your API request was not properly authorized., 402: An account limit has been exceeded. The type of limit is described in the error property:  - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io., 403: You are using an outdated API key or a key not associated with that resource., 404: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted., 409: The data type's dataset has not been requested or is still syncing., 429: Too many requests were made in a given amount of time. Wait a short period and then try again., 500: There is a problem with our server. Please try again later., 503: The Codat API is temporarily offline for maintenance. Please try again later.}\n\n@end\n"}}