openapi: 3.0.0
servers:
  - url: https://unify.apideck.com
info:
  contact:
    email: hello@apideck.com
    url: https://developers.apideck.com
  description: |+
    Welcome to the POS API.

    You can use this API to access all POS API endpoints.

    ## Base URL

    The base URL for all API requests is `https://unify.apideck.com`

    ## Headers

    Custom headers that are expected as part of the request. Note that [RFC7230](https://tools.ietf.org/html/rfc7230) states header names are case insensitive.

    | Name                  | Type    | Required | Description                                                                                                                                                    |
    | --------------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | x-apideck-consumer-id | String  | Yes      | The id of the customer stored inside Apideck Vault. This can be a user id, account id, device id or whatever entity that can have integration within your app. |
    | x-apideck-service-id  | String  | No       | Describe the service you want to call (e.g., pipedrive). Only needed when a customer has activated multiple integrations for the same Unified API.             |
    | x-apideck-raw         | Boolean | No       | Include raw response. Mostly used for debugging purposes.                                                                                                      |
    | x-apideck-app-id      | String  | Yes      | The application id of your Unify application. Available at https://app.apideck.com/unify/api-keys.                                                             |
    | Authorization         | String  | Yes      | Bearer API KEY                                                                                                                                                 |

    ## Authorization

    You can interact with the API through the authorization methods below.

    <!-- ReDoc-Inject: <security-definitions> -->

    ## Pagination

    All API resources have support for bulk retrieval via list APIs.  Apideck uses cursor-based pagination via the optional `cursor` and `limit` parameters.

    To fetch the first page of results, call the list API without a `cursor` parameter. Afterwards you can fetch subsequent pages by providing a cursor parameter. You will find the next cursor in the response body in `meta.cursors.next`. If `meta.cursors.next` is `null` you're at the end of the list.

    In the REST API you can also use the `links` from the response for added convenience. Simply call the URL in `links.next` to get the next page of results.

    ### Query Parameters

    | Name   | Type   | Required | Description                                                                                                        |
    | ------ | ------ | -------- | ------------------------------------------------------------------------------------------------------------------ |
    | cursor | String | No       | Cursor to start from. You can find cursors for next & previous pages in the meta.cursors property of the response. |
    | limit  | Number | No       | Number of results to return. Minimum 1, Maximum 200, Default 20                                                    |

    ### Response Body

    | Name                  | Type   | Description                                                        |
    | --------------------- | ------ | ------------------------------------------------------------------ |
    | meta.cursors.previous | String | Cursor to navigate to the previous page of results through the API |
    | meta.cursors.current  | String | Cursor to navigate to the current page of results through the API  |
    | meta.cursors.next     | String | Cursor to navigate to the next page of results through the API     |
    | meta.items_on_page    | Number | Number of items returned in the data property of the response      |
    | links.previous        | String | Link to navigate to the previous page of results through the API   |
    | links.current         | String | Link to navigate to the current page of results through the API    |
    | links.next            | String | Link to navigate to the next page of results through the API       |

    ⚠️ `meta.cursors.previous`/`links.previous` is not available for all connectors.

    ## SDKs and API Clients

    We currently offer a [Node.js](https://developers.apideck.com/sdks/node), [PHP](https://developers.apideck.com/sdks/php) and [.NET](https://developers.apideck.com/sdks/dot-net) SDK.
    Need another SDK? [Request the SDK of your choice](https://integrations.apideck.com/request).

    ## Debugging

    Because of the nature of the abstraction we do in Apideck Unify we still provide the option to the receive raw requests and responses being handled underlying. By including the raw flag `?raw=true` in your requests you can still receive the full request. Please note that this increases the response size and can introduce extra latency.

    ## Errors

    The API returns standard HTTP response codes to indicate success or failure of the API requests. For errors, we also return a customized error message inside the JSON response. You can see the returned HTTP status codes below.

    | Code | Title                | Description                                                                                                                                                                                              |
    | ---- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | 200  | OK                   | The request message has been successfully processed, and it has produced a response. The response message varies, depending on the request method and the requested data.                                |
    | 201  | Created              | The request has been fulfilled and has resulted in one or more new resources being created.                                                                                                              |
    | 204  | No Content           | The server has successfully fulfilled the request and that there is no additional content to send in the response payload body.                                                                          |
    | 400  | Bad Request          | The receiving server cannot understand the request because of malformed syntax. Do not repeat the request without first modifying it; check the request for errors, fix them and then retry the request. |
    | 401  | Unauthorized         | The request has not been applied because it lacks valid authentication credentials for the target resource.                                                                                              |
    | 402  | Payment Required     | Subscription data is incomplete or out of date. You'll need to provide payment details to continue.                                                                                                      |
    | 403  | Forbidden            | You do not have the appropriate user rights to access the request. Do not repeat the request.                                                                                                            |
    | 404  | Not Found            | The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.                                                                           |
    | 409  | Conflict             | The request could not be completed due to a conflict with the current state of the target resource.                                                                                                      |
    | 422  | Unprocessable Entity | The server understands the content type of the request entity, and the syntax of the request entity is correct but was unable to process the contained instructions.                                     |
    | 429  | Too Many Requests    | You sent too many requests in a given amount of time ("rate limit"). Try again later                                                                                                                     |
    | 5xx  | Server Errors        | Something went wrong with the Unify API. These errors are logged on our side. You can contact our team to resolve the issue.                                                                             |

    ### Handling errors

    The Unify API and SDKs can produce errors for many reasons, such as a failed requests due to misconfigured integrations, invalid parameters, authentication errors, and network unavailability.

    ### Error Types

    #### RequestValidationError

    Request is not valid for the current endpoint. The response body will include details on the validation error. Check the spelling and types of your attributes, and ensure you are not passing data that is outside of the specification.

    #### UnsupportedFiltersError

    Filters in the request are valid, but not supported by the connector. Remove the unsupported filter(s) to get a successful response.

    #### UnsupportedSortFieldError

    Sort field (`sort[by]`) in the request is valid, but not supported by the connector. Replace or remove the sort field to get a successful response.

    #### InvalidCursorError

    Pagination cursor in the request is not valid for the current connector. Make sure to use a cursor returned from the API, for the same connector.

    #### ConnectorExecutionError

    A Unified API request made via one of our downstream connectors returned an unexpected error. The `status_code` returned is proxied through to error response along with their original response via the error detail.

    #### UnauthorizedError

    We were unable to authorize the request as made. This can happen for a number of reasons, from missing header params to passing an incorrect authorization token. Verify your Api Key is being set correctly in the authorization header. ie: `Authorization: 'Bearer sk_live_***'`

    #### ConnectorCredentialsError

    A request using a given connector has not been authorized. Ensure the connector you are trying to use has been configured correctly and been authorized for use.

    #### ConnectorDisabledError

    A request has been made to a connector that has since been disabled. This may be temporary - You can contact our team to resolve the issue.

    #### ConnectorRateLimitError

    You sent too many request to a connector. These rate limits vary from connector to connector. You will need to try again later.

    #### RequestLimitError

    You have reached the number of requests included in your Free Tier Subscription. You will no be able to make further requests until this limit resets at the end of the month, or talk to us about upgrading your subscription to continue immediately.

    #### EntityNotFoundError

    You've made a request for a resource or route that does not exist. Verify your path parameters or any identifiers used to fetch this resource.

    #### OAuthCredentialsNotFoundError

    When adding a connector integration that implements OAuth, both a `client_id` and `client_secret` must be provided before any authorizations can be performed. Verify the integration has been configured properly before continuing.

    #### IntegrationNotFoundError

    The requested connector integration could not be found associated to your `application_id`. Verify your `application_id` is correct, and that this connector has been added and configured for your application.

    #### ConnectionNotFoundError

    A valid connection could not be found associated to your `application_id`. Something _may_ have interrupted the authorization flow. You may need to start the connector authorization process again.

    #### ConnectionSettingsError

    The connector has required settings that were not supplied. Verify `connection.settings` contains all required settings for the connector to be callable.

    #### ConnectorNotFoundError

    A request was made for an unknown connector. Verify your `service_id` is spelled correctly, and that this connector is enabled for your provided `unified_api`.

    #### OAuthRedirectUriError

    A request was made either in a connector authorization flow, or attempting to revoke connector access without a valid `redirect_uri`. This is the url the user should be returned to on completion of process.

    #### OAuthInvalidStateError

    The state param is required and is used to ensure the outgoing authorization state has not been altered before the user is redirected back. It also contains required params needed to identify the connector being used. If this has been altered, the authorization will not succeed.

    #### OAuthCodeExchangeError

    When attempting to exchange the authorization code for an `access_token` during an OAuth flow, an error occurred. This may be temporary. You can reattempt authorization or contact our team to resolve the issue.

    #### OAuthConnectorError

    It seems something went wrong on the connector side. It's possible this connector is in `beta` or still under development. We've been notified and are working to fix this issue.

    #### MappingError

    There was an error attempting to retrieve the mapping for a given attribute. We've been notified and are working to fix this issue.

    #### ConnectorMappingNotFoundError

    It seems the implementation for this connector is incomplete. It's possible this connector is in `beta` or still under development. We've been notified and are working to fix this issue.

    #### ConnectorResponseMappingNotFoundError

    We were unable to retrieve the response mapping for this connector. It's possible this connector is in `beta` or still under development. We've been notified and are working to fix this issue.

    #### ConnectorOperationMappingNotFoundError

    Connector mapping has not been implemented for the requested operation. It's possible this connector is in `beta` or still under development. We've been notified and are working to fix this issue.

    #### ConnectorWorkflowMappingError

    The composite api calls required for this operation have not been mapped entirely. It's possible this connector is in `beta` or still under development. We've been notified and are working to fix this issue.

    #### ConnectorOperationUnsupportedError

    You're attempting a call that is not supported by the connector. It's likely this operation is supported by another connector, but we're unable to implement for this one.

    #### PaginationNotSupportedError

    Pagination is not yet supported for this connector, try removing limit and/or cursor from the query. It's possible this connector is in `beta` or still under development. We've been notified and are working to fix this issue.

    ## API Design

    ### API Styles and data formats

    #### REST API

    The API is organized around [REST](https://restfulapi.net/), providing simple and predictable URIs to access and modify objects. Requests support standard HTTP methods like GET, PUT, POST, and DELETE and standard status codes. JSON is returned by all API responses, including errors. In all API requests, you must set the content-type HTTP header to application/json. All API requests must be made over HTTPS. Calls made over HTTP will fail.

    ##### Available HTTP methods

    The Apideck API uses HTTP verbs to understand if you want to read (GET), delete (DELETE) or create (POST) an object. When your web application cannot do a POST or DELETE, we provide the ability to set the method through the query parameter \_method.

    ```
    POST /messages
    GET /messages
    GET /messages/{messageId}
    PATCH /messages/{messageId}
    DELETE /messages/{messageId}
    ```

    Response bodies are always UTF-8 encoded JSON objects, unless explicitly documented otherwise. For some endpoints and use cases we divert from REST to provide a better developer experience.

    ### Schema

    All API requests and response bodies adhere to a common JSON format representing individual items, collections of items, links to related items and additional meta data.

    ### Meta

    Meta data can be represented as a top level member named “meta”. Any information may be provided in the meta data. It’s most common use is to return the total number of records when requesting a collection of resources.

    ### Idempotence (upcoming)

    To prevent the creation of duplicate resources, every POST method (such as one that creates a consumer record) must specify a unique value for the X-Unique-Transaction-ID header name. Uniquely identifying each unique POST request ensures that the API processes a given request once and only once.

    Uniquely identifying new resource-creation POSTs is especially important when the outcome of a response is ambiguous because of a transient service interruption, such as a server-side timeout or network disruption. If a service interruption occurs, then the client application can safely retry the uniquely identified request without creating duplicate operations. (API endpoints that guarantee that every uniquely identified request is processed only once no matter how many times that uniquely identifiable request is made are described as idempotent.)

    ### Request IDs

    Each API request has an associated request identifier. You can find this value in the response headers, under Request-Id. You can also find request identifiers in the URLs of individual request logs in your Dashboard. If you need to contact us about a specific request, providing the request identifier will ensure the fastest possible resolution.

    ### Fixed field types

    #### Dates

    The dates returned by the API are all represented in UTC (ISO8601 format).

    This example `2019-11-14T00:55:31.820Z` is defined by the ISO 8601 standard. The T in the middle separates the year-month-day portion from the hour-minute-second portion. The Z on the end means UTC, that is, an offset-from-UTC of zero hours-minutes-seconds. The Z is pronounced "Zulu" per military/aviation tradition.

    The ISO 8601 standard is more modern. The formats are wisely designed to be easy to parse by machine as well as easy to read by humans across cultures.

    #### Prices and Currencies

    All prices returned by the API are represented as integer amounts in a currency’s smallest unit. For example, $5 USD would be returned as 500 (i.e, 500 cents).

    For zero-decimal currencies, amounts will still be provided as an integer but without the need to divide by 100. For example, an amount of ¥5 (JPY) would be returned as 5.

    All currency codes conform to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).

    ## Support

    If you have problems or need help with your case, you can always reach out to our Support.

  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: POS API
  version: 10.0.0
  x-apideck-api: pos
  x-apideck-sdk-support: true
  x-apisguru-categories:
    - developer_tools
  x-logo:
    url: https://developers.apideck.com/icon.png
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/apideck-libraries/openapi-specs/master/pos.yml
      version: "3.0"
  x-providerName: apideck.com
  x-serviceName: pos
  x-tags:
    - partner
externalDocs:
  description: Apideck Developer Docs
  url: https://developers.apideck.com
security:
  - apiKey: []
tags:
  - description: ""
    name: Orders
    x-apideck-model:
      $ref: "#/components/schemas/Order"
    x-apideck-resource-id: orders
  - description: ""
    name: Payments
    x-apideck-model:
      $ref: "#/components/schemas/PosPayment"
    x-apideck-resource-id: payments
  - description: ""
    name: Merchants
    x-apideck-model:
      $ref: "#/components/schemas/Merchant"
    x-apideck-resource-id: merchants
  - description: ""
    name: Locations
    x-apideck-model:
      $ref: "#/components/schemas/Location"
    x-apideck-resource-id: locations
  - description: ""
    name: Items
    x-apideck-model:
      $ref: "#/components/schemas/Item"
    x-apideck-resource-id: items
  - description: ""
    name: Modifiers
    x-apideck-model:
      $ref: "#/components/schemas/Modifier"
    x-apideck-resource-id: modifiers
  - description: ""
    name: Modifier Groups
    x-apideck-model:
      $ref: "#/components/schemas/ModifierGroup"
    x-apideck-resource-id: modifier-groups
  - description: ""
    name: Order Types
    x-apideck-model:
      $ref: "#/components/schemas/OrderType"
    x-apideck-resource-id: order-types
  - description: ""
    name: Tenders
    x-apideck-model:
      $ref: "#/components/schemas/Tender"
    x-apideck-resource-id: tenders
paths:
  /pos/items:
    get:
      description: List Items
      operationId: itemsAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetItemsResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Items
      tags:
        - Items
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.itemsAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Item
      operationId: itemsAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Item"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateItemResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Item
      tags:
        - Items
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              item: {
                id: '#cocoa',
                idempotency_key: 'random_string',
                name: 'Cocoa',
                description: 'Hot Chocolate',
                abbreviation: 'Ch',
                product_type: 'regular',
                price_amount: 10,
                pricing_type: 'fixed',
                price_currency: 'USD',
                cost: 2,
                tax_ids: ['12345', '67890'],
                is_revenue: false,
                use_default_tax_rates: false,
                absent_at_location_ids: ['12345', '67890'],
                present_at_all_locations: false,
                available_for_pickup: false,
                available_online: false,
                sku: '11910345',
                code: '11910345',
                categories: [
                  {
                    id: '12345',
                    name: 'Food',
                    image_ids: ['12345', '67890']
                  }
                ],
                options: [
                  {
                    id: '12345',
                    name: 'Option 1',
                    attribute_id: '12345'
                  }
                ],
                variations: [
                  {
                    id: '12345',
                    name: 'Food',
                    sku: '11910345',
                    item_id: '12345',
                    sequence: 0,
                    pricing_type: 'fixed',
                    price_amount: 10,
                    price_currency: 'USD',
                    image_ids: ['12345', '67890']
                  }
                ],
                modifier_groups: [
                  {
                    id: '12345'
                  }
                ],
                available: true,
                hidden: true,
                custom_mappings: {},
                deleted: true
              }
            }

            try {
              const { data } = await apideck.pos.itemsAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/items/{id}:
    delete:
      description: Delete Item
      operationId: itemsDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      responses:
        "200":
          $ref: "#/components/responses/DeleteItemResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Item
      tags:
        - Items
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.itemsDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Item
      operationId: itemsOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetItemResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Item
      tags:
        - Items
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.itemsOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: Update Item
      operationId: itemsUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Item"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdateItemResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Item
      tags:
        - Items
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              item: {
                id: '#cocoa',
                idempotency_key: 'random_string',
                name: 'Cocoa',
                description: 'Hot Chocolate',
                abbreviation: 'Ch',
                product_type: 'regular',
                price_amount: 10,
                pricing_type: 'fixed',
                price_currency: 'USD',
                cost: 2,
                tax_ids: ['12345', '67890'],
                is_revenue: false,
                use_default_tax_rates: false,
                absent_at_location_ids: ['12345', '67890'],
                present_at_all_locations: false,
                available_for_pickup: false,
                available_online: false,
                sku: '11910345',
                code: '11910345',
                categories: [
                  {
                    id: '12345',
                    name: 'Food',
                    image_ids: ['12345', '67890']
                  }
                ],
                options: [
                  {
                    id: '12345',
                    name: 'Option 1',
                    attribute_id: '12345'
                  }
                ],
                variations: [
                  {
                    id: '12345',
                    name: 'Food',
                    sku: '11910345',
                    item_id: '12345',
                    sequence: 0,
                    pricing_type: 'fixed',
                    price_amount: 10,
                    price_currency: 'USD',
                    image_ids: ['12345', '67890']
                  }
                ],
                modifier_groups: [
                  {
                    id: '12345'
                  }
                ],
                available: true,
                hidden: true,
                custom_mappings: {},
                deleted: true
              }
            }

            try {
              const { data } = await apideck.pos.itemsUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/locations:
    get:
      description: List Locations
      operationId: locationsAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetLocationsResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Locations
      tags:
        - Locations
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.locationsAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Location
      operationId: locationsAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Location"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateLocationResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Location
      tags:
        - Locations
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              location: {
                name: 'Dunkin Donuts',
                business_name: 'Dunkin Donuts LLC',
                address: {
                  id: '123',
                  type: 'primary',
                  string: '25 Spring Street, Blackburn, VIC 3130',
                  name: 'HQ US',
                  line1: 'Main street',
                  line2: 'apt #',
                  line3: 'Suite #',
                  line4: 'delivery instructions',
                  street_number: '25',
                  city: 'San Francisco',
                  state: 'CA',
                  postal_code: '94104',
                  country: 'US',
                  latitude: '40.759211',
                  longitude: '-73.984638',
                  county: 'Santa Clara',
                  contact_name: 'Elon Musk',
                  salutation: 'Mr',
                  phone_number: '111-111-1111',
                  fax: '122-111-1111',
                  email: 'elon@musk.com',
                  website: 'https://elonmusk.com',
                  notes: 'Address notes or delivery instructions.',
                  row_version: '1-12345'
                },
                status: 'active',
                merchant_id: '12345',
                currency: 'USD',
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.locationsAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/locations/{id}:
    delete:
      description: Delete Location
      operationId: locationsDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      responses:
        "200":
          $ref: "#/components/responses/DeleteLocationResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Location
      tags:
        - Locations
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.locationsDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Location
      operationId: locationsOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetLocationResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Location
      tags:
        - Locations
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.locationsOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: Update Location
      operationId: locationsUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Location"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdateLocationResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Location
      tags:
        - Locations
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              location: {
                name: 'Dunkin Donuts',
                business_name: 'Dunkin Donuts LLC',
                address: {
                  id: '123',
                  type: 'primary',
                  string: '25 Spring Street, Blackburn, VIC 3130',
                  name: 'HQ US',
                  line1: 'Main street',
                  line2: 'apt #',
                  line3: 'Suite #',
                  line4: 'delivery instructions',
                  street_number: '25',
                  city: 'San Francisco',
                  state: 'CA',
                  postal_code: '94104',
                  country: 'US',
                  latitude: '40.759211',
                  longitude: '-73.984638',
                  county: 'Santa Clara',
                  contact_name: 'Elon Musk',
                  salutation: 'Mr',
                  phone_number: '111-111-1111',
                  fax: '122-111-1111',
                  email: 'elon@musk.com',
                  website: 'https://elonmusk.com',
                  notes: 'Address notes or delivery instructions.',
                  row_version: '1-12345'
                },
                status: 'active',
                merchant_id: '12345',
                currency: 'USD',
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.locationsUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/merchants:
    get:
      description: List Merchants
      operationId: merchantsAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetMerchantsResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Merchants
      tags:
        - Merchants
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.merchantsAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Merchant
      operationId: merchantsAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Merchant"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateMerchantResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Merchant
      tags:
        - Merchants
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              merchant: {
                name: 'Dunkin Donuts',
                address: {
                  id: '123',
                  type: 'primary',
                  string: '25 Spring Street, Blackburn, VIC 3130',
                  name: 'HQ US',
                  line1: 'Main street',
                  line2: 'apt #',
                  line3: 'Suite #',
                  line4: 'delivery instructions',
                  street_number: '25',
                  city: 'San Francisco',
                  state: 'CA',
                  postal_code: '94104',
                  country: 'US',
                  latitude: '40.759211',
                  longitude: '-73.984638',
                  county: 'Santa Clara',
                  contact_name: 'Elon Musk',
                  salutation: 'Mr',
                  phone_number: '111-111-1111',
                  fax: '122-111-1111',
                  email: 'elon@musk.com',
                  website: 'https://elonmusk.com',
                  notes: 'Address notes or delivery instructions.',
                  row_version: '1-12345'
                },
                owner_id: '12345',
                main_location_id: '12345',
                status: 'active',
                service_charges: [
                  {
                    name: 'Charge for delivery',
                    amount: 27500,
                    percentage: 12.5,
                    currency: 'USD',
                    active: true,
                    type: 'auto_gratuity'
                  }
                ],
                language: 'EN',
                currency: 'USD',
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.merchantsAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/merchants/{id}:
    delete:
      description: Delete Merchant
      operationId: merchantsDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      responses:
        "200":
          $ref: "#/components/responses/DeleteMerchantResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Merchant
      tags:
        - Merchants
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.merchantsDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Merchant
      operationId: merchantsOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetMerchantResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Merchant
      tags:
        - Merchants
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.merchantsOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: Update Merchant
      operationId: merchantsUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Merchant"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdateMerchantResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Merchant
      tags:
        - Merchants
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              merchant: {
                name: 'Dunkin Donuts',
                address: {
                  id: '123',
                  type: 'primary',
                  string: '25 Spring Street, Blackburn, VIC 3130',
                  name: 'HQ US',
                  line1: 'Main street',
                  line2: 'apt #',
                  line3: 'Suite #',
                  line4: 'delivery instructions',
                  street_number: '25',
                  city: 'San Francisco',
                  state: 'CA',
                  postal_code: '94104',
                  country: 'US',
                  latitude: '40.759211',
                  longitude: '-73.984638',
                  county: 'Santa Clara',
                  contact_name: 'Elon Musk',
                  salutation: 'Mr',
                  phone_number: '111-111-1111',
                  fax: '122-111-1111',
                  email: 'elon@musk.com',
                  website: 'https://elonmusk.com',
                  notes: 'Address notes or delivery instructions.',
                  row_version: '1-12345'
                },
                owner_id: '12345',
                main_location_id: '12345',
                status: 'active',
                service_charges: [
                  {
                    name: 'Charge for delivery',
                    amount: 27500,
                    percentage: 12.5,
                    currency: 'USD',
                    active: true,
                    type: 'auto_gratuity'
                  }
                ],
                language: 'EN',
                currency: 'USD',
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.merchantsUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/modifier-groups:
    get:
      description: List Modifier Groups
      operationId: modifierGroupsAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetModifierGroupsResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Modifier Groups
      tags:
        - Modifier Groups
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.modifierGroupsAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Modifier Group
      operationId: modifierGroupsAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ModifierGroup"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateModifierGroupResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Modifier Group
      tags:
        - Modifier Groups
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              modifierGroup: {
                name: 'Modifier',
                alternate_name: 'Modifier New',
                minimum_required: 1,
                maximum_allowed: 5,
                selection_type: 'single',
                present_at_all_locations: false,
                modifiers: [
                  {
                    id: '12345',
                    name: 'Modifier',
                    alternate_name: 'Modifier New',
                    price_amount: 10,
                    currency: 'USD',
                    available: true
                  }
                ],
                deleted: true,
                custom_mappings: {},
                row_version: '1-12345'
              }
            }

            try {
              const { data } = await apideck.pos.modifierGroupsAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/modifier-groups/{id}:
    delete:
      description: Delete Modifier Group
      operationId: modifierGroupsDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      responses:
        "200":
          $ref: "#/components/responses/DeleteModifierGroupResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Modifier Group
      tags:
        - Modifier Groups
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.modifierGroupsDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Modifier Group
      operationId: modifierGroupsOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetModifierGroupResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Modifier Group
      tags:
        - Modifier Groups
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.modifierGroupsOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: Update Modifier Group
      operationId: modifierGroupsUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ModifierGroup"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdateModifierGroupResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Modifier Group
      tags:
        - Modifier Groups
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              modifierGroup: {
                name: 'Modifier',
                alternate_name: 'Modifier New',
                minimum_required: 1,
                maximum_allowed: 5,
                selection_type: 'single',
                present_at_all_locations: false,
                modifiers: [
                  {
                    id: '12345',
                    name: 'Modifier',
                    alternate_name: 'Modifier New',
                    price_amount: 10,
                    currency: 'USD',
                    available: true
                  }
                ],
                deleted: true,
                custom_mappings: {},
                row_version: '1-12345'
              }
            }

            try {
              const { data } = await apideck.pos.modifierGroupsUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/modifiers:
    get:
      description: List Modifiers
      operationId: modifiersAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetModifiersResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Modifiers
      tags:
        - Modifiers
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.modifiersAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Modifier
      operationId: modifiersAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Modifier"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateModifierResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Modifier
      tags:
        - Modifiers
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              modifier: {
                idempotency_key: 'random_string',
                name: 'Modifier',
                alternate_name: 'Modifier New',
                price_amount: 10,
                currency: 'USD',
                modifier_group_id: '123',
                available: true,
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.modifiersAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/modifiers/{id}:
    delete:
      description: Delete Modifier
      operationId: modifiersDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/modifierGroupFilter"
      responses:
        "200":
          $ref: "#/components/responses/DeleteModifierResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Modifier
      tags:
        - Modifiers
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.modifiersDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Modifier
      operationId: modifiersOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/modifierGroupFilter"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetModifierResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Modifier
      tags:
        - Modifiers
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.modifiersOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: Update Modifier
      operationId: modifiersUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Modifier"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdateModifierResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Modifier
      tags:
        - Modifiers
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              modifier: {
                idempotency_key: 'random_string',
                name: 'Modifier',
                alternate_name: 'Modifier New',
                price_amount: 10,
                currency: 'USD',
                modifier_group_id: '123',
                available: true,
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.modifiersUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/order-types:
    get:
      description: List Order Types
      operationId: orderTypesAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetOrderTypesResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Order Types
      tags:
        - Order Types
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.orderTypesAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Order Type
      operationId: orderTypesAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OrderType"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateOrderTypeResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Order Type
      tags:
        - Order Types
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              orderType: {
                name: 'Default order type',
                default: true
              }
            }

            try {
              const { data } = await apideck.pos.orderTypesAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/order-types/{id}:
    delete:
      description: Delete Order Type
      operationId: orderTypesDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      responses:
        "200":
          $ref: "#/components/responses/DeleteOrderTypeResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Order Type
      tags:
        - Order Types
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.orderTypesDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Order Type
      operationId: orderTypesOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetOrderTypeResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Order Type
      tags:
        - Order Types
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.orderTypesOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: Update Order Type
      operationId: orderTypesUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OrderType"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdateOrderTypeResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Order Type
      tags:
        - Order Types
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              orderType: {
                name: 'Default order type',
                default: true
              }
            }

            try {
              const { data } = await apideck.pos.orderTypesUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/orders:
    get:
      description: List Orders
      operationId: ordersAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/locationId"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetOrdersResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Orders
      tags:
        - Orders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.ordersAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Order
      operationId: ordersAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Order"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateOrderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Order
      tags:
        - Orders
      x-apideck-api: pos
      x-apideck-gotchas:
        - connector: clover
          description: Clover doens't link customers on order creation, you need to update the order with the customer data.
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              order: {
                idempotency_key: 'random_string',
                order_number: '1F',
                order_date: '2022-08-12',
                closed_date: '2022-08-13',
                reference_id: 'my-order-001',
                status: 'open',
                payment_status: 'open',
                currency: 'USD',
                title: 'string',
                note: 'string',
                merchant_id: '12345',
                customer_id: '12345',
                employee_id: '12345',
                location_id: '12345',
                order_type_id: '12345',
                table: '1F',
                seat: '23F',
                total_amount: 275,
                total_tip: 700,
                total_tax: 275,
                total_discount: 300,
                total_refund: 0,
                total_service_charge: 0,
                refunded: false,
                customers: [
                  {
                    id: '12345',
                    first_name: 'Elon',
                    middle_name: 'D.',
                    last_name: 'Musk',
                    phone_numbers: [
                      {
                        id: '12345',
                        country_code: '1',
                        area_code: '323',
                        number: '111-111-1111',
                        extension: '105',
                        type: 'primary'
                      }
                    ],
                    emails: [
                      {
                        id: '123',
                        email: 'elon@musk.com',
                        type: 'primary'
                      }
                    ]
                  }
                ],
                fulfillments: [
                  {
                    id: '12345',
                    status: 'proposed',
                    type: 'shipment',
                    pickup_details: {
                      auto_complete_duration: 'P1W3D',
                      cancel_reason: 'Not hungry',
                      expires_at: '2016-09-04T23:59:33.123Z',
                      schedule_type: 'scheduled',
                      pickup_at: '2016-09-04T23:59:33.123Z',
                      pickup_window_duration: 'P1W3D',
                      prep_time_duration: 'P1W3D',
                      note: 'Pickup in the back.',
                      placed_at: '2016-09-04T23:59:33.123Z',
                      rejected_at: '2016-09-04T23:59:33.123Z',
                      ready_at: '2016-09-04T23:59:33.123Z',
                      expired_at: '2016-09-04T23:59:33.123Z',
                      picked_up_at: '2016-09-04T23:59:33.123Z',
                      canceled_at: '2016-09-04T23:59:33.123Z',
                      is_curbside_pickup: true,
                      curbside_pickup_details: {
                        curbside_details: 'string',
                        buyer_arrived_at: '2016-09-04T23:59:33.123Z'
                      },
                      recipient: {
                        customer_id: '12345',
                        display_name: 'Elon Musk',
                        address: [Object],
                        phone_number: [Object],
                        email: [Object]
                      }
                    },
                    shipment_details: {}
                  }
                ],
                line_items: [
                  {
                    name: 'New York Strip Steak',
                    item: {},
                    total_tax: 2000,
                    total_discount: 3000,
                    total_amount: 27500,
                    quantity: 1,
                    unit_price: 27500.5,
                    applied_taxes: [
                      {
                        tax_id: 'sales-tax',
                        amount: 27500,
                        currency: 'USD'
                      }
                    ],
                    applied_discounts: [
                      {
                        discount_id: '12345',
                        amount: 27500,
                        currency: 'USD'
                      }
                    ],
                    modifiers: [
                      {
                        id: '12345',
                        name: 'New York Strip Steak - no cheese',
                        amount: 27500,
                        currency: 'USD',
                        alternate_name: 'Modifier New',
                        modifier_group_id: '123'
                      }
                    ]
                  }
                ],
                payments: [
                  {
                    amount: 27500,
                    currency: 'USD'
                  }
                ],
                service_charges: [
                  {
                    name: 'Charge for delivery',
                    amount: 27500,
                    percentage: 12.5,
                    currency: 'USD',
                    active: true,
                    type: 'auto_gratuity'
                  }
                ],
                refunds: [
                  {
                    amount: 27500,
                    currency: 'USD',
                    reason: 'The reason for the refund being issued.',
                    status: 'pending'
                  }
                ],
                taxes: [
                  {
                    id: 'state-sales-tax',
                    name: 'State Sales Tax',
                    amount: 27500,
                    currency: 'USD',
                    percentage: 15,
                    scope: 'order',
                    type: 'unknown',
                    auto_applied: true
                  }
                ],
                discounts: [
                  {
                    name: '10% off',
                    type: 'percentage',
                    amount: 27500,
                    currency: 'USD',
                    scope: 'order'
                  }
                ],
                tenders: [
                  {
                    name: '10% off',
                    type: 'cash',
                    note: 'An optional note associated with the tender at the time of payment.',
                    amount: 27500,
                    percentage: 10,
                    currency: 'USD',
                    total_amount: 27.5,
                    total_tip: 7,
                    total_processing_fee: 0,
                    total_tax: 2.75,
                    total_discount: 3,
                    total_refund: 0,
                    total_service_charge: 0,
                    buyer_tendered_cash_amount: 27500,
                    change_back_cash_amount: 27500,
                    card: {
                      bin: '41111',
                      card_brand: 'visa',
                      card_type: 'credit',
                      prepaid_type: 'prepaid',
                      cardholder_name: 'John Doe',
                      customer_id: '12345',
                      merchant_id: '12345',
                      exp_month: 1,
                      exp_year: 2022,
                      fingerprint:
                        ' Intended as a POS-assigned identifier, based on the card number, to identify the card across multiple locations within a single application.',
                      last_4: 'The last 4 digits of the card number.',
                      enabled: true,
                      billing_address: {
                        id: '123',
                        type: 'primary',
                        string: '25 Spring Street, Blackburn, VIC 3130',
                        name: 'HQ US',
                        line1: 'Main street',
                        line2: 'apt #',
                        line3: 'Suite #',
                        line4: 'delivery instructions',
                        street_number: '25',
                        city: 'San Francisco',
                        state: 'CA',
                        postal_code: '94104',
                        country: 'US',
                        latitude: '40.759211',
                        longitude: '-73.984638',
                        county: 'Santa Clara',
                        contact_name: 'Elon Musk',
                        salutation: 'Mr',
                        phone_number: '111-111-1111',
                        fax: '122-111-1111',
                        email: 'elon@musk.com',
                        website: 'https://elonmusk.com',
                        notes: 'Address notes or delivery instructions.',
                        row_version: '1-12345'
                      },
                      reference_id: 'card-001',
                      version: '230320320320'
                    },
                    card_status: 'authorized',
                    card_entry_method: 'swiped'
                  }
                ],
                voided: false,
                custom_mappings: {},
                version: '230320320320'
              }
            }

            try {
              const { data } = await apideck.pos.ordersAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/orders/{id}:
    delete:
      description: Delete Order
      operationId: ordersDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      responses:
        "200":
          $ref: "#/components/responses/DeleteOrderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Order
      tags:
        - Orders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.ordersDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Order
      operationId: ordersOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetOrderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Order
      tags:
        - Orders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.ordersOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: |
        Updates an open order by adding, replacing, or deleting fields. Square-only: Orders with a `completed` or `canceled` status cannot be updated. To pay for an order, use the [payments endpoint](#tag/Payments).
      operationId: ordersUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Order"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdateOrderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Order
      tags:
        - Orders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              order: {
                idempotency_key: 'random_string',
                order_number: '1F',
                order_date: '2022-08-12',
                closed_date: '2022-08-13',
                reference_id: 'my-order-001',
                status: 'open',
                payment_status: 'open',
                currency: 'USD',
                title: 'string',
                note: 'string',
                merchant_id: '12345',
                customer_id: '12345',
                employee_id: '12345',
                location_id: '12345',
                order_type_id: '12345',
                table: '1F',
                seat: '23F',
                total_amount: 275,
                total_tip: 700,
                total_tax: 275,
                total_discount: 300,
                total_refund: 0,
                total_service_charge: 0,
                refunded: false,
                customers: [
                  {
                    id: '12345',
                    first_name: 'Elon',
                    middle_name: 'D.',
                    last_name: 'Musk',
                    phone_numbers: [
                      {
                        id: '12345',
                        country_code: '1',
                        area_code: '323',
                        number: '111-111-1111',
                        extension: '105',
                        type: 'primary'
                      }
                    ],
                    emails: [
                      {
                        id: '123',
                        email: 'elon@musk.com',
                        type: 'primary'
                      }
                    ]
                  }
                ],
                fulfillments: [
                  {
                    id: '12345',
                    status: 'proposed',
                    type: 'shipment',
                    pickup_details: {
                      auto_complete_duration: 'P1W3D',
                      cancel_reason: 'Not hungry',
                      expires_at: '2016-09-04T23:59:33.123Z',
                      schedule_type: 'scheduled',
                      pickup_at: '2016-09-04T23:59:33.123Z',
                      pickup_window_duration: 'P1W3D',
                      prep_time_duration: 'P1W3D',
                      note: 'Pickup in the back.',
                      placed_at: '2016-09-04T23:59:33.123Z',
                      rejected_at: '2016-09-04T23:59:33.123Z',
                      ready_at: '2016-09-04T23:59:33.123Z',
                      expired_at: '2016-09-04T23:59:33.123Z',
                      picked_up_at: '2016-09-04T23:59:33.123Z',
                      canceled_at: '2016-09-04T23:59:33.123Z',
                      is_curbside_pickup: true,
                      curbside_pickup_details: {
                        curbside_details: 'string',
                        buyer_arrived_at: '2016-09-04T23:59:33.123Z'
                      },
                      recipient: {
                        customer_id: '12345',
                        display_name: 'Elon Musk',
                        address: [Object],
                        phone_number: [Object],
                        email: [Object]
                      }
                    },
                    shipment_details: {}
                  }
                ],
                line_items: [
                  {
                    name: 'New York Strip Steak',
                    item: {},
                    total_tax: 2000,
                    total_discount: 3000,
                    total_amount: 27500,
                    quantity: 1,
                    unit_price: 27500.5,
                    applied_taxes: [
                      {
                        tax_id: 'sales-tax',
                        amount: 27500,
                        currency: 'USD'
                      }
                    ],
                    applied_discounts: [
                      {
                        discount_id: '12345',
                        amount: 27500,
                        currency: 'USD'
                      }
                    ],
                    modifiers: [
                      {
                        id: '12345',
                        name: 'New York Strip Steak - no cheese',
                        amount: 27500,
                        currency: 'USD',
                        alternate_name: 'Modifier New',
                        modifier_group_id: '123'
                      }
                    ]
                  }
                ],
                payments: [
                  {
                    amount: 27500,
                    currency: 'USD'
                  }
                ],
                service_charges: [
                  {
                    name: 'Charge for delivery',
                    amount: 27500,
                    percentage: 12.5,
                    currency: 'USD',
                    active: true,
                    type: 'auto_gratuity'
                  }
                ],
                refunds: [
                  {
                    amount: 27500,
                    currency: 'USD',
                    reason: 'The reason for the refund being issued.',
                    status: 'pending'
                  }
                ],
                taxes: [
                  {
                    id: 'state-sales-tax',
                    name: 'State Sales Tax',
                    amount: 27500,
                    currency: 'USD',
                    percentage: 15,
                    scope: 'order',
                    type: 'unknown',
                    auto_applied: true
                  }
                ],
                discounts: [
                  {
                    name: '10% off',
                    type: 'percentage',
                    amount: 27500,
                    currency: 'USD',
                    scope: 'order'
                  }
                ],
                tenders: [
                  {
                    name: '10% off',
                    type: 'cash',
                    note: 'An optional note associated with the tender at the time of payment.',
                    amount: 27500,
                    percentage: 10,
                    currency: 'USD',
                    total_amount: 27.5,
                    total_tip: 7,
                    total_processing_fee: 0,
                    total_tax: 2.75,
                    total_discount: 3,
                    total_refund: 0,
                    total_service_charge: 0,
                    buyer_tendered_cash_amount: 27500,
                    change_back_cash_amount: 27500,
                    card: {
                      bin: '41111',
                      card_brand: 'visa',
                      card_type: 'credit',
                      prepaid_type: 'prepaid',
                      cardholder_name: 'John Doe',
                      customer_id: '12345',
                      merchant_id: '12345',
                      exp_month: 1,
                      exp_year: 2022,
                      fingerprint:
                        ' Intended as a POS-assigned identifier, based on the card number, to identify the card across multiple locations within a single application.',
                      last_4: 'The last 4 digits of the card number.',
                      enabled: true,
                      billing_address: {
                        id: '123',
                        type: 'primary',
                        string: '25 Spring Street, Blackburn, VIC 3130',
                        name: 'HQ US',
                        line1: 'Main street',
                        line2: 'apt #',
                        line3: 'Suite #',
                        line4: 'delivery instructions',
                        street_number: '25',
                        city: 'San Francisco',
                        state: 'CA',
                        postal_code: '94104',
                        country: 'US',
                        latitude: '40.759211',
                        longitude: '-73.984638',
                        county: 'Santa Clara',
                        contact_name: 'Elon Musk',
                        salutation: 'Mr',
                        phone_number: '111-111-1111',
                        fax: '122-111-1111',
                        email: 'elon@musk.com',
                        website: 'https://elonmusk.com',
                        notes: 'Address notes or delivery instructions.',
                        row_version: '1-12345'
                      },
                      reference_id: 'card-001',
                      version: '230320320320'
                    },
                    card_status: 'authorized',
                    card_entry_method: 'swiped'
                  }
                ],
                voided: false,
                custom_mappings: {},
                version: '230320320320'
              }
            }

            try {
              const { data } = await apideck.pos.ordersUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/orders/{id}/pay:
    post:
      description: Pay Order
      operationId: ordersPay
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/fields"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Order"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateOrderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Pay Order
      tags:
        - Orders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              order: {
                idempotency_key: 'random_string',
                order_number: '1F',
                order_date: '2022-08-12',
                closed_date: '2022-08-13',
                reference_id: 'my-order-001',
                status: 'open',
                payment_status: 'open',
                currency: 'USD',
                title: 'string',
                note: 'string',
                merchant_id: '12345',
                customer_id: '12345',
                employee_id: '12345',
                location_id: '12345',
                order_type_id: '12345',
                table: '1F',
                seat: '23F',
                total_amount: 275,
                total_tip: 700,
                total_tax: 275,
                total_discount: 300,
                total_refund: 0,
                total_service_charge: 0,
                refunded: false,
                customers: [
                  {
                    id: '12345',
                    first_name: 'Elon',
                    middle_name: 'D.',
                    last_name: 'Musk',
                    phone_numbers: [
                      {
                        id: '12345',
                        country_code: '1',
                        area_code: '323',
                        number: '111-111-1111',
                        extension: '105',
                        type: 'primary'
                      }
                    ],
                    emails: [
                      {
                        id: '123',
                        email: 'elon@musk.com',
                        type: 'primary'
                      }
                    ]
                  }
                ],
                fulfillments: [
                  {
                    id: '12345',
                    status: 'proposed',
                    type: 'shipment',
                    pickup_details: {
                      auto_complete_duration: 'P1W3D',
                      cancel_reason: 'Not hungry',
                      expires_at: '2016-09-04T23:59:33.123Z',
                      schedule_type: 'scheduled',
                      pickup_at: '2016-09-04T23:59:33.123Z',
                      pickup_window_duration: 'P1W3D',
                      prep_time_duration: 'P1W3D',
                      note: 'Pickup in the back.',
                      placed_at: '2016-09-04T23:59:33.123Z',
                      rejected_at: '2016-09-04T23:59:33.123Z',
                      ready_at: '2016-09-04T23:59:33.123Z',
                      expired_at: '2016-09-04T23:59:33.123Z',
                      picked_up_at: '2016-09-04T23:59:33.123Z',
                      canceled_at: '2016-09-04T23:59:33.123Z',
                      is_curbside_pickup: true,
                      curbside_pickup_details: {
                        curbside_details: 'string',
                        buyer_arrived_at: '2016-09-04T23:59:33.123Z'
                      },
                      recipient: {
                        customer_id: '12345',
                        display_name: 'Elon Musk',
                        address: [Object],
                        phone_number: [Object],
                        email: [Object]
                      }
                    },
                    shipment_details: {}
                  }
                ],
                line_items: [
                  {
                    name: 'New York Strip Steak',
                    item: {},
                    total_tax: 2000,
                    total_discount: 3000,
                    total_amount: 27500,
                    quantity: 1,
                    unit_price: 27500.5,
                    applied_taxes: [
                      {
                        tax_id: 'sales-tax',
                        amount: 27500,
                        currency: 'USD'
                      }
                    ],
                    applied_discounts: [
                      {
                        discount_id: '12345',
                        amount: 27500,
                        currency: 'USD'
                      }
                    ],
                    modifiers: [
                      {
                        id: '12345',
                        name: 'New York Strip Steak - no cheese',
                        amount: 27500,
                        currency: 'USD',
                        alternate_name: 'Modifier New',
                        modifier_group_id: '123'
                      }
                    ]
                  }
                ],
                payments: [
                  {
                    amount: 27500,
                    currency: 'USD'
                  }
                ],
                service_charges: [
                  {
                    name: 'Charge for delivery',
                    amount: 27500,
                    percentage: 12.5,
                    currency: 'USD',
                    active: true,
                    type: 'auto_gratuity'
                  }
                ],
                refunds: [
                  {
                    amount: 27500,
                    currency: 'USD',
                    reason: 'The reason for the refund being issued.',
                    status: 'pending'
                  }
                ],
                taxes: [
                  {
                    id: 'state-sales-tax',
                    name: 'State Sales Tax',
                    amount: 27500,
                    currency: 'USD',
                    percentage: 15,
                    scope: 'order',
                    type: 'unknown',
                    auto_applied: true
                  }
                ],
                discounts: [
                  {
                    name: '10% off',
                    type: 'percentage',
                    amount: 27500,
                    currency: 'USD',
                    scope: 'order'
                  }
                ],
                tenders: [
                  {
                    name: '10% off',
                    type: 'cash',
                    note: 'An optional note associated with the tender at the time of payment.',
                    amount: 27500,
                    percentage: 10,
                    currency: 'USD',
                    total_amount: 27.5,
                    total_tip: 7,
                    total_processing_fee: 0,
                    total_tax: 2.75,
                    total_discount: 3,
                    total_refund: 0,
                    total_service_charge: 0,
                    buyer_tendered_cash_amount: 27500,
                    change_back_cash_amount: 27500,
                    card: {
                      bin: '41111',
                      card_brand: 'visa',
                      card_type: 'credit',
                      prepaid_type: 'prepaid',
                      cardholder_name: 'John Doe',
                      customer_id: '12345',
                      merchant_id: '12345',
                      exp_month: 1,
                      exp_year: 2022,
                      fingerprint:
                        ' Intended as a POS-assigned identifier, based on the card number, to identify the card across multiple locations within a single application.',
                      last_4: 'The last 4 digits of the card number.',
                      enabled: true,
                      billing_address: {
                        id: '123',
                        type: 'primary',
                        string: '25 Spring Street, Blackburn, VIC 3130',
                        name: 'HQ US',
                        line1: 'Main street',
                        line2: 'apt #',
                        line3: 'Suite #',
                        line4: 'delivery instructions',
                        street_number: '25',
                        city: 'San Francisco',
                        state: 'CA',
                        postal_code: '94104',
                        country: 'US',
                        latitude: '40.759211',
                        longitude: '-73.984638',
                        county: 'Santa Clara',
                        contact_name: 'Elon Musk',
                        salutation: 'Mr',
                        phone_number: '111-111-1111',
                        fax: '122-111-1111',
                        email: 'elon@musk.com',
                        website: 'https://elonmusk.com',
                        notes: 'Address notes or delivery instructions.',
                        row_version: '1-12345'
                      },
                      reference_id: 'card-001',
                      version: '230320320320'
                    },
                    card_status: 'authorized',
                    card_entry_method: 'swiped'
                  }
                ],
                voided: false,
                custom_mappings: {},
                version: '230320320320'
              }
            }

            try {
              const { data } = await apideck.pos.ordersPay(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/payments:
    get:
      description: List Payments
      operationId: paymentsAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetPosPaymentsResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Payments
      tags:
        - Payments
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.paymentsAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Payment
      operationId: paymentsAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PosPayment"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreatePosPaymentResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Payment
      tags:
        - Payments
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              payment: {
                source_id: '12345',
                order_id: '12345',
                merchant_id: '12345',
                customer_id: '12345',
                employee_id: '12345',
                location_id: '12345',
                device_id: '12345',
                tender_id: '12345',
                external_payment_id: '12345',
                idempotency_key: 'random_string',
                amount: 27.5,
                currency: 'USD',
                tip: 7,
                tax: 20,
                total: 37.5,
                app_fee: 3,
                change_back_cash_amount: 20,
                approved: 37.5,
                refunded: 37.5,
                processing_fees: [
                  {
                    amount: 1.05,
                    effective_at: '2020-09-30T07:43:32.000Z',
                    processing_type: 'initial'
                  }
                ],
                source: 'external',
                status: 'approved',
                cash: {
                  amount: null,
                  charge_back_amount: null
                },
                card_details: {
                  card: {
                    bin: '41111',
                    card_brand: 'visa',
                    card_type: 'credit',
                    prepaid_type: 'prepaid',
                    cardholder_name: 'John Doe',
                    customer_id: '12345',
                    merchant_id: '12345',
                    exp_month: 1,
                    exp_year: 2022,
                    fingerprint:
                      ' Intended as a POS-assigned identifier, based on the card number, to identify the card across multiple locations within a single application.',
                    last_4: 'The last 4 digits of the card number.',
                    enabled: true,
                    billing_address: {
                      id: '123',
                      type: 'primary',
                      string: '25 Spring Street, Blackburn, VIC 3130',
                      name: 'HQ US',
                      line1: 'Main street',
                      line2: 'apt #',
                      line3: 'Suite #',
                      line4: 'delivery instructions',
                      street_number: '25',
                      city: 'San Francisco',
                      state: 'CA',
                      postal_code: '94104',
                      country: 'US',
                      latitude: '40.759211',
                      longitude: '-73.984638',
                      county: 'Santa Clara',
                      contact_name: 'Elon Musk',
                      salutation: 'Mr',
                      phone_number: '111-111-1111',
                      fax: '122-111-1111',
                      email: 'elon@musk.com',
                      website: 'https://elonmusk.com',
                      notes: 'Address notes or delivery instructions.',
                      row_version: '1-12345'
                    },
                    reference_id: 'card-001',
                    version: '230320320320'
                  }
                },
                bank_account: {
                  bank_name: 'string',
                  transfer_type: 'string',
                  account_ownership_type: 'string',
                  fingerprint: 'string',
                  country: 'US',
                  statement_description: 'string',
                  ach_details: {
                    routing_number: 'string',
                    account_number_suffix: 'stri',
                    account_type: 'string'
                  }
                },
                wallet: {
                  status: 'authorized'
                },
                external_details: {
                  type: 'check',
                  source: 'string',
                  source_id: 'string',
                  source_fee_amount: 2.5
                },
                service_charges: [
                  {
                    name: 'Charge for delivery',
                    amount: 27500,
                    percentage: 12.5,
                    currency: 'USD',
                    active: true,
                    type: 'auto_gratuity'
                  }
                ],
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.paymentsAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/payments/{id}:
    delete:
      description: Delete Payment
      operationId: paymentsDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      responses:
        "200":
          $ref: "#/components/responses/DeletePosPaymentResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Payment
      tags:
        - Payments
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.paymentsDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Payment
      operationId: paymentsOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetPosPaymentResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Payment
      tags:
        - Payments
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.paymentsOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: Update Payment
      operationId: paymentsUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PosPayment"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdatePosPaymentResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Payment
      tags:
        - Payments
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              payment: {
                source_id: '12345',
                order_id: '12345',
                merchant_id: '12345',
                customer_id: '12345',
                employee_id: '12345',
                location_id: '12345',
                device_id: '12345',
                tender_id: '12345',
                external_payment_id: '12345',
                idempotency_key: 'random_string',
                amount: 27.5,
                currency: 'USD',
                tip: 7,
                tax: 20,
                total: 37.5,
                app_fee: 3,
                change_back_cash_amount: 20,
                approved: 37.5,
                refunded: 37.5,
                processing_fees: [
                  {
                    amount: 1.05,
                    effective_at: '2020-09-30T07:43:32.000Z',
                    processing_type: 'initial'
                  }
                ],
                source: 'external',
                status: 'approved',
                cash: {
                  amount: null,
                  charge_back_amount: null
                },
                card_details: {
                  card: {
                    bin: '41111',
                    card_brand: 'visa',
                    card_type: 'credit',
                    prepaid_type: 'prepaid',
                    cardholder_name: 'John Doe',
                    customer_id: '12345',
                    merchant_id: '12345',
                    exp_month: 1,
                    exp_year: 2022,
                    fingerprint:
                      ' Intended as a POS-assigned identifier, based on the card number, to identify the card across multiple locations within a single application.',
                    last_4: 'The last 4 digits of the card number.',
                    enabled: true,
                    billing_address: {
                      id: '123',
                      type: 'primary',
                      string: '25 Spring Street, Blackburn, VIC 3130',
                      name: 'HQ US',
                      line1: 'Main street',
                      line2: 'apt #',
                      line3: 'Suite #',
                      line4: 'delivery instructions',
                      street_number: '25',
                      city: 'San Francisco',
                      state: 'CA',
                      postal_code: '94104',
                      country: 'US',
                      latitude: '40.759211',
                      longitude: '-73.984638',
                      county: 'Santa Clara',
                      contact_name: 'Elon Musk',
                      salutation: 'Mr',
                      phone_number: '111-111-1111',
                      fax: '122-111-1111',
                      email: 'elon@musk.com',
                      website: 'https://elonmusk.com',
                      notes: 'Address notes or delivery instructions.',
                      row_version: '1-12345'
                    },
                    reference_id: 'card-001',
                    version: '230320320320'
                  }
                },
                bank_account: {
                  bank_name: 'string',
                  transfer_type: 'string',
                  account_ownership_type: 'string',
                  fingerprint: 'string',
                  country: 'US',
                  statement_description: 'string',
                  ach_details: {
                    routing_number: 'string',
                    account_number_suffix: 'stri',
                    account_type: 'string'
                  }
                },
                wallet: {
                  status: 'authorized'
                },
                external_details: {
                  type: 'check',
                  source: 'string',
                  source_id: 'string',
                  source_fee_amount: 2.5
                },
                service_charges: [
                  {
                    name: 'Charge for delivery',
                    amount: 27500,
                    percentage: 12.5,
                    currency: 'USD',
                    active: true,
                    type: 'auto_gratuity'
                  }
                ],
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.paymentsUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/tenders:
    get:
      description: List Tenders
      operationId: tendersAll
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/cursor"
        - $ref: "#/components/parameters/limit"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetTendersResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: List Tenders
      tags:
        - Tenders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.tendersAll({})
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    post:
      description: Create Tender
      operationId: tendersAdd
      parameters:
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Tender"
        required: true
      responses:
        "201":
          $ref: "#/components/responses/CreateTenderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Create Tender
      tags:
        - Tenders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              tender: {
                key: 'com.clover.tender.cash',
                label: 'Cash',
                active: true,
                hidden: true,
                editable: true,
                opens_cash_drawer: true,
                allows_tipping: true,
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.tendersAdd(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
  /pos/tenders/{id}:
    delete:
      description: Delete Tender
      operationId: tendersDelete
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      responses:
        "200":
          $ref: "#/components/responses/DeleteTenderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Delete Tender
      tags:
        - Tenders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.tendersDelete({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    get:
      description: Get Tender
      operationId: tendersOne
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
        - $ref: "#/components/parameters/fields"
      responses:
        "200":
          $ref: "#/components/responses/GetTenderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Get Tender
      tags:
        - Tenders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            try {
              const { data } = await apideck.pos.tendersOne({
                id: 'id_example'
              })
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
    patch:
      description: Update Tender
      operationId: tendersUpdate
      parameters:
        - $ref: "#/components/parameters/id"
        - $ref: "#/components/parameters/consumerId"
        - $ref: "#/components/parameters/applicationId"
        - $ref: "#/components/parameters/serviceId"
        - $ref: "#/components/parameters/raw"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Tender"
        required: true
      responses:
        "200":
          $ref: "#/components/responses/UpdateTenderResponse"
        "400":
          $ref: "#/components/responses/BadRequestResponse"
        "401":
          $ref: "#/components/responses/UnauthorizedResponse"
        "402":
          $ref: "#/components/responses/PaymentRequiredResponse"
        "404":
          $ref: "#/components/responses/NotFoundResponse"
        "422":
          $ref: "#/components/responses/UnprocessableResponse"
        default:
          $ref: "#/components/responses/UnexpectedErrorResponse"
      security:
        - apiKey: []
      summary: Update Tender
      tags:
        - Tenders
      x-apideck-api: pos
      x-codeSamples:
        - label: Node
          lang: TypeScript
          source: |
            import { Apideck } from '@apideck/node'

            const apideck = new Apideck({
              apiKey: 'REPLACE_WITH_API_KEY',
              appId: 'REPLACE_WITH_APP_ID',
              consumerId: 'REPLACE_WITH_CONSUMER_ID'
            })

            const params = {
              id: 'id_example',
              tender: {
                key: 'com.clover.tender.cash',
                label: 'Cash',
                active: true,
                hidden: true,
                editable: true,
                opens_cash_drawer: true,
                allows_tipping: true,
                custom_mappings: {}
              }
            }

            try {
              const { data } = await apideck.pos.tendersUpdate(params)
              console.log('API called successfully', data)
            } catch (error) {
              console.error(error)
            }
components:
  parameters:
    applicationId:
      description: The ID of your Unify application
      example: dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX
      in: header
      name: x-apideck-app-id
      required: true
      schema:
        type: string
    consumerId:
      description: ID of the consumer which you want to get or push data from
      in: header
      name: x-apideck-consumer-id
      required: true
      schema:
        type: string
    cursor:
      description: Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response.
      in: query
      name: cursor
      schema:
        nullable: true
        type: string
    fields:
      description: "The 'fields' parameter allows API users to specify the fields they want to include in the API response. If this parameter is not present, the API will return all available fields. If this parameter is present, only the fields specified in the comma-separated string will be included in the response. Nested properties can also be requested by using a dot notation. <br /><br />Example: `fields=name,email,addresses.city`<br /><br />In the example above, the response will only include the fields \"name\", \"email\" and \"addresses.city\". If any other fields are available, they will be excluded."
      example: id,updated_at
      in: query
      name: fields
      schema:
        nullable: true
        type: string
    id:
      description: ID of the record you are acting upon.
      in: path
      name: id
      required: true
      schema:
        type: string
    limit:
      description: Number of results to return. Minimum 1, Maximum 200, Default 20
      in: query
      name: limit
      schema:
        default: 20
        maximum: 200
        minimum: 1
        type: integer
    locationId:
      description: ID of the location.
      in: query
      name: location_id
      required: false
      schema:
        type: string
    merchantId:
      description: ID of the merchant.
      in: path
      name: merchantId
      required: true
      schema:
        type: string
    modifierGroupFilter:
      description: Apply filters
      explode: true
      in: query
      name: filter
      schema:
        $ref: "#/components/schemas/ModifierGroupFilter"
      style: deepObject
    raw:
      description: Include raw response. Mostly used for debugging purposes
      in: query
      name: raw
      schema:
        default: false
        type: boolean
    serviceId:
      description: Provide the service id you want to call (e.g., pipedrive). Only needed when a consumer has activated multiple integrations for a Unified API.
      in: header
      name: x-apideck-service-id
      schema:
        type: string
  responses:
    BadRequestResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/BadRequestResponse"
      description: Bad Request
    CreateItemResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateItemResponse"
      description: Items
    CreateLocationResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateLocationResponse"
      description: Locations
    CreateMerchantResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateMerchantResponse"
      description: Merchants
    CreateModifierGroupResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateModifierGroupResponse"
      description: ModifierGroups
    CreateModifierResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateModifierResponse"
      description: Modifiers
    CreateOrderResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateOrderResponse"
      description: Orders
    CreateOrderTypeResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateOrderTypeResponse"
      description: OrderTypes
    CreatePosPaymentResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreatePosPaymentResponse"
      description: PosPayments
    CreateTenderResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/CreateTenderResponse"
      description: Tenders
    DeleteItemResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeleteItemResponse"
      description: Items
    DeleteLocationResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeleteLocationResponse"
      description: Locations
    DeleteMerchantResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeleteMerchantResponse"
      description: Merchants
    DeleteModifierGroupResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeleteModifierGroupResponse"
      description: ModifierGroups
    DeleteModifierResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeleteModifierResponse"
      description: Modifiers
    DeleteOrderResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeleteOrderResponse"
      description: Orders
    DeleteOrderTypeResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeleteOrderTypeResponse"
      description: OrderTypes
    DeletePosPaymentResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeletePosPaymentResponse"
      description: PosPayments
    DeleteTenderResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/DeleteTenderResponse"
      description: Tenders
    GetItemResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetItemResponse"
      description: Items
    GetItemsResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetItemsResponse"
      description: Items
    GetLocationResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetLocationResponse"
      description: Locations
    GetLocationsResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetLocationsResponse"
      description: Locations
    GetMerchantResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetMerchantResponse"
      description: Merchants
    GetMerchantsResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetMerchantsResponse"
      description: Merchants
    GetModifierGroupResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetModifierGroupResponse"
      description: ModifierGroups
    GetModifierGroupsResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetModifierGroupsResponse"
      description: ModifierGroups
    GetModifierResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetModifierResponse"
      description: Modifiers
    GetModifiersResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetModifiersResponse"
      description: Modifiers
    GetOrderResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetOrderResponse"
      description: Orders
    GetOrderTypeResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetOrderTypeResponse"
      description: OrderTypes
    GetOrderTypesResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetOrderTypesResponse"
      description: OrderTypes
    GetOrdersResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetOrdersResponse"
      description: Orders
    GetPosPaymentResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetPosPaymentResponse"
      description: PosPayments
    GetPosPaymentsResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetPosPaymentsResponse"
      description: PosPayments
    GetTenderResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetTenderResponse"
      description: Tenders
    GetTendersResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/GetTendersResponse"
      description: Tenders
    Item:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Item"
      description: Items
    Location:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Location"
      description: Locations
    Merchant:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Merchant"
      description: Merchants
    Modifier:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Modifier"
      description: Modifiers
    ModifierGroup:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ModifierGroup"
      description: ModifierGroups
    NotFoundResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/NotFoundResponse"
      description: The specified resource was not found
    NotImplementedResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/NotImplementedResponse"
      description: Not Implemented
    Order:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Order"
      description: Orders
    OrderType:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OrderType"
      description: OrderTypes
    PaymentRequiredResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PaymentRequiredResponse"
      description: Payment Required
    PosPayment:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/PosPayment"
      description: PosPayments
    Tender:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Tender"
      description: Tenders
    TooManyRequestsResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/TooManyRequestsResponse"
      description: Too Many Requests
    UnauthorizedResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UnauthorizedResponse"
      description: Unauthorized
    UnexpectedErrorResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UnexpectedErrorResponse"
      description: Unexpected error
    UnprocessableResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UnprocessableResponse"
      description: Unprocessable
    UpdateItemResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateItemResponse"
      description: Items
    UpdateLocationResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateLocationResponse"
      description: Locations
    UpdateMerchantResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateMerchantResponse"
      description: Merchants
    UpdateModifierGroupResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateModifierGroupResponse"
      description: ModifierGroups
    UpdateModifierResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateModifierResponse"
      description: Modifiers
    UpdateOrderResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateOrderResponse"
      description: Orders
    UpdateOrderTypeResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateOrderTypeResponse"
      description: OrderTypes
    UpdatePosPaymentResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdatePosPaymentResponse"
      description: PosPayments
    UpdateTenderResponse:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/UpdateTenderResponse"
      description: Tenders
  schemas:
    Active:
      example: true
      nullable: true
      title: Is active
      type: boolean
    Address:
      additionalProperties: false
      properties:
        city:
          description: Name of city.
          example: San Francisco
          nullable: true
          type: string
        contact_name:
          description: Name of the contact person at the address
          example: Elon Musk
          nullable: true
          type: string
        country:
          description: country code according to ISO 3166-1 alpha-2.
          example: US
          nullable: true
          type: string
        county:
          description: Address field that holds a sublocality, such as a county
          example: Santa Clara
          nullable: true
          type: string
        email:
          description: Email address of the address
          example: elon@musk.com
          nullable: true
          type: string
        fax:
          description: Fax number of the address
          example: 122-111-1111
          nullable: true
          type: string
        id:
          description: Unique identifier for the address.
          example: "123"
          nullable: true
          type: string
        latitude:
          description: Latitude of the address
          example: "40.759211"
          nullable: true
          type: string
        line1:
          description: "Line 1 of the address e.g. number, street, suite, apt #, etc."
          example: Main street
          nullable: true
          type: string
        line2:
          description: Line 2 of the address
          example: "apt #"
          nullable: true
          type: string
        line3:
          description: Line 3 of the address
          example: "Suite #"
          nullable: true
          type: string
        line4:
          description: Line 4 of the address
          example: delivery instructions
          nullable: true
          type: string
        longitude:
          description: Longitude of the address
          example: "-73.984638"
          nullable: true
          type: string
        name:
          description: The name of the address.
          example: HQ US
          nullable: true
          type: string
        notes:
          description: Additional notes
          example: Address notes or delivery instructions.
          nullable: true
          title: Notes
          type: string
        phone_number:
          description: Phone number of the address
          example: 111-111-1111
          nullable: true
          type: string
        postal_code:
          description: Zip code or equivalent.
          example: "94104"
          nullable: true
          type: string
        row_version:
          $ref: "#/components/schemas/RowVersion"
        salutation:
          description: Salutation of the contact person at the address
          example: Mr
          nullable: true
          type: string
        state:
          description: Name of state
          example: CA
          nullable: true
          type: string
        street_number:
          description: Street number
          example: "25"
          nullable: true
          type: string
        string:
          description: The address string. Some APIs don't provide structured address data.
          example: 25 Spring Street, Blackburn, VIC 3130
          nullable: true
          type: string
        type:
          description: The type of address.
          enum:
            - primary
            - secondary
            - home
            - office
            - shipping
            - billing
            - other
          example: primary
          nullable: true
          type: string
          x-apideck-enum-id: addresses.type
        website:
          description: Website of the address
          example: https://elonmusk.com
          nullable: true
          type: string
      type: object
      x-apideck-schema-id: Address
      x-apideck-weights:
        city: high
        contact_name: edge-case
        country: high
        county: edge-case
        email: edge-case
        fax: edge-case
        id: edge-case
        latitude: low
        line1: high
        line2: low
        line3: edge-case
        line4: edge-case
        longitude: low
        name: edge-case
        phone_number: edge-case
        postal_code: high
        row_version: edge-case
        salutation: edge-case
        state: high
        street_number: low
        string: low
        type: critical
        website: edge-case
    Available:
      example: true
      nullable: true
      title: Available
      type: boolean
    BadRequestResponse:
      properties:
        detail:
          anyOf:
            - example: Missing property foobar
              type: string
            - example:
                missing:
                  - foobar: required
              type: object
          description: Contains parameter or domain specific information related to the error and why it occurred.
        error:
          description: Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231)
          example: Bad Request
          type: string
        message:
          description: A human-readable message providing more details about the error.
          example: Invalid Params
          type: string
        ref:
          description: Link to documentation of error type
          example: https://developers.apideck.com/errors#requestvalidationerror
          type: string
        status_code:
          description: HTTP status code
          example: 400
          type: number
        type_name:
          description: The type of error returned
          example: RequestValidationError
          type: string
      type: object
      x-apideck-schema-id: BadRequest
    CreateItemResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: Items
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreateItemResponse
    CreateLocationResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: Locations
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreateLocationResponse
    CreateMerchantResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: Merchants
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreateMerchantResponse
    CreateModifierGroupResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: ModifierGroups
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreateModifierGroupResponse
    CreateModifierResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: Modifiers
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreateModifierResponse
    CreateOrderResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: orders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreateOrderResponse
    CreateOrderTypeResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: OrderTypes
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreateOrderTypeResponse
    CreatePosPaymentResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: PosPayments
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreatePosPaymentResponse
    CreateTenderResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: add
          type: string
        resource:
          description: Unified API resource name
          example: Tenders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: CreateTenderResponse
    CreatedAt:
      description: The date and time when the object was created.
      example: 2020-09-30T07:43:32.000Z
      format: date-time
      nullable: true
      readOnly: true
      title: Created at (timestamp)
      type: string
    CreatedBy:
      description: The user who created the object.
      example: "12345"
      nullable: true
      readOnly: true
      title: Created by
      type: string
    Currency:
      description: Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
      enum:
        - UNKNOWN_CURRENCY
        - AED
        - AFN
        - ALL
        - AMD
        - ANG
        - AOA
        - ARS
        - AUD
        - AWG
        - AZN
        - BAM
        - BBD
        - BDT
        - BGN
        - BHD
        - BIF
        - BMD
        - BND
        - BOB
        - BOV
        - BRL
        - BSD
        - BTN
        - BWP
        - BYR
        - BZD
        - CAD
        - CDF
        - CHE
        - CHF
        - CHW
        - CLF
        - CLP
        - CNY
        - COP
        - COU
        - CRC
        - CUC
        - CUP
        - CVE
        - CZK
        - DJF
        - DKK
        - DOP
        - DZD
        - EGP
        - ERN
        - ETB
        - EUR
        - FJD
        - FKP
        - GBP
        - GEL
        - GHS
        - GIP
        - GMD
        - GNF
        - GTQ
        - GYD
        - HKD
        - HNL
        - HRK
        - HTG
        - HUF
        - IDR
        - ILS
        - INR
        - IQD
        - IRR
        - ISK
        - JMD
        - JOD
        - JPY
        - KES
        - KGS
        - KHR
        - KMF
        - KPW
        - KRW
        - KWD
        - KYD
        - KZT
        - LAK
        - LBP
        - LKR
        - LRD
        - LSL
        - LTL
        - LVL
        - LYD
        - MAD
        - MDL
        - MGA
        - MKD
        - MMK
        - MNT
        - MOP
        - MRO
        - MUR
        - MVR
        - MWK
        - MXN
        - MXV
        - MYR
        - MZN
        - NAD
        - NGN
        - NIO
        - NOK
        - NPR
        - NZD
        - OMR
        - PAB
        - PEN
        - PGK
        - PHP
        - PKR
        - PLN
        - PYG
        - QAR
        - RON
        - RSD
        - RUB
        - RWF
        - SAR
        - SBD
        - SCR
        - SDG
        - SEK
        - SGD
        - SHP
        - SLL
        - SOS
        - SRD
        - SSP
        - STD
        - SVC
        - SYP
        - SZL
        - THB
        - TJS
        - TMT
        - TND
        - TOP
        - TRC
        - TRY
        - TTD
        - TWD
        - TZS
        - UAH
        - UGX
        - USD
        - USN
        - USS
        - UYI
        - UYU
        - UZS
        - VEF
        - VND
        - VUV
        - WST
        - XAF
        - XAG
        - XAU
        - XBA
        - XBB
        - XBC
        - XBD
        - XCD
        - XDR
        - XOF
        - XPD
        - XPF
        - XPT
        - XTS
        - XXX
        - YER
        - ZAR
        - ZMK
        - ZMW
        - BTC
        - ETH
      example: USD
      nullable: true
      title: Currency
      type: string
      x-apideck-enum-coverage-ignore: true
      x-apideck-enum-id: currencies
      x-enum-elements:
        - description: Unknown currency
          name: UNKNOWN_CURRENCY
        - description: United Arab Emirates dirham
          name: AED
        - description: Afghan afghani
          name: AFN
        - description: Albanian lek
          name: ALL
        - description: Armenian dram
          name: AMD
        - description: Netherlands Antillean guilder
          name: ANG
        - description: Angolan kwanza
          name: AOA
        - description: Argentine peso
          name: ARS
        - description: Australian dollar
          name: AUD
        - description: Aruban florin
          name: AWG
        - description: Azerbaijani manat
          name: AZN
        - description: Bosnia and Herzegovina convertible mark
          name: BAM
        - description: Barbados dollar
          name: BBD
        - description: Bangladeshi taka
          name: BDT
        - description: Bulgarian lev
          name: BGN
        - description: Bahraini dinar
          name: BHD
        - description: Burundian franc
          name: BIF
        - description: Bermudian dollar
          name: BMD
        - description: Brunei dollar
          name: BND
        - description: Boliviano
          name: BOB
        - description: Bolivian Mvdol
          name: BOV
        - description: Brazilian real
          name: BRL
        - description: Bahamian dollar
          name: BSD
        - description: Bhutanese ngultrum
          name: BTN
        - description: Botswana pula
          name: BWP
        - description: Belarusian ruble
          name: BYR
        - description: Belize dollar
          name: BZD
        - description: Canadian dollar
          name: CAD
        - description: Congolese franc
          name: CDF
        - description: WIR Euro
          name: CHE
        - description: Swiss franc
          name: CHF
        - description: WIR Franc
          name: CHW
        - description: Unidad de Fomento
          name: CLF
        - description: Chilean peso
          name: CLP
        - description: Chinese yuan
          name: CNY
        - description: Colombian peso
          name: COP
        - description: Unidad de Valor Real
          name: COU
        - description: Costa Rican colon
          name: CRC
        - description: Cuban convertible peso
          name: CUC
        - description: Cuban peso
          name: CUP
        - description: Cape Verdean escudo
          name: CVE
        - description: Czech koruna
          name: CZK
        - description: Djiboutian franc
          name: DJF
        - description: Danish krone
          name: DKK
        - description: Dominican peso
          name: DOP
        - description: Algerian dinar
          name: DZD
        - description: Egyptian pound
          name: EGP
        - description: Eritrean nakfa
          name: ERN
        - description: Ethiopian birr
          name: ETB
        - description: Euro
          name: EUR
        - description: Fiji dollar
          name: FJD
        - description: Falkland Islands pound
          name: FKP
        - description: Pound sterling
          name: GBP
        - description: Georgian lari
          name: GEL
        - description: Ghanaian cedi
          name: GHS
        - description: Gibraltar pound
          name: GIP
        - description: Gambian dalasi
          name: GMD
        - description: Guinean franc
          name: GNF
        - description: Guatemalan quetzal
          name: GTQ
        - description: Guyanese dollar
          name: GYD
        - description: Hong Kong dollar
          name: HKD
        - description: Honduran lempira
          name: HNL
        - description: Croatian kuna
          name: HRK
        - description: Haitian gourde
          name: HTG
        - description: Hungarian forint
          name: HUF
        - description: Indonesian rupiah
          name: IDR
        - description: Israeli new shekel
          name: ILS
        - description: Indian rupee
          name: INR
        - description: Iraqi dinar
          name: IQD
        - description: Iranian rial
          name: IRR
        - description: Icelandic króna
          name: ISK
        - description: Jamaican dollar
          name: JMD
        - description: Jordanian dinar
          name: JOD
        - description: Japanese yen
          name: JPY
        - description: Kenyan shilling
          name: KES
        - description: Kyrgyzstani som
          name: KGS
        - description: Cambodian riel
          name: KHR
        - description: Comoro franc
          name: KMF
        - description: North Korean won
          name: KPW
        - description: South Korean won
          name: KRW
        - description: Kuwaiti dinar
          name: KWD
        - description: Cayman Islands dollar
          name: KYD
        - description: Kazakhstani tenge
          name: KZT
        - description: Lao kip
          name: LAK
        - description: Lebanese pound
          name: LBP
        - description: Sri Lankan rupee
          name: LKR
        - description: Liberian dollar
          name: LRD
        - description: Lesotho loti
          name: LSL
        - description: Lithuanian litas
          name: LTL
        - description: Latvian lats
          name: LVL
        - description: Libyan dinar
          name: LYD
        - description: Moroccan dirham
          name: MAD
        - description: Moldovan leu
          name: MDL
        - description: Malagasy ariary
          name: MGA
        - description: Macedonian denar
          name: MKD
        - description: Myanmar kyat
          name: MMK
        - description: Mongolian tögrög
          name: MNT
        - description: Macanese pataca
          name: MOP
        - description: Mauritanian ouguiya
          name: MRO
        - description: Mauritian rupee
          name: MUR
        - description: Maldivian rufiyaa
          name: MVR
        - description: Malawian kwacha
          name: MWK
        - description: Mexican peso
          name: MXN
        - description: Mexican Unidad de Inversion
          name: MXV
        - description: Malaysian ringgit
          name: MYR
        - description: Mozambican metical
          name: MZN
        - description: Namibian dollar
          name: NAD
        - description: Nigerian naira
          name: NGN
        - description: Nicaraguan córdoba
          name: NIO
        - description: Norwegian krone
          name: NOK
        - description: Nepalese rupee
          name: NPR
        - description: New Zealand dollar
          name: NZD
        - description: Omani rial
          name: OMR
        - description: Panamanian balboa
          name: PAB
        - description: Peruvian sol
          name: PEN
        - description: Papua New Guinean kina
          name: PGK
        - description: Philippine peso
          name: PHP
        - description: Pakistani rupee
          name: PKR
        - description: Polish złoty
          name: PLN
        - description: Paraguayan guaraní
          name: PYG
        - description: Qatari riyal
          name: QAR
        - description: Romanian leu
          name: RON
        - description: Serbian dinar
          name: RSD
        - description: Russian ruble
          name: RUB
        - description: Rwandan franc
          name: RWF
        - description: Saudi riyal
          name: SAR
        - description: Solomon Islands dollar
          name: SBD
        - description: Seychelles rupee
          name: SCR
        - description: Sudanese pound
          name: SDG
        - description: Swedish krona
          name: SEK
        - description: Singapore dollar
          name: SGD
        - description: Saint Helena pound
          name: SHP
        - description: Sierra Leonean leone
          name: SLL
        - description: Somali shilling
          name: SOS
        - description: Surinamese dollar
          name: SRD
        - description: South Sudanese pound
          name: SSP
        - description: São Tomé and Príncipe dobra
          name: STD
        - description: Salvadoran colón
          name: SVC
        - description: Syrian pound
          name: SYP
        - description: Swazi lilangeni
          name: SZL
        - description: Thai baht
          name: THB
        - description: Tajikstani somoni
          name: TJS
        - description: Turkmenistan manat
          name: TMT
        - description: Tunisian dinar
          name: TND
        - description: Tongan pa'anga
          name: TOP
        - description: Turkish lira
          name: TRY
        - description: Trinidad and Tobago dollar
          name: TTD
        - description: New Taiwan dollar
          name: TWD
        - description: Tanzanian shilling
          name: TZS
        - description: Ukrainian hryvnia
          name: UAH
        - description: Ugandan shilling
          name: UGX
        - description: United States dollar
          name: USD
        - description: United States dollar (next day)
          name: USN
        - description: United States dollar (same day)
          name: USS
        - description: Uruguay Peso en Unidedades Indexadas
          name: UYI
        - description: Uruguyan peso
          name: UYU
        - description: Uzbekistan som
          name: UZS
        - description: Venezuelan bolívar soberano
          name: VEF
        - description: Vietnamese đồng
          name: VND
        - description: Vanuatu vatu
          name: VUV
        - description: Samoan tala
          name: WST
        - description: CFA franc BEAC
          name: XAF
        - description: Silver
          name: XAG
        - description: Gold
          name: XAU
        - description: European Composite Unit
          name: XBA
        - description: European Monetary Unit
          name: XBB
        - description: European Unit of Account 9
          name: XBC
        - description: European Unit of Account 17
          name: XBD
        - description: East Caribbean dollar
          name: XCD
        - description: Special drawing rights (International Monetary Fund)
          name: XDR
        - description: CFA franc BCEAO
          name: XOF
        - description: Palladium
          name: XPD
        - description: CFP franc
          name: XPF
        - description: Platinum
          name: XPT
        - description: Code reserved for testing
          name: XTS
        - description: No currency
          name: XXX
        - description: Yemeni rial
          name: YER
        - description: South African rand
          name: ZAR
        - description: Zambian kwacha
          name: ZMK
        - description: Zambian kwacha
          name: ZMW
        - description: Bitcoin
          name: BTC
        - description: Ether
          name: ETH
    CustomField:
      additionalProperties: false
      properties:
        description:
          description: More information about the custom field
          example: Employee Level
          nullable: true
          title: Description
          type: string
        id:
          description: Unique identifier for the custom field.
          example: "2389328923893298"
          nullable: true
          title: ID
          type: string
        name:
          description: Name of the custom field.
          example: employee_level
          nullable: true
          title: Name
          type: string
        value:
          anyOf:
            - example: Uses Salesforce and Marketo
              nullable: true
              type: string
            - example: 10
              nullable: true
              type: number
            - example: true
              nullable: true
              type: boolean
            - example:
                foo: bar
              nullable: true
              type: object
            - items:
                type: string
              type: array
            - items:
                type: object
              type: array
      required:
        - id
      type: object
      x-apideck-schema-id: CustomField
      x-apideck-weights:
        description: edge-case
        id: critical
        name: medium
        value: critical
    CustomMappings:
      description: When custom mappings are configured on the resource, the result is included here.
      nullable: true
      type: object
      x-apideck-schema-id: CustomMappings
    DeleteItemResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: Items
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeleteItemResponse
    DeleteLocationResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: Locations
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeleteLocationResponse
    DeleteMerchantResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: Merchants
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeleteMerchantResponse
    DeleteModifierGroupResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: ModifierGroups
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeleteModifierGroupResponse
    DeleteModifierResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: Modifiers
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeleteModifierResponse
    DeleteOrderResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: orders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeleteOrderResponse
    DeleteOrderTypeResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: OrderTypes
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeleteOrderTypeResponse
    DeletePosPaymentResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: PosPayments
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeletePosPaymentResponse
    DeleteTenderResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: delete
          type: string
        resource:
          description: Unified API resource name
          example: Tenders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: DeleteTenderResponse
    Deleted:
      description: Flag to indicate if the object is deleted.
      example: true
      nullable: true
      title: Deleted
      type: boolean
    Email:
      additionalProperties: false
      properties:
        email:
          description: Email address
          example: elon@musk.com
          format: email
          minLength: 1
          nullable: true
          type: string
        id:
          description: Unique identifier for the email address
          example: "123"
          nullable: true
          type: string
        type:
          description: Email type
          enum:
            - primary
            - secondary
            - work
            - personal
            - billing
            - other
          example: primary
          nullable: true
          type: string
          x-apideck-enum-id: emails.type
      required:
        - email
      type: object
      x-apideck-schema-id: Email
      x-apideck-weights:
        email: critical
        id: edge-case
        type: critical
    GetItemResponse:
      properties:
        data:
          $ref: "#/components/schemas/Item"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: Items
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetItemResponse
    GetItemsResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/Item"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: Items
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetItemsResponse
    GetLocationResponse:
      properties:
        data:
          $ref: "#/components/schemas/Location"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: Locations
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetLocationResponse
    GetLocationsResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/Location"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: Locations
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetLocationsResponse
    GetMerchantResponse:
      properties:
        data:
          $ref: "#/components/schemas/Merchant"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: Merchants
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetMerchantResponse
    GetMerchantsResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/Merchant"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: Merchants
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetMerchantsResponse
    GetModifierGroupResponse:
      properties:
        data:
          $ref: "#/components/schemas/ModifierGroup"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: ModifierGroups
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetModifierGroupResponse
    GetModifierGroupsResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/ModifierGroup"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: ModifierGroups
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetModifierGroupsResponse
    GetModifierResponse:
      properties:
        data:
          $ref: "#/components/schemas/Modifier"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: Modifiers
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetModifierResponse
    GetModifiersResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/Modifier"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: Modifiers
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetModifiersResponse
    GetOrderResponse:
      properties:
        data:
          $ref: "#/components/schemas/Order"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: orders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetOrderResponse
    GetOrderTypeResponse:
      properties:
        data:
          $ref: "#/components/schemas/OrderType"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: OrderTypes
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetOrderTypeResponse
    GetOrderTypesResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/OrderType"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: OrderTypes
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetOrderTypesResponse
    GetOrdersResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/Order"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: orders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetOrdersResponse
    GetPosPaymentResponse:
      properties:
        data:
          $ref: "#/components/schemas/PosPayment"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: PosPayments
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetPosPaymentResponse
    GetPosPaymentsResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/PosPayment"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: PosPayments
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetPosPaymentsResponse
    GetTenderResponse:
      properties:
        data:
          $ref: "#/components/schemas/Tender"
        operation:
          description: Operation performed
          example: one
          type: string
        resource:
          description: Unified API resource name
          example: Tenders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetTenderResponse
    GetTendersResponse:
      properties:
        data:
          items:
            $ref: "#/components/schemas/Tender"
          type: array
        links:
          $ref: "#/components/schemas/Links"
        meta:
          $ref: "#/components/schemas/Meta"
        operation:
          description: Operation performed
          example: all
          type: string
        resource:
          description: Unified API resource name
          example: Tenders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: GetTendersResponse
    Hidden:
      example: true
      nullable: true
      title: Hidden
      type: boolean
    Id:
      description: A unique identifier for an object.
      example: "12345"
      readOnly: true
      title: ID
      type: string
    IdempotencyKey:
      description: A value you specify that uniquely identifies this request among requests you have sent.
      example: random_string
      maxLength: 45
      type: string
    Item:
      additionalProperties: false
      properties:
        abbreviation:
          example: Ch
          title: Abbreviation
          type: string
        absent_at_location_ids:
          description: A list of locations where the object is not present, even if present_at_all_locations is true. This can include locations that are deactivated.
          example:
            - "12345"
            - "67890"
          items:
            type: string
          type: array
        available:
          $ref: "#/components/schemas/Available"
        available_for_pickup:
          example: false
          title: If true, the item can be added to pickup orders from the merchant's online store.
          type: boolean
        available_online:
          example: false
          title: If true, the item can be added to shipping orders from the merchant's online store.
          type: boolean
        categories:
          example:
            - id: "12345"
              image_ids:
                - "12345"
                - "67890"
              name: Food
          items:
            properties:
              id:
                $ref: "#/components/schemas/Id"
              image_ids:
                items:
                  $ref: "#/components/schemas/Id"
                type: array
              name:
                type: string
            x-apideck-weights:
              id: medium
              image_ids: medium
              name: medium
          title: Categories
          type: array
        code:
          description: Product code, e.g. UPC or EAN
          example: "11910345"
          title: SKU
          type: string
        cost:
          example: 2
          title: Cost
          type: number
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        custom_mappings:
          $ref: "#/components/schemas/CustomMappings"
        deleted:
          $ref: "#/components/schemas/Deleted"
        description:
          example: Hot Chocolate
          title: Description
          type: string
        hidden:
          $ref: "#/components/schemas/Hidden"
        id:
          example: "#cocoa"
          type: string
        idempotency_key:
          $ref: "#/components/schemas/IdempotencyKey"
        is_revenue:
          description: True if this item should be counted as revenue. For example, gift cards and donations would not be counted as revenue.
          example: false
          title: Is Revenue
          type: boolean
        modifier_groups:
          example:
            - id: "12345"
          items:
            properties:
              id:
                $ref: "#/components/schemas/Id"
            x-apideck-weights:
              id: medium
          title: Variations
          type: array
        name:
          example: Cocoa
          title: Name
          type: string
        options:
          description: List of options pertaining to this item's attribute variation
          items:
            properties:
              attribute_id:
                example: "12345"
                title: Attribute ID
                type: string
              id:
                example: "12345"
                type: string
              name:
                example: Option 1
                title: Name
                type: string
            x-apideck-weights:
              attribute_id: medium
              id: medium
              name: medium
          type: array
        present_at_all_locations:
          example: false
          title: Present at all locations
          type: boolean
        price_amount:
          example: 10
          title: Price amount
          type: number
        price_currency:
          $ref: "#/components/schemas/Currency"
        pricing_type:
          enum:
            - fixed
            - variable
            - per_unit
            - other
          example: fixed
          title: Pricing type
          type: string
          x-apideck-enum-id: items.pricing_type
        product_type:
          enum:
            - regular
            - other
          example: regular
          title: Product type
          type: string
          x-apideck-enum-id: items.product_type
        sku:
          description: SKU of the item
          example: "11910345"
          title: SKU
          type: string
        tax_ids:
          description: A list of Tax IDs for the product.
          example:
            - "12345"
            - "67890"
          items:
            type: string
          title: Tax IDs
          type: array
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
        use_default_tax_rates:
          example: false
          title: Use default tax rates
          type: boolean
        variations:
          example:
            - id: "12345"
              image_ids:
                - "12345"
                - "67890"
              item_id: "12345"
              name: Food
              price_amount: 10
              price_currency: USD
              pricing_type: fixed
              sequence: 0
              sku: "11910345"
          items:
            properties:
              created_at:
                $ref: "#/components/schemas/CreatedAt"
              id:
                $ref: "#/components/schemas/Id"
              item_id:
                $ref: "#/components/schemas/Id"
              name:
                example: Variation
                title: Name
                type: string
              present_at_all_locations:
                example: false
                title: Present at all locations
                type: boolean
              price_amount:
                example: 10
                title: Price amount
                type: number
              price_currency:
                $ref: "#/components/schemas/Currency"
              pricing_type:
                enum:
                  - fixed
                  - variable
                  - other
                example: fixed
                title: Pricing type
                type: string
                x-apideck-enum-id: items.pricing_type
              sequence:
                $ref: "#/components/schemas/Sequence"
              sku:
                example: "11910345"
                title: SKU
                type: string
              stockable:
                example: false
                title: Stockable
                type: boolean
              updated_at:
                $ref: "#/components/schemas/UpdatedAt"
              version:
                $ref: "#/components/schemas/UpdatedBy"
            x-apideck-weights:
              created_at: medium
              id: medium
              item_id: medium
              name: medium
              present_at_all_locations: medium
              price_amount: medium
              price_currency: medium
              pricing_type: medium
              sequence: medium
              sku: medium
              stockable: medium
              updated_at: medium
              version: medium
          title: Variations
          type: array
        version:
          $ref: "#/components/schemas/UpdatedBy"
      required:
        - name
      type: object
      x-apideck-schema-id: Item
      x-apideck-weights:
        abbreviation: low
        absent_at_location_ids: edge-case
        available: high
        available_for_pickup: edge-case
        available_online: edge-case
        categories: low
        code: high
        cost: medium
        created_at: medium
        created_by: edge-case
        deleted: medium
        description: medium
        hidden: medium
        id: critical
        idempotency_key: medium
        modifier_groups: low
        name: critical
        options: low
        present_at_all_locations: low
        price_amount: high
        price_currency: high
        pricing_type: high
        product_type: high
        sku: high
        tax_ids: medium
        updated_at: medium
        updated_by: edge-case
        variations: low
        version: medium
    Links:
      description: Links to navigate to previous or next pages through the API
      properties:
        current:
          description: Link to navigate to the current page through the API
          example: https://unify.apideck.com/crm/companies
          type: string
        next:
          description: Link to navigate to the previous page through the API
          example: https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM
          nullable: true
          type: string
        previous:
          description: Link to navigate to the previous page through the API
          example: https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D
          nullable: true
          type: string
      type: object
      x-apideck-schema-id: Links
    Location:
      additionalProperties: false
      properties:
        address:
          $ref: "#/components/schemas/Address"
        business_name:
          description: The business name of the location
          example: Dunkin Donuts LLC
          nullable: true
          title: name
          type: string
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        currency:
          $ref: "#/components/schemas/Currency"
        custom_mappings:
          $ref: "#/components/schemas/CustomMappings"
        id:
          $ref: "#/components/schemas/Id"
        merchant_id:
          example: "12345"
          type: string
        name:
          description: The name of the location
          example: Dunkin Donuts
          nullable: true
          title: name
          type: string
        status:
          description: Status of this location.
          enum:
            - active
            - inactive
            - other
          example: active
          nullable: true
          title: Status
          type: string
          x-apideck-enum-id: locations.status
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
      type: object
      x-apideck-schema-id: Location
      x-apideck-weights:
        address: high
        business_name: high
        created_at: medium
        created_by: edge-case
        currency: high
        id: critical
        merchant_id: high
        name: critical
        status: high
        updated_at: medium
        updated_by: edge-case
    Merchant:
      additionalProperties: false
      properties:
        address:
          $ref: "#/components/schemas/Address"
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        currency:
          $ref: "#/components/schemas/Currency"
        custom_mappings:
          $ref: "#/components/schemas/CustomMappings"
        id:
          $ref: "#/components/schemas/Id"
        language:
          description: language code according to ISO 639-1. For the United States - EN
          example: EN
          nullable: true
          type: string
        main_location_id:
          description: The main location ID of the merchant
          example: "12345"
          nullable: true
          title: Main location ID
          type: string
        name:
          description: The name of the merchant
          example: Dunkin Donuts
          nullable: true
          title: name
          type: string
        owner_id:
          example: "12345"
          title: Owner ID
          type: string
        service_charges:
          items:
            $ref: "#/components/schemas/ServiceCharge"
          type: array
        status:
          description: Status of this merchant.
          enum:
            - active
            - inactive
            - other
          example: active
          nullable: true
          title: Status
          type: string
          x-apideck-enum-id: merchants.status
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
      type: object
      x-apideck-schema-id: Merchant
      x-apideck-weights:
        address: medium
        created_at: medium
        created_by: edge-case
        currency: medium
        id: critical
        language: medium
        main_location_id: medium
        name: critical
        owner_id: medium
        status: high
        updated_at: medium
        updated_by: edge-case
    Meta:
      description: Response metadata
      properties:
        cursors:
          description: Cursors to navigate to previous or next pages through the API
          properties:
            current:
              description: Cursor to navigate to the current page of results through the API
              example: em9oby1jcm06OnBhZ2U6OjI=
              nullable: true
              type: string
            next:
              description: Cursor to navigate to the next page of results through the API
              example: em9oby1jcm06OnBhZ2U6OjM=
              nullable: true
              type: string
            previous:
              description: Cursor to navigate to the previous page of results through the API
              example: em9oby1jcm06OnBhZ2U6OjE=
              nullable: true
              type: string
          type: object
        items_on_page:
          description: Number of items returned in the data property of the response
          example: 50
          type: integer
      type: object
      x-apideck-schema-id: Meta
    Modifier:
      additionalProperties: false
      properties:
        alternate_name:
          example: Modifier New
          title: Alternate name
          type: string
        available:
          $ref: "#/components/schemas/Available"
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        currency:
          $ref: "#/components/schemas/Currency"
        custom_mappings:
          $ref: "#/components/schemas/CustomMappings"
        id:
          $ref: "#/components/schemas/Id"
        idempotency_key:
          $ref: "#/components/schemas/IdempotencyKey"
        modifier_group_id:
          example: "123"
          title: Modifier group ID
          type: string
        name:
          example: Modifier
          title: Name
          type: string
        price_amount:
          example: 10
          title: Price amount
          type: number
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
      required:
        - name
        - modifier_group_id
      type: object
      x-apideck-schema-id: Modifier
      x-apideck-weights:
        alternate_name: edge-case
        available: high
        created_at: medium
        created_by: edge-case
        currency: high
        id: critical
        modifier_group_id: medium
        name: critical
        price_amount: high
        updated_at: medium
        updated_by: edge-case
    ModifierGroup:
      additionalProperties: false
      properties:
        alternate_name:
          example: Modifier New
          title: Alternate name
          type: string
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        custom_mappings:
          $ref: "#/components/schemas/CustomMappings"
        deleted:
          $ref: "#/components/schemas/Deleted"
        id:
          $ref: "#/components/schemas/Id"
        maximum_allowed:
          example: 5
          title: Maximum allowed
          type: integer
        minimum_required:
          example: 1
          title: Minimum required
          type: integer
        modifiers:
          items:
            properties:
              alternate_name:
                example: Modifier New
                title: Alternate name
                type: string
              available:
                $ref: "#/components/schemas/Available"
              currency:
                $ref: "#/components/schemas/Currency"
              id:
                example: "12345"
                title: ID
                type: string
              name:
                example: Modifier
                title: Name
                type: string
              price_amount:
                example: 10
                title: Price amount
                type: number
            x-apideck-weights:
              alternate_name: medium
              available: medium
              currency: medium
              id: medium
              name: medium
              price_amount: medium
          type: array
        name:
          example: Modifier
          title: Name
          type: string
        present_at_all_locations:
          example: false
          title: Present at all locations
          type: boolean
        row_version:
          $ref: "#/components/schemas/RowVersion"
        selection_type:
          enum:
            - single
            - multiple
          example: single
          title: Indicates whether multiple options from the modifier group can be applied to a single or multiple modifiers
          type: string
          x-apideck-enum-id: modifier-groups.selection_type
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
      type: object
      x-apideck-schema-id: ModifierGroup
      x-apideck-weights:
        alternate_name: low
        created_at: medium
        created_by: edge-case
        deleted: medium
        id: critical
        maximum_allowed: low
        minimum_required: low
        modifiers: high
        name: critical
        present_at_all_locations: low
        row_version: edge-case
        selection_type: medium
        updated_at: medium
        updated_by: edge-case
    ModifierGroupFilter:
      additionalProperties: false
      example:
        modifier_group_id: "1234"
      properties:
        modifier_group_id:
          description: Id of the job to filter on
          example: "1234"
          type: string
      type: object
      x-apideck-schema-id: ModifierGroupFilter
    NotFoundResponse:
      properties:
        detail:
          anyOf:
            - example: "Could not find widget with id: '123'"
              type: string
            - example:
                not_found:
                  entity: widget
                  id: "123"
              type: object
          description: Contains parameter or domain specific information related to the error and why it occurred.
        error:
          description: Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231)
          example: Not Found
          type: string
        message:
          description: A human-readable message providing more details about the error.
          example: Unknown Widget
          type: string
        ref:
          description: Link to documentation of error type
          example: https://developers.apideck.com/errors#entitynotfounderror
          type: string
        status_code:
          description: HTTP status code
          example: 404
          type: number
        type_name:
          description: The type of error returned
          example: EntityNotFoundError
          type: string
      type: object
      x-apideck-schema-id: NotFound
    NotImplementedResponse:
      properties:
        detail:
          anyOf:
            - example: Failed to retrieve Widget tokenUrl from 'components.securitySchemes.OAuth2.flows'
              type: string
            - type: object
          description: Contains parameter or domain specific information related to the error and why it occurred.
        error:
          description: Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231)
          example: Not Implemented
          type: string
        message:
          description: A human-readable message providing more details about the error.
          example: Unmapped Attribute
          type: string
        ref:
          description: Link to documentation of error type
          example: https://developers.apideck.com/errors#mappingerror
          type: string
        status_code:
          description: HTTP status code
          example: 501
          type: number
        type_name:
          description: The type of error returned
          example: MappingError
          type: string
      type: object
      x-apideck-schema-id: NotImplemented
    Order:
      additionalProperties: false
      properties:
        closed_date:
          example: 2022-08-13
          format: date
          nullable: true
          type: string
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        currency:
          $ref: "#/components/schemas/Currency"
        custom_mappings:
          $ref: "#/components/schemas/CustomMappings"
        customer_id:
          example: "12345"
          type: string
        customers:
          items:
            properties:
              emails:
                items:
                  $ref: "#/components/schemas/Email"
                type: array
              first_name:
                example: Elon
                nullable: true
                type: string
              id:
                example: "12345"
                title: Customer ID
                type: string
              last_name:
                example: Musk
                nullable: true
                type: string
              middle_name:
                example: D.
                nullable: true
                type: string
              phone_numbers:
                items:
                  $ref: "#/components/schemas/PhoneNumber"
                type: array
            type: object
            x-apideck-weights:
              emails: medium
              first_name: medium
              id: medium
              last_name: medium
              middle_name: medium
              phone_numbers: medium
          type: array
        discounts:
          items:
            properties:
              amount:
                example: 27500
                title: Amount (in cents)
                type: integer
              currency:
                $ref: "#/components/schemas/Currency"
              id:
                $ref: "#/components/schemas/Id"
              name:
                example: 10% off
                type: string
              product_id:
                $ref: "#/components/schemas/Id"
              scope:
                enum:
                  - order
                  - line_item
                example: order
                type: string
                x-apideck-enum-id: orders.discounts.scope
              type:
                enum:
                  - percentage
                  - flat_fee
                example: percentage
                type: string
                x-apideck-enum-id: orders.discounts.type
            required:
              - type
            type: object
            x-apideck-weights:
              amount: medium
              currency: medium
              id: medium
              name: medium
              product_id: medium
              scope: medium
              type: medium
          type: array
        employee_id:
          example: "12345"
          type: string
        fulfillments:
          items:
            properties:
              id:
                example: "12345"
                type: string
              pickup_details:
                properties:
                  accepted_at:
                    example: 2020-09-30T07:43:32.000Z
                    format: date-time
                    nullable: true
                    readOnly: true
                    title: Accepted at (timestamp)
                    type: string
                  auto_complete_duration:
                    description: The duration of time after which an open and accepted pickup fulfillment is automatically moved to the COMPLETED state. The duration must be in RFC 3339 format (for example, 'P1W3D').
                    example: P1W3D
                    nullable: true
                    type: string
                  cancel_reason:
                    description: A description of why the pickup was canceled.
                    example: Not hungry
                    nullable: true
                    type: string
                  canceled_at:
                    description: |-
                      Indicating when the fulfillment was canceled. The timestamp must be in RFC 3339 format
                      (for example, "2016-09-04T23:59:33.123Z").
                    example: 2016-09-04T23:59:33.123Z
                    format: date-time
                    type: string
                  curbside_pickup_details:
                    description: Specific details for curbside pickup.
                    properties:
                      buyer_arrived_at:
                        description: |-
                          Indicating when the buyer arrived and is waiting for pickup. The timestamp must be in RFC 3339 format
                          (for example, "2016-09-04T23:59:33.123Z").
                        example: 2016-09-04T23:59:33.123Z
                        format: date-time
                        type: string
                      curbside_details:
                        description: Specific details for curbside pickup, such as parking number and vehicle model.
                        maxLength: 250
                        type: string
                    type: object
                    x-apideck-weights:
                      buyer_arrived_at: medium
                      curbside_details: medium
                  expired_at:
                    description: |-
                      Indicating when the fulfillment expired. The timestamp must be in RFC 3339 format
                      (for example, "2016-09-04T23:59:33.123Z").
                    example: 2016-09-04T23:59:33.123Z
                    format: date-time
                    type: string
                  expires_at:
                    description: |-
                      Indicating when this fulfillment expires if it is not accepted. The timestamp must be in RFC 3339 format
                      (for example, "2016-09-04T23:59:33.123Z"). The expiration time can only be set up to 7 days in the future.
                      If `expires_at` is not set, this pickup fulfillment is automatically accepted when 
                      placed.
                    example: 2016-09-04T23:59:33.123Z
                    format: date-time
                    type: string
                  is_curbside_pickup:
                    description: If set to `true`, indicates that this pickup order is for curbside pickup, not in-store pickup.
                    type: boolean
                  note:
                    description: |-
                      A note meant to provide additional instructions about the pickup
                      fulfillment displayed in the Square Point of Sale application and set by the API.
                    example: Pickup in the back.
                    type: string
                  picked_up_at:
                    description: |-
                      Indicating when the fulfillment was picked up by the recipient. The timestamp must be in RFC 3339 format
                      (for example, "2016-09-04T23:59:33.123Z").
                    example: 2016-09-04T23:59:33.123Z
                    format: date-time
                    type: string
                  pickup_at:
                    description: |-
                      The timestamp that represents the start of the pickup window. Must be in RFC 3339 timestamp format, e.g., 
                      "2016-09-04T23:59:33.123Z".

                      For fulfillments with the schedule type `ASAP`, this is automatically set
                      to the current time plus the expected duration to prepare the fulfillment.
                    example: 2016-09-04T23:59:33.123Z
                    format: date-time
                    type: string
                  pickup_window_duration:
                    description: |-
                      The window of time in which the order should be picked up after the `pickup_at` timestamp.
                      Must be in RFC 3339 duration format, e.g., "P1W3D". Can be used as an
                      informational guideline for merchants.
                    example: P1W3D
                    type: string
                  placed_at:
                    description: |-
                      Indicating when the fulfillment was placed. The timestamp must be in RFC 3339 format
                      (for example, "2016-09-04T23:59:33.123Z").
                    example: 2016-09-04T23:59:33.123Z
                    format: date-time
                    type: string
                  prep_time_duration:
                    description: |-
                      The duration of time it takes to prepare this fulfillment.
                      The duration must be in RFC 3339 format (for example, "P1W3D").
                    example: P1W3D
                    type: string
                  ready_at:
                    description: |-
                      Indicating when the fulfillment is marked as ready for pickup. The timestamp must be in RFC 3339 format
                      (for example, "2016-09-04T23:59:33.123Z").
                    example: 2016-09-04T23:59:33.123Z
                    format: date-time
                    type: string
                  recipient:
                    properties:
                      address:
                        $ref: "#/components/schemas/Address"
                      customer_id:
                        example: "12345"
                        type: string
                      display_name:
                        example: Elon Musk
                        title: Display name
                        type: string
                      email:
                        $ref: "#/components/schemas/Email"
                      phone_number:
                        $ref: "#/components/schemas/PhoneNumber"
                    type: object
                    x-apideck-weights:
                      address: medium
                      customer_id: medium
                      email: medium
                      phone_number: medium
                  rejected_at:
                    description: |-
                      Indicating when the fulfillment was rejected. The timestamp must be in RFC 3339 format
                      (for example, "2016-09-04T23:59:33.123Z").
                    example: 2016-09-04T23:59:33.123Z
                    format: date-time
                    type: string
                  schedule_type:
                    description: The schedule type of the pickup fulfillment.
                    enum:
                      - scheduled
                    type: string
                    x-apideck-enum-id: orders.pickup_details.schedule_type
                type: object
                x-apideck-weights:
                  accepted_at: medium
                  auto_complete_duration: medium
                  cancel_reason: medium
                  canceled_at: medium
                  curbside_pickup_details: medium
                  expired_at: medium
                  expires_at: medium
                  is_curbside_pickup: medium
                  note: medium
                  picked_up_at: medium
                  pickup_at: medium
                  pickup_window_duration: medium
                  placed_at: medium
                  prep_time_duration: medium
                  ready_at: medium
                  recipient: medium
                  rejected_at: medium
                  schedule_type: medium
              shipment_details:
                properties: {}
                type: object
                x-apideck-weights: {}
              status:
                description: The state of the fulfillment.
                enum:
                  - proposed
                  - reserved
                  - prepared
                  - completed
                  - cancelled
                  - failed
                  - other
                title: Fulfillment status
                type: string
                x-apideck-enum-id: orders.fulfillments.status
              type:
                enum:
                  - pickup
                  - shipment
                example: shipment
                type: string
                x-apideck-enum-id: orders.fulfillments.type
            type: object
            x-apideck-weights:
              id: medium
              pickup_details: medium
              shipment_details: medium
              status: medium
              type: medium
          type: array
        id:
          $ref: "#/components/schemas/Id"
        idempotency_key:
          $ref: "#/components/schemas/IdempotencyKey"
        line_items:
          items:
            properties:
              applied_discounts:
                items:
                  properties:
                    amount:
                      example: 27500
                      title: Amount (in cents)
                      type: integer
                    currency:
                      $ref: "#/components/schemas/Currency"
                    discount_id:
                      example: "12345"
                      type: string
                    id:
                      $ref: "#/components/schemas/Id"
                  x-apideck-weights:
                    amount: medium
                    currency: medium
                    discount_id: medium
                    id: medium
                type: array
              applied_taxes:
                items:
                  properties:
                    amount:
                      example: 27500
                      title: Amount (in cents)
                      type: integer
                    currency:
                      $ref: "#/components/schemas/Currency"
                    id:
                      $ref: "#/components/schemas/Id"
                    tax_id:
                      example: sales-tax
                      type: string
                  x-apideck-weights:
                    amount: medium
                    currency: medium
                    id: medium
                    tax_id: medium
                type: array
              id:
                $ref: "#/components/schemas/Id"
              item:
                properties:
                  id:
                    $ref: "#/components/schemas/Id"
                x-apideck-weights:
                  id: medium
              modifiers:
                description: Customizable options – toppings, add-ons, or special requests – create item modifiers. Modifiers that are applied to items will display on your customers’ digital receipts
                items:
                  properties:
                    alternate_name:
                      example: Modifier New
                      title: Alternate name
                      type: string
                    amount:
                      example: 27500
                      title: Amount (in cents)
                      type: integer
                    currency:
                      $ref: "#/components/schemas/Currency"
                    id:
                      example: "12345"
                      type: string
                    modifier_group_id:
                      example: "123"
                      title: Modifier group ID
                      type: string
                    name:
                      example: New York Strip Steak - no cheese
                      type: string
                  x-apideck-weights:
                    alternate_name: medium
                    amount: medium
                    currency: medium
                    id: medium
                    modifier_group_id: medium
                    name: medium
                type: array
              name:
                example: New York Strip Steak
                type: string
              quantity:
                $ref: "#/components/schemas/Quantity"
              total_amount:
                example: 27500
                nullable: true
                title: Total amount (in cents)
                type: integer
              total_discount:
                example: 3000
                nullable: true
                title: Total discount amount (in cents)
                type: integer
              total_tax:
                example: 2000
                nullable: true
                title: Tax amount (in cents)
                type: integer
              unit_price:
                $ref: "#/components/schemas/UnitPrice"
            type: object
            x-apideck-weights:
              applied_discounts: medium
              applied_taxes: medium
              id: medium
              item: medium
              modifiers: medium
              name: medium
              quantity: medium
              total_amount: medium
              total_discount: medium
              total_tax: medium
              unit_price: medium
          type: array
        location_id:
          example: "12345"
          type: string
        merchant_id:
          example: "12345"
          type: string
        note:
          description: A note with information about this order, may be printed on the order receipt and displayed in apps
          title: Note
          type: string
        order_date:
          example: 2022-08-12
          format: date
          nullable: true
          type: string
        order_number:
          example: 1F
          type: string
        order_type_id:
          example: "12345"
          type: string
        payment_status:
          description: Is this order paid or not?
          enum:
            - open
            - paid
            - refunded
            - credited
            - partially_paid
            - partially_refunded
            - unknown
          example: open
          title: PosPayment status
          type: string
          x-apideck-enum-id: orders.payment_status
        payments:
          items:
            properties:
              amount:
                example: 27500
                title: Amount (in cents)
                type: integer
              currency:
                $ref: "#/components/schemas/Currency"
              id:
                $ref: "#/components/schemas/Id"
            type: object
            x-apideck-weights:
              amount: medium
              currency: medium
              id: medium
          type: array
        reference_id:
          description: An optional user-defined reference ID that associates this record with another entity in an external system. For example, a customer ID from an external customer management system.
          example: my-order-001
          nullable: true
          title: Reference ID
          type: string
        refunded:
          example: false
          type: boolean
        refunds:
          items:
            properties:
              amount:
                example: 27500
                title: Amount (in cents)
                type: integer
              currency:
                $ref: "#/components/schemas/Currency"
              id:
                $ref: "#/components/schemas/Id"
              location_id:
                $ref: "#/components/schemas/Id"
              reason:
                example: The reason for the refund being issued.
                type: string
              status:
                enum:
                  - pending
                  - approved
                  - rejected
                  - failed
                type: string
                x-apideck-enum-id: orders.refunds.status
              tender_id:
                $ref: "#/components/schemas/Id"
              transaction_id:
                $ref: "#/components/schemas/Id"
            type: object
            x-apideck-weights:
              amount: medium
              currency: medium
              id: medium
              location_id: medium
              reason: medium
              status: medium
              tender_id: medium
              transaction_id: medium
          type: array
        seat:
          example: 23F
          type: string
        service_charges:
          $ref: "#/components/schemas/ServiceCharges"
        source:
          description: Source of order. Indicates the way that the order was placed.
          enum:
            - in-store
            - online
            - opt
            - api
            - kiosk
            - caller-id
            - google
            - invoice
          example: api
          nullable: true
          readOnly: true
          type: string
          x-apideck-enum-id: orders.source
        status:
          description: "Order status. Clover specific: If no value is set, the status defaults to hidden, which indicates a hidden order. A hidden order is not displayed in user interfaces and can only be retrieved by its id. When creating an order via the REST API the value must be manually set to 'open'. More info [https://docs.clover.com/reference/orderupdateorder]()"
          enum:
            - open
            - draft
            - delivered
            - delayed
            - voided
            - completed
            - hidden
          example: open
          title: Status
          type: string
          x-apideck-enum-id: orders.status
        table:
          example: 1F
          type: string
        taxes:
          items:
            properties:
              amount:
                example: 27500
                title: Amount (in cents)
                type: integer
              auto_applied:
                description: "Square-only: Determines whether the tax was automatically applied to the order based on the catalog configuration. For an example, see Automatically Apply Taxes to an Order. [https://developer.squareup.com/docs/orders-api/apply-taxes-and-discounts/auto-apply-taxes]()"
                example: true
                type: boolean
              currency:
                $ref: "#/components/schemas/Currency"
              id:
                example: state-sales-tax
                type: string
              name:
                description: The tax's name.
                example: State Sales Tax
                type: string
              percentage:
                $ref: "#/components/schemas/Percentage"
              scope:
                enum:
                  - order
                  - line_item
                type: string
                x-apideck-enum-id: orders.taxes.scope
              type:
                enum:
                  - unknown
                  - additive
                  - inclusive
                type: string
                x-apideck-enum-id: orders.taxes.type
            x-apideck-weights:
              amount: medium
              auto_applied: medium
              currency: medium
              id: medium
              name: medium
              percentage: medium
              scope: medium
              type: medium
          type: array
        tenders:
          items:
            properties:
              amount:
                example: 27500
                title: Amount (in cents)
                type: number
              buyer_tendered_cash_amount:
                description: The amount (in cents) of cash tendered by the buyer. Only applicable when the tender type is cash.
                example: 27500
                nullable: true
                type: integer
              card:
                $ref: "#/components/schemas/PaymentCard"
              card_entry_method:
                description: The entry method of the card. Only applicable when the tender type is card.
                enum:
                  - evm
                  - swiped
                  - keyed
                  - on-file
                  - contactless
                example: swiped
                nullable: true
                type: string
                x-apideck-enum-id: orders.tenders.card_entry_method
              card_status:
                description: The status of the card. Only applicable when the tender type is card.
                enum:
                  - authorized
                  - captured
                  - failed
                  - voided
                example: authorized
                nullable: true
                type: string
                x-apideck-enum-id: orders.tenders.card_status
              change_back_cash_amount:
                description: The amount (in cents) of cash returned to the buyer. Only applicable when the tender type is cash.
                example: 27500
                nullable: true
                type: integer
              currency:
                $ref: "#/components/schemas/Currency"
              id:
                $ref: "#/components/schemas/Id"
              location_id:
                $ref: "#/components/schemas/Id"
              name:
                example: 10% off
                type: string
              note:
                example: An optional note associated with the tender at the time of payment.
                title: Note
                type: string
              payment_id:
                $ref: "#/components/schemas/Id"
              percentage:
                example: 10
                title: Percentage
                type: number
              total_amount:
                example: 27.5
                nullable: true
                title: Total amount (in cents)
                type: integer
              total_discount:
                example: 3
                nullable: true
                title: Total discount (in cents)
                type: integer
              total_processing_fee:
                example: 0
                nullable: true
                title: Total processing fee (in cents)
                type: integer
              total_refund:
                example: 0
                nullable: true
                title: Total refund (in cents)
                type: integer
              total_service_charge:
                example: 0
                nullable: true
                title: Total service charge (in cents)
                type: integer
              total_tax:
                example: 2.75
                nullable: true
                title: Total tax (in cents)
                type: integer
              total_tip:
                example: 7
                nullable: true
                title: Total tax (in cents)
                type: integer
              transaction_id:
                $ref: "#/components/schemas/Id"
              type:
                enum:
                  - cash
                  - card
                  - other
                example: cash
                type: string
                x-apideck-enum-id: orders.tenders.type
            type: object
            x-apideck-weights:
              amount: medium
              buyer_tendered_cash_amount: medium
              card: medium
              card_entry_method: medium
              card_status: medium
              change_back_cash_amount: medium
              currency: medium
              id: medium
              location_id: medium
              name: medium
              note: medium
              payment_id: medium
              total_amount: medium
              total_discount: medium
              total_processing_fee: medium
              total_refund: medium
              total_service_charge: medium
              total_tax: medium
              total_tip: medium
              transaction_id: medium
              type: medium
          type: array
        title:
          title: Title
          type: string
        total_amount:
          example: 275
          nullable: true
          title: Total amount (in cents)
          type: integer
        total_discount:
          example: 300
          nullable: true
          title: Total discount (in cents)
          type: integer
        total_refund:
          example: 0
          nullable: true
          title: Total refund (in cents)
          type: integer
        total_service_charge:
          example: 0
          nullable: true
          title: Total service charge (in cents)
          type: integer
        total_tax:
          example: 275
          nullable: true
          title: Total tax (in cents)
          type: integer
        total_tip:
          example: 700
          nullable: true
          title: Total tax (in cents)
          type: integer
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
        version:
          $ref: "#/components/schemas/Version"
        voided:
          example: false
          type: boolean
        voided_at:
          example: 2020-09-30T07:43:32.000Z
          format: date-time
          readOnly: true
          title: Updated at (timestamp)
          type: string
      required:
        - location_id
        - merchant_id
      type: object
      x-apideck-schema-id: Order
      x-apideck-weights:
        closed_date: high
        created_at: medium
        created_by: edge-case
        currency: medium
        customer_id: medium
        customers: medium
        discounts: medium
        employee_id: medium
        fulfillments: medium
        id: critical
        idempotency_key: low
        line_items: medium
        location_id: critical
        merchant_id: critical
        note: medium
        order_date: critical
        order_number: high
        order_type_id: medium
        payment_status: high
        payments: medium
        reference_id: low
        refunded: medium
        refunds: medium
        seat: medium
        service_charges: medium
        source: medium
        state: high
        status: high
        table: medium
        taxes: medium
        tenders: medium
        title: high
        total_amount: high
        total_discount: medium
        total_refund: medium
        total_service_charge: medium
        total_tax: medium
        total_tip: medium
        updated_at: medium
        updated_by: edge-case
        version: low
        voided: medium
        voided_at: medium
    OrderType:
      additionalProperties: false
      properties:
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        default:
          example: true
          title: Default
          type: boolean
        id:
          $ref: "#/components/schemas/Id"
        name:
          example: Default order type
          title: Order type name
          type: string
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
      type: object
      x-apideck-schema-id: OrderType
      x-apideck-weights:
        created_at: medium
        created_by: edge-case
        default: medium
        id: medium
        name: medium
        updated_at: medium
        updated_by: edge-case
    PaymentCard:
      additionalProperties: false
      description: A card's non-confidential details.
      nullable: true
      properties:
        billing_address:
          $ref: "#/components/schemas/Address"
        bin:
          description: The first six digits of the card number, known as the Bank Identification Number (BIN).
          example: "41111"
          nullable: true
          type: string
        card_brand:
          description: The first six digits of the card number, known as the Bank Identification Number (BIN).
          enum:
            - visa
            - mastercard
            - amex
            - discover
            - discover-diners
            - jcb
            - china-unionpay
            - square-gift-card
            - square-capital-card
            - interac
            - eftpos
            - felica
            - ebt
            - other
          nullable: true
          type: string
          x-apideck-enum-id: payment-cards.card_brand
        card_type:
          enum:
            - credit
            - debit
            - prepaid
            - other
          example: credit
          nullable: true
          type: string
          x-apideck-enum-id: payment-cards.card_type
        cardholder_name:
          example: John Doe
          nullable: true
          type: string
        customer_id:
          example: "12345"
          nullable: true
          type: string
        enabled:
          description: Indicates whether or not a card can be used for payments.
          example: true
          nullable: true
          type: boolean
        exp_month:
          description: The expiration month of the associated card as an integer between 1 and 12.
          example: 1
          maximum: 12
          minimum: 1
          nullable: true
          type: integer
        exp_year:
          description: The four-digit year of the card's expiration date.
          example: 2022
          nullable: true
          type: integer
        fingerprint:
          example: " Intended as a POS-assigned identifier, based on the card number, to identify the card across multiple locations within a single application."
          nullable: true
          type: string
        id:
          $ref: "#/components/schemas/Id"
        last_4:
          example: The last 4 digits of the card number.
          nullable: true
          type: string
        merchant_id:
          example: "12345"
          type: string
        prepaid_type:
          enum:
            - non-prepaid
            - prepaid
            - unknown
          example: prepaid
          nullable: true
          type: string
          x-apideck-enum-id: payment-cards.prepaid_type
        reference_id:
          description: An optional user-defined reference ID that associates this record with another entity in an external system. For example, a customer ID from an external customer management system.
          example: card-001
          nullable: true
          title: Reference ID
          type: string
        version:
          $ref: "#/components/schemas/Version"
      type: object
      x-apideck-schema-id: PaymentCard
    PaymentRequiredResponse:
      properties:
        detail:
          description: Contains parameter or domain specific information related to the error and why it occurred.
          example: You have reached your limit of 2000
          type: string
        error:
          description: Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231)
          example: Payment Required
          type: string
        message:
          description: A human-readable message providing more details about the error.
          example: Request Limit Reached
          type: string
        ref:
          description: Link to documentation of error type
          example: https://developers.apideck.com/errors#requestlimiterror
          type: string
        status_code:
          description: HTTP status code
          example: 402
          type: number
        type_name:
          description: The type of error returned
          example: RequestLimitError
          type: string
      type: object
      x-apideck-schema-id: PaymentRequired
    Percentage:
      example: 15
      title: Percentage
      type: number
    PhoneNumber:
      additionalProperties: false
      properties:
        area_code:
          description: The area code of the phone number, e.g. 323
          example: "323"
          nullable: true
          title: Area code
          type: string
        country_code:
          description: The country code of the phone number, e.g. +1
          example: "1"
          nullable: true
          title: Country code
          type: string
        extension:
          description: The extension of the phone number
          example: "105"
          nullable: true
          title: Phone extension
          type: string
        id:
          description: Unique identifier of the phone number
          example: "12345"
          nullable: true
          type: string
        number:
          description: The phone number
          example: 111-111-1111
          minLength: 1
          title: Phone number
          type: string
        type:
          description: The type of phone number
          enum:
            - primary
            - secondary
            - home
            - work
            - office
            - mobile
            - assistant
            - fax
            - direct-dial-in
            - personal
            - other
          example: primary
          nullable: true
          type: string
          x-apideck-enum-id: phone_numbers.type
      required:
        - number
      type: object
      x-apideck-schema-id: PhoneNumber
      x-apideck-weights:
        area_code: edge-case
        country_code: edge-case
        extension: edge-case
        id: edge-case
        number: critical
        type: critical
    PosBankAccount:
      description: Card details for this payment. This field is currently not available. Reach out to our team for more info.
      properties:
        account_ownership_type:
          description: |-
            The ownership type of the bank account performing the transfer.
            The type can be `INDIVIDUAL`, `COMPANY`, or `UNKNOWN`.
          maxLength: 50
          type: string
        ach_details:
          description: ACH-specific details about `BANK_ACCOUNT` type payments with the `transfer_type` of `ACH`.
          properties:
            account_number_suffix:
              description: The last few digits of the bank account number.
              maxLength: 4
              type: string
            account_type:
              description: |-
                The type of the bank account performing the transfer. The account type can be `CHECKING`,
                `SAVINGS`, or `UNKNOWN`.
              maxLength: 50
              type: string
            routing_number:
              description: The routing number for the bank account.
              maxLength: 50
              type: string
          type: object
        bank_name:
          description: The name of the bank associated with the bank account.
          maxLength: 100
          type: string
        country:
          description: Country code according to ISO 3166-1 alpha-2.
          example: US
          maxLength: 2
          minLength: 2
          nullable: true
          title: Country Code
          type: string
        fingerprint:
          description: |-
            Uniquely identifies the bank account for this seller and can be used
            to determine if payments are from the same bank account.
          maxLength: 255
          type: string
        statement_description:
          description: The statement description as sent to the bank.
          maxLength: 1000
          type: string
        transfer_type:
          description: The type of the bank transfer. The type can be `ACH` or `UNKNOWN`.
          maxLength: 50
          type: string
      title: Bank Account
      type: object
      x-apideck-schema-id: PosBankAccount
    PosPayment:
      additionalProperties: false
      properties:
        amount:
          example: 27.5
          title: Amount (in cents)
          type: number
        app_fee:
          description: The amount the developer is taking as a fee for facilitating the payment on behalf of the seller.
          example: 3
          title: App fee
          type: number
        approved:
          description: The initial amount of money approved for this payment.
          example: 37.5
          title: Approved amount (in cents)
          type: number
        bank_account:
          $ref: "#/components/schemas/PosBankAccount"
        card_details:
          properties:
            card:
              $ref: "#/components/schemas/PaymentCard"
          type: object
        cash:
          description: Cash details for this payment
          properties:
            amount:
              description: The amount of cash given by the customer.
            charge_back_amount:
              description: "The amount of change due back to the buyer. For Square: this read-only field is calculated from the amount_money and buyer_supplied_money fields."
          title: Cash details
          type: object
        change_back_cash_amount:
          example: 20
          title: Change back cash amount (in cents)
          type: number
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        currency:
          $ref: "#/components/schemas/Currency"
        custom_mappings:
          $ref: "#/components/schemas/CustomMappings"
        customer_id:
          example: "12345"
          type: string
        device_id:
          example: "12345"
          type: string
        employee_id:
          example: "12345"
          type: string
        external_details:
          description: Details about an external payment.
          properties:
            source:
              description: |-
                A description of the external payment source. For example, 
                "Food Delivery Service".
              maxLength: 255
              type: string
            source_fee_amount:
              description: The fees paid to the source. The amount minus this field is the net amount seller receives.
              example: 2.5
              title: Source fee
              type: number
            source_id:
              description: An ID to associate the payment to its originating source.
              maxLength: 255
              type: string
            type:
              description: |-
                The type of external payment the seller received. It can be one of the following:
                - CHECK - Paid using a physical check.
                - BANK_TRANSFER - Paid using external bank transfer.
                - OTHER\_GIFT\_CARD - Paid using a non-Square gift card.
                - CRYPTO - Paid using a crypto currency.
                - SQUARE_CASH - Paid using Square Cash App.
                - SOCIAL - Paid using peer-to-peer payment applications.
                - EXTERNAL - A third-party application gathered this payment outside of Square.
                - EMONEY - Paid using an E-money provider.
                - CARD - A credit or debit card that Square does not support.
                - STORED_BALANCE - Use for house accounts, store credit, and so forth.
                - FOOD_VOUCHER - Restaurant voucher provided by employers to employees to pay for meals
                - OTHER - A type not listed here.
              enum:
                - check
                - bank_transfer
                - other_gift_card
                - crypto
                - square_cash
                - social
                - external
                - emoney
                - card
                - stored_balance
                - food_voucher
                - other
              maxLength: 50
              type: string
              x-apideck-enum-id: pos-payments.external_details.type
          required:
            - type
            - source
          type: object
        external_payment_id:
          example: "12345"
          type: string
        id:
          $ref: "#/components/schemas/Id"
        idempotency_key:
          $ref: "#/components/schemas/IdempotencyKey"
        location_id:
          example: "12345"
          type: string
        merchant_id:
          example: "12345"
          type: string
        order_id:
          example: "12345"
          type: string
        processing_fees:
          example:
            - amount: 1.05
              effective_at: 2020-09-30T07:43:32.000Z
              processing_type: initial
          items:
            properties:
              amount:
                example: 1.05
                title: Amount (in cents)
                type: number
              effective_at:
                example: 2020-09-30T07:43:32.000Z
                format: date-time
                title: Effective at (timestamp)
                type: string
              processing_type:
                enum:
                  - initial
                  - adjustment
                title: Type
                type: string
                x-apideck-enum-id: pos-payments.processing_fees.processing_type
          type: array
        refunded:
          description: The initial amount of money approved for this payment.
          example: 37.5
          title: The total amount (in cents) of the payment refunded to date.
          type: number
        service_charges:
          $ref: "#/components/schemas/ServiceCharges"
        source:
          description: Source of this payment.
          enum:
            - card
            - bank_account
            - wallet
            - bnpl
            - cash
            - external
            - other
          example: external
          type: string
          x-apideck-enum-id: pos-payments.source
        source_id:
          description: "The ID for the source of funds for this payment. Square-only: This can be a payment token (card nonce) generated by the payment form or a card on file made linked to the customer. if recording a payment that the seller received outside of Square, specify either `CASH` or `EXTERNAL`."
          example: "12345"
          type: string
        status:
          description: Status of this payment.
          enum:
            - approved
            - pending
            - completed
            - canceled
            - failed
            - other
          example: approved
          title: Status
          type: string
          x-apideck-enum-id: pos-payments.status
        tax:
          example: 20
          title: Tax amount (in cents)
          type: number
        tender_id:
          example: "12345"
          type: string
        tip:
          example: 7
          title: Tip amount (in cents)
          type: number
        total:
          example: 37.5
          title: Total amount (in cents)
          type: number
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
        wallet:
          description: Wallet details for this payment. This field is currently not available. Reach out to our team for more info.
          properties:
            status:
              description: The status of the wallet payment. The status can be AUTHORIZED, CAPTURED, VOIDED, or FAILED.
              enum:
                - authorized
                - captured
                - voided
                - failed
                - other
              maxLength: 50
              type: string
              x-apideck-enum-id: pos-payments.wallet.status
          title: Wallet details
          type: object
      required:
        - source_id
        - customer_id
        - amount
        - currency
        - order_id
        - tender_id
      type: object
      x-apideck-schema-id: PosPayment
    PosWebhookEvent:
      allOf:
        - properties:
            consumer_id:
              description: Unique consumer identifier. You can freely choose a consumer ID yourself. Most of the time, this is an ID of your internal data model that represents a user or account in your system (for example account:12345). If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID.
              example: test_consumer_id
              type: string
            entity_id:
              description: The service provider's ID of the entity that triggered this event
              example: 123456ASDF
              type: string
            entity_type:
              description: The type entity that triggered this event
              example: Company
              type: string
            entity_url:
              description: The url to retrieve entity detail.
              example: https://unify.apideck.com/crm/contacts/123456
              type: string
            event_id:
              description: Unique reference to this request event
              example: 9755c355-56c3-4a2f-a2da-86ff4411fccb
              type: string
            execution_attempt:
              description: The current count this request event has been attempted
              example: 2
              type: number
            occurred_at:
              description: ISO Datetime for when the original event occurred
              example: 2021-10-01T03:14:55.419Z
              type: string
            service_id:
              description: Service provider identifier
              example: close
              type: string
            unified_api:
              description: Name of Apideck Unified API
              enum:
                - accounting
                - ats
                - calendar
                - crm
                - csp
                - customer-support
                - ecommerce
                - email
                - email-marketing
                - expense-management
                - file-storage
                - form
                - hris
                - lead
                - payroll
                - pos
                - procurement
                - project-management
                - script
                - sms
                - spreadsheet
                - team-messaging
                - issue-tracking
                - time-registration
                - transactional-email
                - vault
                - data-warehouse
              example: crm
              type: string
              x-apideck-enum-id: unified_api
          type: object
          x-apideck-schema-id: WebhookEvent
        - properties:
            event_type:
              enum:
                - pos.order.created
                - pos.order.updated
                - pos.order.deleted
                - pos.payment.created
                - pos.payment.updated
                - pos.payment.deleted
                - pos.merchant.created
                - pos.merchant.updated
                - pos.merchant.deleted
                - pos.location.created
                - pos.location.updated
                - pos.location.deleted
                - pos.item.created
                - pos.item.updated
                - pos.item.deleted
                - pos.modifier.created
                - pos.modifier.updated
                - pos.modifier.deleted
                - pos.modifier-group.created
                - pos.modifier-group.updated
                - pos.modifier-group.deleted
              example: pos.order.created
              type: string
          type: object
      x-sdk-exclude: true
    Quantity:
      example: 1
      nullable: true
      title: Quantity
      type: number
    RowVersion:
      description: A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.
      example: 1-12345
      nullable: true
      title: Row version
      type: string
    Sequence:
      example: 1
      nullable: true
      title: Sequence
      type: number
    ServiceCharge:
      properties:
        active:
          $ref: "#/components/schemas/Active"
        amount:
          example: 27500
          title: Amount (in cents)
          type: number
        currency:
          $ref: "#/components/schemas/Currency"
        id:
          $ref: "#/components/schemas/Id"
        name:
          description: Service charge name
          example: Charge for delivery
          type: string
        percentage:
          description: Service charge percentage. Use this field to calculate the amount of the service charge. Pass a percentage and amount at the same time.
          example: 12.5
          type: number
        type:
          description: The type of the service charge.
          enum:
            - auto_gratuity
            - custom
          type: string
          x-apideck-enum-id: service-charges.type
      type: object
      x-apideck-schema-id: ServiceCharge
    ServiceCharges:
      description: Optional service charges or gratuity tip applied to the order.
      items:
        $ref: "#/components/schemas/ServiceCharge"
      type: array
      x-apideck-schema-id: ServiceCharges
      x-apideck-weights:
        amount: critical
        currency: high
        name: high
        percentage: high
        type: high
    SocialLink:
      additionalProperties: false
      properties:
        id:
          description: Unique identifier of the social link
          example: "12345"
          nullable: true
          type: string
        type:
          description: Type of the social link, e.g. twitter
          example: twitter
          nullable: true
          type: string
        url:
          description: URL of the social link, e.g. https://www.twitter.com/apideck
          example: https://www.twitter.com/apideck
          minLength: 1
          type: string
      required:
        - url
      type: object
      x-apideck-schema-id: SocialLink
      x-apideck-weights:
        id: edge-case
        type: critical
        url: critical
    Tags:
      example:
        - New
      items:
        type: string
      nullable: true
      type: array
      x-apideck-schema-id: Tags
    Tender:
      additionalProperties: false
      properties:
        active:
          $ref: "#/components/schemas/Active"
        allows_tipping:
          default: true
          description: Allow tipping on payment from tender
          type: boolean
        created_at:
          $ref: "#/components/schemas/CreatedAt"
        created_by:
          $ref: "#/components/schemas/CreatedBy"
        custom_mappings:
          $ref: "#/components/schemas/CustomMappings"
        editable:
          $ref: "#/components/schemas/Hidden"
        hidden:
          $ref: "#/components/schemas/Hidden"
        id:
          $ref: "#/components/schemas/Id"
        key:
          example: com.clover.tender.cash
          nullable: true
          type: string
        label:
          example: Cash
          nullable: true
          type: string
        opens_cash_drawer:
          default: true
          description: If this tender opens the cash drawer
          type: boolean
        updated_at:
          $ref: "#/components/schemas/UpdatedAt"
        updated_by:
          $ref: "#/components/schemas/UpdatedBy"
      type: object
      x-apideck-schema-id: Tender
      x-apideck-weights:
        active: medium
        allows_tipping: medium
        created_at: medium
        created_by: edge-case
        editable: low
        hidden: low
        id: critical
        key: high
        label: high
        opens_cash_drawer: low
        updated_at: medium
        updated_by: edge-case
    TooManyRequestsResponse:
      properties:
        detail:
          properties:
            context:
              type: string
            error:
              additionalProperties: true
              type: object
          type: object
        error:
          description: Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 6585)
          example: Too Many Requests
          type: string
        message:
          description: A human-readable message providing more details about the error.
          example: Connector Rate Limit Error
          type: string
        ref:
          description: Link to documentation of error type
          example: https://developers.apideck.com/errors#connectorratelimiterror
          type: string
        status_code:
          description: HTTP status code
          example: 429
          type: number
        type_name:
          description: The type of error returned
          example: ConnectorRateLimitError
          type: string
      type: object
      x-apideck-schema-id: TooManyRequests
    UnauthorizedResponse:
      properties:
        detail:
          description: Contains parameter or domain specific information related to the error and why it occurred.
          example: Failed to generate valid JWT Session. Verify applicationId is correct
          type: string
        error:
          description: Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231)
          example: Unauthorized
          type: string
        message:
          description: A human-readable message providing more details about the error.
          example: Unauthorized Request
          type: string
        ref:
          description: Link to documentation of error type
          example: https://developers.apideck.com/errors#unauthorizederror
          type: string
        status_code:
          description: HTTP status code
          example: 401
          type: number
        type_name:
          description: The type of error returned
          example: UnauthorizedError
          type: string
      type: object
      x-apideck-schema-id: Unauthorized
    UnexpectedErrorResponse:
      properties:
        detail:
          anyOf:
            - example: "Missing Header: x-apideck-consumer-id"
              type: string
            - example:
                missing:
                  - x-apideck-consumer-id: required
              type: object
          description: Contains parameter or domain specific information related to the error and why it occurred.
        error:
          description: Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231)
          example: Bad Request
          type: string
        message:
          description: A human-readable message providing more details about the error.
          example: Invalid Params
          type: string
        ref:
          description: Link to documentation of error type
          example: https://developers.apideck.com/errors#unauthorizederror
          type: string
        status_code:
          description: HTTP status code
          example: 400
          type: number
        type_name:
          description: The type of error returned
          example: RequestHeadersValidationError
          type: string
      type: object
      x-apideck-schema-id: Error
    UnifiedId:
      properties:
        id:
          description: The unique identifier of the resource
          example: "12345"
          readOnly: true
          title: Id
          type: string
      required:
        - id
      title: UnifiedId
      type: object
      x-apideck-schema-id: Id
    UnitPrice:
      example: 27500.5
      nullable: true
      title: Unit price
      type: number
    UnprocessableResponse:
      properties:
        detail:
          description: Contains parameter or domain specific information related to the error and why it occurred.
          example: Unprocessable request, please verify your request headers and body.
          type: string
        error:
          description: Contains an explanation of the status_code as defined in HTTP/1.1 standard (RFC 7231)
          example: Unprocessable Entity
          type: string
        message:
          description: A human-readable message providing more details about the error.
          example: Invalid State
          type: string
        ref:
          description: Link to documentation of error type
          example: https://developers.apideck.com/errors#invalidstateerror
          type: string
        status_code:
          description: HTTP status code
          example: 422
          type: number
        type_name:
          description: The type of error returned
          example: InvalidStateError
          type: string
      type: object
      x-apideck-schema-id: Unprocessable
    UpdateItemResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: Items
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdateItemResponse
    UpdateLocationResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: Locations
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdateLocationResponse
    UpdateMerchantResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: Merchants
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdateMerchantResponse
    UpdateModifierGroupResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: ModifierGroups
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdateModifierGroupResponse
    UpdateModifierResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: Modifiers
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdateModifierResponse
    UpdateOrderResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: orders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdateOrderResponse
    UpdateOrderTypeResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: OrderTypes
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdateOrderTypeResponse
    UpdatePosPaymentResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: PosPayments
          type: string
        service:
          description: Apideck ID of service provider
          example: square
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdatePosPaymentResponse
    UpdateTenderResponse:
      properties:
        data:
          $ref: "#/components/schemas/UnifiedId"
        operation:
          description: Operation performed
          example: update
          type: string
        resource:
          description: Unified API resource name
          example: Tenders
          type: string
        service:
          description: Apideck ID of service provider
          example: clover
          type: string
        status:
          description: HTTP Response Status
          example: OK
          type: string
        status_code:
          description: HTTP Response Status Code
          example: 200
          type: integer
      required:
        - status_code
        - status
        - service
        - resource
        - operation
        - data
      type: object
      x-apideck-schema-id: UpdateTenderResponse
    UpdatedAt:
      description: The date and time when the object was last updated.
      example: 2020-09-30T07:43:32.000Z
      format: date-time
      nullable: true
      readOnly: true
      title: Updated at (timestamp)
      type: string
    UpdatedBy:
      description: The user who last updated the object.
      example: "12345"
      nullable: true
      readOnly: true
      title: Updated by
      type: string
    Version:
      example: "230320320320"
      nullable: true
      title: Version
      type: string
    Website:
      additionalProperties: false
      properties:
        id:
          description: Unique identifier for the website
          example: "12345"
          nullable: true
          type: string
        type:
          description: The type of website
          enum:
            - primary
            - secondary
            - work
            - personal
            - other
          example: primary
          nullable: true
          type: string
          x-apideck-enum-id: websites.type
        url:
          description: The website URL
          example: http://example.com
          minLength: 1
          type: string
      required:
        - url
      type: object
      x-apideck-schema-id: Website
      x-apideck-weights:
        id: edge-case
        type: critical
        url: critical
  securitySchemes:
    apiKey:
      description: |
        To use API you have to sign up and get your own API key. Unify API accounts have sandbox mode and live mode API keys. 
        To change modes just use the appropriate key to get a live or test object. You can find your API keys on the unify settings of your Apideck app.
        Your Apideck application_id can also be found on the same page.

        Authenticate your API requests by including your test or live secret API key in the request header. 

        - Bearer authorization header: `Authorization: Bearer <your-apideck-api-key>`
        - Application id header: `x-apideck-app-id: <your-apideck-app-id>`

        You should use the public keys on the SDKs and the secret keys to authenticate API requests.

        **Do not share or include your secret API keys on client side code.** Your API keys carry significant privileges. Please ensure to keep them 100% secure and be sure to not share your secret API keys in areas that are publicly accessible like GitHub.

        Learn how to set the Authorization header inside Postman https://learning.postman.com/docs/postman/sending-api-requests/authorization/#api-key

        Go to Unify to grab your API KEY https://app.apideck.com/unify/api-keys
      in: header
      name: Authorization
      type: apiKey
x-webhooks:
  ItemCreated:
    post:
      description: Event broadcast when an item has been created.
      operationId: itemCreated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: item
                entity_url: https://unify.apideck.com/pos/items/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.item.created
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Item Created
      tags:
        - Webhook Events
      x-apideck-event-type: pos.item.created
  ItemDeleted:
    post:
      description: Event broadcast when an item has been deleted.
      operationId: itemDeleted
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: item
                entity_url: https://unify.apideck.com/pos/items/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.item.deleted
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Item Deleted
      tags:
        - Webhook Events
      x-apideck-event-type: pos.item.deleted
  ItemUpdated:
    post:
      description: Event broadcast when an item has been updated.
      operationId: itemUpdated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: item
                entity_url: https://unify.apideck.com/pos/items/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.item.updated
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Item Updated
      tags:
        - Webhook Events
      x-apideck-event-type: pos.item.updated
  LocationCreated:
    post:
      description: Event broadcast when a location has been created.
      operationId: locationCreated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: location
                entity_url: https://unify.apideck.com/pos/locations/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.location.created
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Location Created
      tags:
        - Webhook Events
      x-apideck-event-type: pos.location.created
  LocationDeleted:
    post:
      description: Event broadcast when a location has been deleted.
      operationId: locationDeleted
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: location
                entity_url: https://unify.apideck.com/pos/locations/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.location.deleted
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Location Deleted
      tags:
        - Webhook Events
      x-apideck-event-type: pos.location.deleted
  LocationUpdated:
    post:
      description: Event broadcast when a location has been updated.
      operationId: locationUpdated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: location
                entity_url: https://unify.apideck.com/pos/locations/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.location.updated
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Location Updated
      tags:
        - Webhook Events
      x-apideck-event-type: pos.location.updated
  MerchantCreated:
    post:
      description: Event broadcast when a merchant has been created.
      operationId: merchantCreated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: merchant
                entity_url: https://unify.apideck.com/pos/merchants/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.merchant.created
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Merchant Created
      tags:
        - Webhook Events
      x-apideck-event-type: pos.merchant.created
  MerchantDeleted:
    post:
      description: Event broadcast when a merchant has been deleted.
      operationId: merchantDeleted
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: merchant
                entity_url: https://unify.apideck.com/pos/merchants/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.merchant.deleted
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Merchant Deleted
      tags:
        - Webhook Events
      x-apideck-event-type: pos.merchant.deleted
  MerchantUpdated:
    post:
      description: Event broadcast when a merchant has been updated.
      operationId: merchantUpdated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: merchant
                entity_url: https://unify.apideck.com/pos/merchants/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.merchant.updated
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Merchant Updated
      tags:
        - Webhook Events
      x-apideck-event-type: pos.merchant.updated
  ModifierCreated:
    post:
      description: Event broadcast when a modifier has been created.
      operationId: modifierCreated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: modifier
                entity_url: https://unify.apideck.com/pos/modifiers/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.modifier.created
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Modifier Created
      tags:
        - Webhook Events
      x-apideck-event-type: pos.modifier.created
  ModifierDeleted:
    post:
      description: Event broadcast when a modifier has been deleted.
      operationId: modifierDeleted
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: modifier
                entity_url: https://unify.apideck.com/pos/modifiers/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.modifier.deleted
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Modifier Deleted
      tags:
        - Webhook Events
      x-apideck-event-type: pos.modifier.deleted
  ModifierGroupCreated:
    post:
      description: Event broadcast when a modifier group has been created.
      operationId: modifierGroupCreated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: modifier-group
                entity_url: https://unify.apideck.com/pos/modifier-groups/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.modifier-group.created
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Modifier group Created
      tags:
        - Webhook Events
      x-apideck-event-type: pos.modifier-group.created
  ModifierGroupDeleted:
    post:
      description: Event broadcast when a modifier group has been deleted.
      operationId: modifierGroupDeleted
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: modifier-group
                entity_url: https://unify.apideck.com/pos/modifier-groups/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.modifier-group.deleted
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Modifier group Deleted
      tags:
        - Webhook Events
      x-apideck-event-type: pos.modifier-group.deleted
  ModifierGroupUpdated:
    post:
      description: Event broadcast when a modifier group has been updated.
      operationId: modifierGroupUpdated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: modifier-group
                entity_url: https://unify.apideck.com/pos/modifier-groups/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.modifier-group.updated
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Modifier group Updated
      tags:
        - Webhook Events
      x-apideck-event-type: pos.modifier-group.updated
  ModifierUpdated:
    post:
      description: Event broadcast when a modifier has been updated.
      operationId: modifierUpdated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: modifier
                entity_url: https://unify.apideck.com/pos/modifiers/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.modifier.updated
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Modifier Updated
      tags:
        - Webhook Events
      x-apideck-event-type: pos.modifier.updated
  OrderCreated:
    post:
      description: Event broadcast when an order has been created.
      operationId: orderCreated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: order
                entity_url: https://unify.apideck.com/pos/orders/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.order.created
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Order Created
      tags:
        - Webhook Events
      x-apideck-event-type: pos.order.created
      x-apideck-upcoming: true
  OrderDeleted:
    post:
      description: Event broadcast when an order has been deleted.
      operationId: orderDeleted
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: order
                entity_url: https://unify.apideck.com/pos/orders/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.order.deleted
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Order Deleted
      tags:
        - Webhook Events
      x-apideck-event-type: pos.order.deleted
      x-apideck-upcoming: true
  OrderUpdated:
    post:
      description: Event broadcast when an order has been updated.
      operationId: orderUpdated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: order
                entity_url: https://unify.apideck.com/pos/orders/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.order.updated
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Order Updated
      tags:
        - Webhook Events
      x-apideck-event-type: pos.order.updated
      x-apideck-upcoming: true
  PosPaymentCreated:
    post:
      description: Event broadcast when a payment has been created.
      operationId: paymentCreated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: payment
                entity_url: https://unify.apideck.com/pos/payments/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.payment.created
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Payment Created
      tags:
        - Webhook Events
      x-apideck-event-type: pos.payment.created
  PosPaymentDeleted:
    post:
      description: Event broadcast when a payment has been deleted.
      operationId: paymentDeleted
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: payment
                entity_url: https://unify.apideck.com/pos/payments/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.payment.deleted
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Payment Deleted
      tags:
        - Webhook Events
      x-apideck-event-type: pos.payment.deleted
  PosPaymentUpdated:
    post:
      description: Event broadcast when a payment has been updated.
      operationId: paymentUpdated
      parameters:
        - description: An idempotency key is a unique value generated to recognize subsequent retries/duplicates of the same request.
          in: header
          name: x-apideck-idempotency-key
          required: true
          schema:
            example: d290f1ee-6c54-4b01-90e6-d701748f0851
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              payload:
                consumer_id: test_user_id
                entity_id: 123456ASDF
                entity_type: payment
                entity_url: https://unify.apideck.com/pos/payments/123456ASDF
                event_id: d290f1ee-6c54-4b01-90e6-d701748f0851
                event_type: pos.payment.updated
                occurred_at: 2020-01-01T00:00:00.000Z
                unified_api: pos
            schema:
              properties:
                payload:
                  $ref: "#/components/schemas/PosWebhookEvent"
              type: object
      responses:
        "200":
          description: Return a 200 status to indicate that the data was received successfully.
      security: []
      summary: Payment Updated
      tags:
        - Webhook Events
      x-apideck-event-type: pos.payment.updated
