openapi: 3.1.0 info: title: Restaurant365 OData Connector AP Invoices Reference Data API description: The Restaurant365 OData connector exposes R365 data to OData-compatible reporting and business-intelligence tools through read-only views for companies, locations, GL accounts, items, employees, labor, transactions, and sales. Authentication uses Domain\Username (the company subdomain and R365 username) with the R365 password. Most views support the standard OData query options $filter, $orderby, $select, $skip, and $top. Sales views (SalesEmployee, SalesDetail, SalesPayment) do not support $select or $count and are limited to a 31-day date range per request. version: v2 contact: name: Kin Lane email: kin@apievangelist.com license: name: Proprietary servers: - url: https://odata.restaurant365.net/api/v2/views description: Restaurant365 OData v2 views endpoint tags: - name: Reference Data description: Companies, locations, GL accounts, items, and job titles paths: /Company: get: operationId: listCompanies summary: List Companies description: List all companies (vendors) in the customer database. tags: - Reference Data security: - basicAuth: [] parameters: - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/top' responses: '200': description: A collection of companies content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/Company' /Location: get: operationId: listLocations summary: List Locations description: List all locations in the customer database. tags: - Reference Data security: - basicAuth: [] parameters: - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/top' responses: '200': description: A collection of locations content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/Location' /GLAccount: get: operationId: listGlAccounts summary: List GL Accounts description: List all general ledger accounts with details. tags: - Reference Data security: - basicAuth: [] parameters: - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/top' responses: '200': description: A collection of GL accounts content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/GLAccount' /Item: get: operationId: listItems summary: List Items description: List all items with categorization. tags: - Reference Data security: - basicAuth: [] parameters: - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/top' responses: '200': description: A collection of items content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/Item' /JobTitle: get: operationId: listJobTitles summary: List Job Titles description: List all job titles with details. tags: - Reference Data security: - basicAuth: [] parameters: - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/top' responses: '200': description: A collection of job titles content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/JobTitle' components: schemas: Location: type: object properties: locationId: type: string format: uuid name: type: string locationNumber: type: string legalEntityId: type: string format: uuid legalEntityNumber: type: string legalEntityName: type: string attribute1Id: type: string format: uuid attribute1Number: type: string attribute1Name: type: string attribute2Id: type: string format: uuid attribute2Number: type: string attribute2Name: type: string createdBy: type: string createdOn: type: string format: date-time modifiedBy: type: string modifiedOn: type: string format: date-time JobTitle: type: object properties: jobTitleId: type: string format: uuid name: type: string description: type: string jobCode: type: string payRate: type: number payRate_Base: type: number posid: type: string glAccount_Id: type: string format: uuid location_Id: type: string format: uuid rating: type: integer excludeFromSchedule: type: boolean excludeFromPOSImport: type: boolean createdBy: type: string createdOn: type: string format: date-time modifiedBy: type: string modifiedOn: type: string format: date-time Item: type: object properties: itemId: type: string format: uuid name: type: string itemNumber: type: string category1: type: string category2: type: string category3: type: string createdBy: type: string createdOn: type: string format: date-time modifiedBy: type: string modifiedOn: type: string format: date-time Company: type: object properties: companyId: type: string format: uuid name: type: string companyNumber: type: string comment: type: string createdBy: type: string createdOn: type: string format: date-time modifiedBy: type: string modifiedOn: type: string format: date-time GLAccount: type: object properties: glAccountId: type: string format: uuid glAccountAutoId: type: integer format: int64 locationNumber: type: string locationName: type: string locationId: type: string format: uuid legalEntityNumber: type: string legalEntityName: type: string legalEntityId: type: string format: uuid attribute1Number: type: string attribute1Name: type: string attribute1Id: type: string format: uuid attribute2Number: type: string attribute2Name: type: string attribute2Id: type: string format: uuid name: type: string glAccountNumber: type: string glTypeClass: type: integer glType: type: string operationalCategory: type: string createdBy: type: string createdOn: type: string format: date-time modifiedBy: type: string modifiedOn: type: string format: date-time parameters: select: name: $select in: query required: false description: Comma-separated list of properties to return schema: type: string filter: name: $filter in: query required: false description: Boolean expression used to filter results schema: type: string skip: name: $skip in: query required: false description: Number of results to skip schema: type: integer orderby: name: $orderby in: query required: false description: Property to sort by; append desc for descending order schema: type: string top: name: $top in: query required: false description: Maximum number of results to return schema: type: integer securitySchemes: basicAuth: type: http scheme: basic description: Domain\Username with R365 password