{"note":"OpenAPI conversion -- returning structured metadata","name":"xero-com-xero-bankfeeds","description":"Xero Bank Feeds API","version":"12.0.0","base_url":"https://api.xero.com/bankfeeds.xro/1.0","endpoints":7,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Xero Bank Feeds API\n@base https://api.xero.com/bankfeeds.xro/1.0\n@version 12.0.0\n@auth OAuth2\n@endpoints 7\n@toc FeedConnections(4), Statements(3)\n\n@group FeedConnections\n@endpoint GET /FeedConnections\n@desc Searches for feed connections\n@optional {page: int # Page number which specifies the set of records to retrieve. By default the number of the records per set is 10. Example - https://api.xero.com/bankfeeds.xro/1.0/FeedConnections?page=1 to get the second set of the records. When page value is not a number or a negative number, by default, the first set of records is returned., pageSize: int # Page size which specifies how many records per page will be returned (default 10). Example - https://api.xero.com/bankfeeds.xro/1.0/FeedConnections?pageSize=100 to specify page size of 100.}\n@returns(202) {pagination: map{page: int, pageSize: int, pageCount: int, itemCount: int}, items: [map]} # search results matching criteria returned with pagination and items array\n@errors {400: validation error response}\n\n@endpoint POST /FeedConnections\n@desc Create one or more new feed connection\n@optional {Idempotency-Key: str # This allows you to safely retry requests without the risk of duplicate processing. 128 character max., pagination: map{page: int, pageSize: int, pageCount: int, itemCount: int}, items: [map{id: str(uuid), accountToken: str, accountNumber: str, accountName: str, accountId: str(uuid), accountType: any, currency: str, country: str, status: str, error: map}]}\n@returns(202) {pagination: map{page: int, pageSize: int, pageCount: int, itemCount: int}, items: [map]} # success new feed connection(s)response\n@errors {400: failed to create new feed connection(s)response}\n@example_request {\"items\":[{\"accountToken\":\"foobar71760\",\"accountNumber\":\"123458637\",\"accountName\":\"SDK Bank 90861\",\"accountType\":\"BANK\",\"currency\":\"GBP\"}]}\n\n@endpoint GET /FeedConnections/{id}\n@desc Retrieve single feed connection based on a unique id provided\n@required {id: str(uuid) # Unique identifier for retrieving single object}\n@returns(200) {id: str(uuid), accountToken: str, accountNumber: str, accountName: str, accountId: str(uuid), accountType: any, currency: str, country: str, status: str, error: map{title: str, status: int, detail: str, type: str}} # success returns a FeedConnection object matching the id in response\n@errors {400: bad input parameter}\n\n@endpoint POST /FeedConnections/DeleteRequests\n@desc Delete an existing feed connection\n@optional {Idempotency-Key: str # This allows you to safely retry requests without the risk of duplicate processing. 128 character max., pagination: map{page: int, pageSize: int, pageCount: int, itemCount: int}, items: [map{id: str(uuid), accountToken: str, accountNumber: str, accountName: str, accountId: str(uuid), accountType: any, currency: str, country: str, status: str, error: map}]}\n@returns(202) {pagination: map{page: int, pageSize: int, pageCount: int, itemCount: int}, items: [map]} # Success response for deleted feed connection\n@errors {400: bad input parameter}\n@example_request {\"items\":[{\"id\":\"b4cc693b-24d9-42ec-a6d4-2943d253ff63\"}]}\n\n@endgroup\n\n@group Statements\n@endpoint GET /Statements\n@desc Retrieve all statements\n@optional {page: int(int32) # unique id for single object, pageSize: int(int32) # Page size which specifies how many records per page will be returned (default 10). Example - https://api.xero.com/bankfeeds.xro/1.0/Statements?pageSize=100 to specify page size of 100., Xero-Application-Id: str=00000000-0000-0000-0000-0000000010000, Xero-User-Id: str=00000000-0000-0000-0000-0000030000000}\n@returns(200) {pagination: map{page: int, pageSize: int, pageCount: int, itemCount: int}, items: [map]} # success returns Statements array of objects response\n@errors {400: bad input parameter}\n\n@endpoint POST /Statements\n@desc Creates one or more new statements\n@optional {Idempotency-Key: str # This allows you to safely retry requests without the risk of duplicate processing. 128 character max., pagination: map{page: int, pageSize: int, pageCount: int, itemCount: int}, items: [map{id: str(uuid), feedConnectionId: str(uuid), status: any, startDate: str(date), endDate: str(date), startBalance: map, endBalance: map, statementLines: [map], errors: [map], statementLineCount: int}]}\n@returns(202) {pagination: map{page: int, pageSize: int, pageCount: int, itemCount: int}, items: [map]} # Success returns Statements array of objects in response\n@errors {400: Statement failed validation, 403: Invalid application or feed connection, 409: Duplicate statement received, 413: Statement exceeds size limit, 422: Unprocessable Entity, 500: Intermittent Xero Error}\n@example_request {\"items\":[{\"feedConnectionId\":\"6a4b9ff5-3a5f-4321-936b-4796163550f6\",\"startDate\":\"2019-08-11\",\"endDate\":\"2019-08-11\",\"startBalance\":{\"amount\":\"100\",\"creditDebitIndicator\":\"CREDIT\"},\"endBalance\":{\"amount\":\"150\",\"creditDebitIndicator\":\"CREDIT\"},\"statementLines\":[{\"postedDate\":\"2019-08-11\",\"description\":\"My new line\",\"amount\":\"50\",\"creditDebitIndicator\":\"CREDIT\",\"transactionId\":\"123446422\",\"payeeName\":\"StarLord90315\",\"reference\":\"Foobar95578\",\"chequeNumber\":\"12379009\",\"transactionType\":\"Refund\"}]},{\"feedConnectionId\":\"2ebe6393-f3bb-48ab-9a0e-b04fa8585a70\",\"startDate\":\"2019-08-11\",\"endDate\":\"2019-08-11\",\"startBalance\":{\"amount\":\"100\",\"creditDebitIndicator\":\"CREDIT\"},\"endBalance\":{\"amount\":\"150\",\"creditDebitIndicator\":\"CREDIT\"},\"statementLines\":[{\"postedDate\":\"2019-08-11\",\"description\":\"My new line\",\"amount\":\"50\",\"creditDebitIndicator\":\"CREDIT\",\"transactionId\":\"123449402\",\"payeeName\":\"StarLord56705\",\"reference\":\"Foobar67355\",\"chequeNumber\":\"12379350\",\"transactionType\":\"Currency Conversion Fee\"}]}]}\n\n@endpoint GET /Statements/{statementId}\n@desc Retrieve single statement based on unique id provided\n@required {statementId: str(uuid) # statement id for single object}\n@returns(200) {id: str(uuid), feedConnectionId: str(uuid), status: any, startDate: str(date), endDate: str(date), startBalance: map{amount: num(double), creditDebitIndicator: str}, endBalance: map{amount: num(double), creditDebitIndicator: str}, statementLines: [map], errors: [map], statementLineCount: int} # search results matching id for single statement\n@errors {404: Statement not found}\n\n@endgroup\n\n@end\n"}