openapi: 3.0.3 info: title: Revel Open Customers Orders API description: 'The Revel Open API is the REST interface for the Revel Systems cloud iPad point-of-sale platform for restaurants and retailers. It exposes core POS resources such as orders, order items, products, product modifiers, customers, establishments, employees, and labor-scheduling records. The API is built on Django Tastypie conventions: list responses return an `objects` array alongside a `meta` pagination envelope, and filtering uses Django field-lookup syntax (e.g. `id__lt`, `created_date__range`, `name__icontains`). Each Revel customer is served from a dedicated subdomain (`https://{subdomain}.revelup.com/resources/`); a shared sandbox is hosted at `https://api-sandbox-revel.revelup.com/resources/`.' version: 2025.3.0 contact: name: Revel Systems Developer Support url: https://developer.revelsystems.com/ x-generated-from: documentation x-source-url: https://developer.revelsystems.com/revelsystems/reference/welcome x-last-validated: '2026-06-03' servers: - url: https://{subdomain}.revelup.com/resources description: Production REST endpoint (per Revel establishment subdomain) variables: subdomain: default: yoursubdomain description: The customer's Revel subdomain - url: https://api-sandbox-revel.revelup.com/resources description: Shared sandbox REST endpoint security: - apiAuthentication: [] tags: - name: Orders description: Order and order-item resources. paths: /Order/: get: operationId: getOrders summary: Get Orders description: Returns the list of Order objects. Supports Tastypie field-lookup filtering, field selection, ordering, and offset pagination. tags: - Orders parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/fields' - name: order_by in: query description: Field to sort by. Prefix with `-` for descending. schema: type: string enum: - updated_date - pickup_time - running_tax_number - id - created_date example: updated_date - name: id in: query schema: type: integer example: 1 - name: uuid in: query schema: type: string format: uuid example: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d - name: establishment in: query schema: type: integer example: 1 - name: customer in: query schema: type: integer example: 1 - name: closed in: query schema: type: boolean example: true - name: web_order in: query schema: type: boolean example: true - name: created_date in: query schema: type: string format: date-time example: '2026-06-01T12:00:00Z' - name: updated_date in: query schema: type: string format: date-time example: '2026-06-01T12:00:00Z' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/OrderList' examples: GetOrders200Example: summary: Default getOrders 200 response x-microcks-default: true value: meta: total_count: 42 limit: 42 offset: 42 next: example previous: example objects: - id: 1 uuid: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d establishment: 1 customer: 1 created_by: 1 call_number: 42 call_name: Window running_tax_number: 42 web_order: true is_invoice: true closed: true printed: true has_items: true has_history: true dining_option: 42 delivery_employee: 42 device_id: 1 local_id: LOC-1 pickup_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createOrder summary: Create Order description: Creates a new Order object. tags: - Orders requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Order' examples: CreateOrderRequestExample: summary: Default createOrder request x-microcks-default: true value: id: 1 uuid: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d establishment: 1 customer: 1 created_by: 1 call_number: 42 call_name: Window running_tax_number: 42 web_order: true is_invoice: true closed: true printed: true has_items: true has_history: true dining_option: 42 delivery_employee: 42 device_id: 1 local_id: LOC-1 pickup_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ responses: '201': description: Order created content: application/json: schema: $ref: '#/components/schemas/Order' examples: CreateOrder201Example: summary: Default createOrder 201 response x-microcks-default: true value: id: 1 uuid: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d establishment: 1 customer: 1 created_by: 1 call_number: 42 call_name: Window running_tax_number: 42 web_order: true is_invoice: true closed: true printed: true has_items: true has_history: true dining_option: 42 delivery_employee: 42 device_id: 1 local_id: LOC-1 pickup_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' x-microcks-operation: delay: 0 dispatcher: FALLBACK /Order/{id}/: get: operationId: getOrder summary: Get Order description: Returns a single Order object by its numeric id. tags: - Orders parameters: - $ref: '#/components/parameters/idPath' - $ref: '#/components/parameters/fields' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Order' examples: GetOrder200Example: summary: Default getOrder 200 response x-microcks-default: true value: id: 1 uuid: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d establishment: 1 customer: 1 created_by: 1 call_number: 42 call_name: Window running_tax_number: 42 web_order: true is_invoice: true closed: true printed: true has_items: true has_history: true dining_option: 42 delivery_employee: 42 device_id: 1 local_id: LOC-1 pickup_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK patch: operationId: updateOrder summary: Update Order description: Partially updates an existing Order object. tags: - Orders parameters: - $ref: '#/components/parameters/idPath' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Order' examples: UpdateOrderRequestExample: summary: Default updateOrder request x-microcks-default: true value: id: 1 uuid: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d establishment: 1 customer: 1 created_by: 1 call_number: 42 call_name: Window running_tax_number: 42 web_order: true is_invoice: true closed: true printed: true has_items: true has_history: true dining_option: 42 delivery_employee: 42 device_id: 1 local_id: LOC-1 pickup_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ responses: '200': description: Order updated content: application/json: schema: $ref: '#/components/schemas/Order' examples: UpdateOrder200Example: summary: Default updateOrder 200 response x-microcks-default: true value: id: 1 uuid: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d establishment: 1 customer: 1 created_by: 1 call_number: 42 call_name: Window running_tax_number: 42 web_order: true is_invoice: true closed: true printed: true has_items: true has_history: true dining_option: 42 delivery_employee: 42 device_id: 1 local_id: LOC-1 pickup_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: fields: name: fields in: query description: Comma-separated list of direct resource attributes to return (e.g. `id,name,price`). schema: type: array items: type: string style: form explode: false offset: name: offset in: query description: Zero-based offset of the first object to return. schema: type: integer default: 0 idPath: name: id in: path required: true description: Numeric resource identifier. schema: type: integer limit: name: limit in: query description: Maximum number of objects to return per page. Use `0` to disable pagination. schema: type: integer default: 20 schemas: Meta: type: object description: Tastypie pagination envelope. properties: total_count: type: integer example: 142 limit: type: integer example: 20 offset: type: integer example: 0 next: type: string nullable: true example: /resources/Order/?limit=20&offset=20 previous: type: string nullable: true example: null OrderList: type: object properties: meta: $ref: '#/components/schemas/Meta' objects: type: array items: $ref: '#/components/schemas/Order' Order: type: object x-schema-source: documentation x-source-url: https://developer.revelsystems.com/revelsystems/reference/getorders properties: id: type: integer example: 1 uuid: type: string format: uuid example: a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d establishment: type: integer description: Foreign key to Establishment. example: 1 customer: type: integer nullable: true description: Foreign key to Customer. example: 1 created_by: type: integer description: Employee who created the order. example: 1 call_number: type: integer nullable: true example: 42 call_name: type: string nullable: true example: Window running_tax_number: type: integer nullable: true example: 42 web_order: type: boolean example: true is_invoice: type: boolean example: true closed: type: boolean example: true printed: type: boolean example: true has_items: type: boolean example: true has_history: type: boolean example: true dining_option: type: integer nullable: true example: 42 delivery_employee: type: integer nullable: true example: 42 device_id: type: integer nullable: true example: 1 local_id: type: string nullable: true example: LOC-1 pickup_time: type: string format: date-time nullable: true example: '2026-06-01T12:00:00Z' created_date: type: string format: date-time example: '2026-06-01T12:00:00Z' updated_date: type: string format: date-time example: '2026-06-01T12:00:00Z' resource_uri: type: string example: /resources/Resource/1/ responses: Unauthorized: description: Authentication failed or was not provided. NotFound: description: The requested resource was not found. RateLimited: description: Too many requests. Honor the Retry-After header and back off. securitySchemes: apiAuthentication: type: apiKey in: header name: API-AUTHENTICATION description: 'API key and secret joined by a colon, e.g. `API-AUTHENTICATION: key:secret`. The key and secret may alternatively be passed as `api_key` and `api_secret` query parameters.'