> ## Documentation Index > Fetch the complete documentation index at: https://docs.restaurant365.com/llms.txt > Use this file to discover all available pages before exploring further. # Transactions > Retrieves transactions. At least one complete date range must be provided: ModifiedOn (ModifiedOnStart and ModifiedOnEnd) or DateOfBusiness (DateOfBusinessStart and DateOfBusinessEnd) **Security** Access is evaluated per transaction type. The requesting user must have the View permission for each transaction type they want included in the response: | Transaction type | Permission | |---|---| | AP Invoice | Accounts Payable → AP Invoices → View AP Invoices Within Accounting (or Food equivalent) | | AP Credit Memo | Accounts Payable → AP Credit Memos → View AP Credit Memos Within Accounting (or Food equivalent) | | AP Payment | Accounts Payable → AP Payments → View AP Payments | | AR Invoice | Accounts Receivable → AR Invoices → View AR Invoices | | AR Credit Memo | Accounts Receivable → AR Credit Memos → View AR Credit Memos | | AR Payment | Accounts Receivable → AR Payments → View AR Payments | | Journal Entry | General Ledger → Journal Entries → View Journal Entries | | Bank Deposit | Banking → Bank Deposits → View Bank Deposits | | Bank Transfer | Banking → Bank Transfers → View Bank Transfers | | Bank Expense | Banking → Bank Withdrawals → View Bank Withdrawals | | Inventory Count | Food → Inventory Counts → View Inventory Counts | | Item Transfer | Food → Item Transfers → View Item Transfers | | Waste Log | Food → Waste Logs → View Waste Logs | | Donation | Food → Donations → View Donations | | Commissary Fulfilment | Commissary → Commissary Orders → View Commissary Orders | If the request omits `TransactionTypes`, the response silently drops types the user cannot view. If the request explicitly names a type the user cannot view, the request fails with 422 Unprocessable Entity. Restricted GL accounts and restricted vendors also apply. ## OpenAPI ````json GET /public/v1/accounting/transactions { "openapi": "3.0.1", "info": { "title": "R365 Public API", "contact": { "name": "R365 Services Team", "email": "r365@restaurant365.com" }, "version": "1.0" }, "security": [ { "Bearer": [] } ], "paths": { "/public/v1/accounting/transactions": { "get": { "tags": [ "accounting" ], "summary": "Transactions", "description": "Retrieves transactions. At least one complete date range must be provided: ModifiedOn (ModifiedOnStart and ModifiedOnEnd) or DateOfBusiness (DateOfBusinessStart and DateOfBusinessEnd)\n\n**Security**\n\nAccess is evaluated per transaction type. The requesting user must have the View permission for each transaction type they want included in the response:\n\n| Transaction type | Permission |\n|---|---|\n| AP Invoice | Accounts Payable → AP Invoices → View AP Invoices Within Accounting (or Food equivalent) |\n| AP Credit Memo | Accounts Payable → AP Credit Memos → View AP Credit Memos Within Accounting (or Food equivalent) |\n| AP Payment | Accounts Payable → AP Payments → View AP Payments |\n| AR Invoice | Accounts Receivable → AR Invoices → View AR Invoices |\n| AR Credit Memo | Accounts Receivable → AR Credit Memos → View AR Credit Memos |\n| AR Payment | Accounts Receivable → AR Payments → View AR Payments |\n| Journal Entry | General Ledger → Journal Entries → View Journal Entries |\n| Bank Deposit | Banking → Bank Deposits → View Bank Deposits |\n| Bank Transfer | Banking → Bank Transfers → View Bank Transfers |\n| Bank Expense | Banking → Bank Withdrawals → View Bank Withdrawals |\n| Inventory Count | Food → Inventory Counts → View Inventory Counts |\n| Item Transfer | Food → Item Transfers → View Item Transfers |\n| Waste Log | Food → Waste Logs → View Waste Logs |\n| Donation | Food → Donations → View Donations |\n| Commissary Fulfilment | Commissary → Commissary Orders → View Commissary Orders |\n\nIf the request omits `TransactionTypes`, the response silently drops types the user cannot view. If the request explicitly names a type the user cannot view, the request fails with 422 Unprocessable Entity. Restricted GL accounts and restricted vendors also apply.", "parameters": [ { "$ref": "#/components/parameters/TenantId" }, { "name": "LocationId", "in": "query", "description": "Location. Required. Only a single location is supported for v1", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "ModifiedOnStart", "in": "query", "description": "Modified date start (inclusive)", "required": false, "schema": { "type": "string", "format": "date-time" } }, { "name": "ModifiedOnEnd", "in": "query", "description": "Modified date end (inclusive)", "required": false, "schema": { "type": "string", "format": "date-time" } }, { "name": "DateOfBusinessStart", "in": "query", "description": "Date of business start (inclusive)", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "DateOfBusinessEnd", "in": "query", "description": "Date of business end (inclusive)", "required": false, "schema": { "type": "string", "format": "date" } }, { "name": "Status", "in": "query", "description": "Approval status. Valid values: Unapproved, Approved", "required": false, "schema": { "type": "string" } }, { "name": "TransactionTypes", "in": "query", "description": "Transaction types to include. Repeat the parameter to supply more than one.", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "APInvoice", "APCreditMemo", "APPayment", "ARInvoice", "ARCreditMemo", "ARPayment", "JournalEntry", "BankTransfer", "BankDeposit", "BankExpense", "InventoryCount", "ItemTransfer", "WasteLog", "Donation", "CommissaryFulfillment" ] } } }, { "name": "IncludeDetails", "in": "query", "description": "Include transaction detail lines in the response", "required": false, "schema": { "type": "boolean" } }, { "name": "IncludeDistributions", "in": "query", "description": "Include distribution information in the response", "required": false, "schema": { "type": "boolean" } }, { "name": "pageSize", "in": "query", "required": false, "schema": { "type": "integer", "format": "int32", "minimum": 1, "maximum": 250, "default": 250 }, "description": "Maximum number of top-level objects to return in one page." }, { "name": "ContinuationToken", "in": "query", "description": "Continuation token for pagination. Use the nextLink from a previous response to get the next page of results", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Transactions query results.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QueryTransactionsResponse" } } } }, "400": { "description": "Bad Request — a parameter value is malformed, of the wrong type, or outside its allowed range." }, "401": { "description": "Unauthorized — the bearer token is missing, invalid or expired, or is not valid for the specified tenant." }, "403": { "description": "Forbidden — the caller lacks the permission required for this operation." }, "404": { "description": "Not Found — the requested resource does not exist, or the supplied continuation token is unknown or has expired." }, "409": { "description": "Conflict — the request conflicts with the current state of the resource and cannot be applied." }, "422": { "description": "Unprocessable Entity — a required parameter is missing, or a supplied parameter value is invalid." }, "429": { "description": "Too Many Requests — the caller has exceeded the rate limit; retry after a short delay." }, "500": { "description": "Internal Server Error — an unexpected error occurred while processing the request." } } } } }, "components": { "parameters": { "TenantId": { "name": "x-r365-context-tenant-id", "in": "header", "required": true, "description": "Identifies the R365 tenant the request applies to. Required on every request.", "schema": { "type": "string" } } }, "schemas": { "QueryTransactionsResponse": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "$ref": "#/components/schemas/Transaction" }, "description": "The collection of transactions for the current page.", "nullable": true }, "nextLink": { "type": "string", "description": "URL to retrieve the next page of results, or null if this is the last page.", "nullable": true } }, "additionalProperties": false, "description": "Paginated response containing queried transactions." }, "Transaction": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier (GUID) of the transaction.", "format": "uuid" }, "type": { "type": "string", "description": "Transaction type name (e.g., \"APInvoice\", \"JournalEntry\").", "nullable": true }, "number": { "type": "string", "description": "Transaction number.", "nullable": true }, "dateOfBusiness": { "type": "string", "description": "Business date of the transaction.", "format": "date-time", "nullable": true }, "templateName": { "type": "string", "description": "Name of the template used to generate this transaction, if any.", "nullable": true }, "debitTotal": { "type": "number", "description": "Total debit amount across all distribution lines.", "format": "double" }, "creditTotal": { "type": "number", "description": "Total credit amount across all distribution lines.", "format": "double" }, "legalEntity": { "$ref": "#/components/schemas/TransactionLegalEntityReference" }, "location": { "$ref": "#/components/schemas/TransactionLocationReference" }, "comment": { "type": "string", "description": "Free-text comment or memo on the transaction.", "nullable": true }, "spreadType": { "type": "string", "description": "Spread type applied when the transaction spans multiple periods.", "nullable": true }, "status": { "type": "string", "description": "Approval status of the transaction.", "nullable": true }, "modifiedOn": { "type": "string", "description": "Timestamp of the most recent modification.", "format": "date-time", "nullable": true }, "details": { "type": "array", "items": { "$ref": "#/components/schemas/TransactionDetail" }, "description": "Transaction detail lines. Only included when includeDetails is true.", "nullable": true }, "distribution": { "$ref": "#/components/schemas/TransactionDistribution" } }, "additionalProperties": false, "description": "Transaction model for the query transactions public API response." }, "TransactionLegalEntityReference": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier (GUID) of the legal entity.", "format": "uuid" }, "name": { "type": "string", "description": "Display name of the legal entity.", "nullable": true }, "number": { "type": "string", "description": "Legal entity number.", "nullable": true } }, "additionalProperties": false, "description": "Legal entity reference for transaction responses." }, "TransactionLocationReference": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier (GUID) of the location.", "format": "uuid" }, "name": { "type": "string", "description": "Display name of the location.", "nullable": true }, "number": { "type": "string", "description": "Location number.", "nullable": true } }, "additionalProperties": false, "description": "Location reference for transaction responses." }, "TransactionDetail": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier of the detail line.", "format": "uuid" }, "glAccount": { "$ref": "#/components/schemas/TransactionGlAccountReference" }, "debit": { "type": "number", "description": "Debit amount on this line. Zero when the line is a credit.", "format": "double" }, "credit": { "type": "number", "description": "Credit amount on this line. Zero when the line is a debit.", "format": "double" }, "location": { "$ref": "#/components/schemas/TransactionLocationReference" }, "legalEntity": { "$ref": "#/components/schemas/TransactionLegalEntityReference" }, "comment": { "type": "string", "description": "Free-text comment on this detail line.", "nullable": true } }, "additionalProperties": false, "description": "Transaction detail line for the query transactions public API response." }, "TransactionDistribution": { "type": "object", "properties": { "debitTotal": { "type": "number", "description": "Total debit amount across all distribution lines.", "format": "double" }, "creditTotal": { "type": "number", "description": "Total credit amount across all distribution lines.", "format": "double" }, "lines": { "type": "array", "items": { "$ref": "#/components/schemas/TransactionDistributionLine" }, "description": "Individual GL distribution lines.", "nullable": true } }, "additionalProperties": false, "description": "Distribution summary for the query transactions public API response." }, "TransactionGlAccountReference": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier (GUID) of the GL account.", "format": "uuid" }, "name": { "type": "string", "description": "Display name of the GL account.", "nullable": true }, "number": { "type": "string", "description": "GL account number.", "nullable": true }, "glType": { "type": "string", "description": "GL type name for this account.", "nullable": true } }, "additionalProperties": false, "description": "GL account reference for transaction responses." }, "TransactionDistributionLine": { "type": "object", "properties": { "glAccount": { "$ref": "#/components/schemas/TransactionGlAccountReference" }, "location": { "$ref": "#/components/schemas/TransactionLocationReference" }, "legalEntity": { "$ref": "#/components/schemas/TransactionLegalEntityReference" }, "debit": { "type": "number", "description": "Debit amount on this distribution line. Zero when the line is a credit.", "format": "double" }, "credit": { "type": "number", "description": "Credit amount on this distribution line. Zero when the line is a debit.", "format": "double" }, "comment": { "type": "string", "description": "Comment on this distribution line.", "nullable": true }, "attribute1": { "type": "string", "description": "Custom reporting attribute 1.", "nullable": true }, "attribute2": { "type": "string", "description": "Custom reporting attribute 2.", "nullable": true } }, "additionalProperties": false, "description": "Individual distribution line within a transaction distribution." } }, "securitySchemes": { "Bearer": { "type": "http", "scheme": "Bearer" } } } } ````