Flipdish Device API

Operations for Device.

Operations 4

GET /api/v1.0/{appId}/devices/device/{deviceModel}/{deviceId} Get device details #
GET /api/v1.0/{appId}/devices/search Search devices #
POST /api/v1.0/{appId}/devices/assign Assign device #
POST /api/v1.0/{appId}/devices/enroll Enroll device #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/flipdish:flipdish-device-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

flipdish-device-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1.0
  title: Flipdish Open API v1.0 Device API
servers:
- url: https://api.flipdish.co
tags:
- name: Device
paths:
  /api/v1.0/{appId}/devices/device/{deviceModel}/{deviceId}:
    get:
      tags:
      - Device
      operationId: GetDeviceDetails
      parameters:
      - name: appId
        in: path
        required: true
        schema:
          type: string
      - name: deviceModel
        in: path
        required: true
        schema:
          type: string
      - name: deviceId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDevice'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDevice'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDevice'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDevice'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
      security:
      - oauth2:
        - api
      summary: Get device details
      x-summary-source: derived
  /api/v1.0/{appId}/devices/search:
    get:
      tags:
      - Device
      operationId: SearchDevices
      parameters:
      - name: appId
        in: path
        required: true
        schema:
          type: string
      - name: storeId
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: deviceModel
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiArrayResult_ClientDeviceSummary'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiArrayResult_ClientDeviceSummary'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiArrayResult_ClientDeviceSummary'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiArrayResult_ClientDeviceSummary'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
      security:
      - oauth2:
        - api
      summary: Search devices
      x-summary-source: derived
  /api/v1.0/{appId}/devices/assign:
    post:
      tags:
      - Device
      operationId: AssignDevice
      parameters:
      - name: appId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDeviceEnrollmentResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDeviceEnrollmentResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDeviceEnrollmentResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDeviceEnrollmentResult'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
      security:
      - oauth2:
        - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientDeviceAssignEnrolledDevice'
          text/json:
            schema:
              $ref: '#/components/schemas/ClientDeviceAssignEnrolledDevice'
          application/xml:
            schema:
              $ref: '#/components/schemas/ClientDeviceAssignEnrolledDevice'
          text/xml:
            schema:
              $ref: '#/components/schemas/ClientDeviceAssignEnrolledDevice'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ClientDeviceAssignEnrolledDevice'
        required: true
      summary: Assign device
      x-summary-source: derived
  /api/v1.0/{appId}/devices/enroll:
    post:
      tags:
      - Device
      operationId: EnrollDevice
      parameters:
      - name: appId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDeviceEnrollmentResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDeviceEnrollmentResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDeviceEnrollmentResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiResult_ClientDeviceEnrollmentResult'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiErrorResult'
        '401':
          description: Authentication has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiUnauthorizedResult'
        '403':
          description: Successful authentication, but authorization has been denied for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/json:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            application/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
            text/xml:
              schema:
                $ref: '#/components/schemas/RestApiForbiddenResult'
      security:
      - oauth2:
        - api
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClientDeviceEnroll'
          text/json:
            schema:
              $ref: '#/components/schemas/ClientDeviceEnroll'
          application/xml:
            schema:
              $ref: '#/components/schemas/ClientDeviceEnroll'
          text/xml:
            schema:
              $ref: '#/components/schemas/ClientDeviceEnroll'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ClientDeviceEnroll'
        required: true
      summary: Enroll device
      x-summary-source: derived
components:
  schemas:
    RestApiForbiddenResult:
      description: Rest Api Forbidden Result
      required:
      - Message
      type: object
      properties:
        Message:
          description: Message
          type: string
          readOnly: true
    RestApiArrayResult_ClientDeviceSummary:
      description: Rest api array result
      required:
      - Data
      type: object
      properties:
        Data:
          description: Generic data object.
          type: array
          items:
            $ref: '#/components/schemas/ClientDeviceSummary'
    ClientDeviceAssignEnrolledDevice:
      description: Assign enrolled device to AppId
      type: object
      properties:
        DeviceModel:
          description: Device Model
          type: string
        PinCode:
          description: Pin Code
          type: string
    ClientDeviceSummary:
      description: Client Device summary (header fields)
      type: object
      properties:
        DeviceModel:
          description: Device Model
          type: string
        DeviceId:
          description: Device Id
          type: string
        DeviceName:
          description: Device Name
          type: string
    RestApiResult_ClientDevice:
      description: Rest api result
      required:
      - Data
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/ClientDevice'
          description: Generic data object.
    RestApiResult_ClientDeviceEnrollmentResult:
      description: Rest api result
      required:
      - Data
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/ClientDeviceEnrollmentResult'
          description: Generic data object.
    RestApiUnauthorizedResult:
      description: Rest api unauthorized result
      required:
      - Message
      type: object
      properties:
        Message:
          description: Message
          type: string
          readOnly: true
    ValidationErrorResult:
      description: Validation error result
      type: object
      properties:
        FieldName:
          description: Field name
          type: string
        Errors:
          description: List of errors relates to field
          type: array
          items:
            type: string
    ClientDeviceEnroll:
      description: Enroll a client device
      type: object
      properties:
        DeviceModel:
          description: Device model
          type: string
        DeviceId:
          description: Device Id
          type: string
        DeviceName:
          description: Device Name
          type: string
    RestApiErrorResult:
      description: Rest api error result
      required:
      - Message
      type: object
      properties:
        Message:
          description: Error message
          type: string
        ErrorCode:
          format: int32
          description: Error code
          type: integer
        StackTrace:
          description: Stack trace
          type: string
        Errors:
          description: List of errors grouped by field name
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorResult'
    ClientDevice:
      description: Client Device
      type: object
      properties:
        DeviceModel:
          description: Device Model
          type: string
        DeviceId:
          description: Device Id
          type: string
        DeviceName:
          description: Device Name
          type: string
    ClientDeviceEnrollmentResult:
      description: Device enrollment result
      type: object
      properties:
        PinCode:
          description: PIN Code for assigning
          type: string
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        implicit:
          scopes:
            api: Access to Flipdish API
          authorizationUrl: https://api.flipdish.co/identity/connect/authorize
      description: OAuth2 Implicit Grant
x-samples-languages:
- curl
- node
- csharp
- ruby
- javascript
- python
- swift
x-send-defaults: true
x-flipdish-signalr:
- hubName: AnalyticsHub
  events:
  - eventName: analytics.website
    eventType: AnalyticsClientEvent
- hubName: AppHub
  events:
  - eventName: app.created
    eventType: AppCreatedEvent
  - eventName: app.updated
    eventType: AppUpdatedEvent
- hubName: AuthorizationHub
  events: []
- hubName: BankAccountHub
  events:
  - eventName: bankaccount.created
    eventType: BankAccountCreatedEvent
  - eventName: bankaccount.updated
    eventType: BankAccountUpdatedEvent
  - eventName: bankaccount.deleted
    eventType: BankAccountDeletedEvent
- hubName: CampaignHub
  events: []
- hubName: CardReaderHub
  events:
  - eventName: cardreaders.kiosk.bluetooth.initiatepairingmode
    eventType: KioskBluetoothPairingModeEvent
  - eventName: cardreaders.kiosk.bluetooth.unpaired
    eventType: KioskBluetoothTerminalUnpairedEvent
  - eventName: cardreaders.kiosk.bluetooth.updated
    eventType: KioskBluetoothTerminalUpdatedEvent
  - eventName: cardreaders.kiosk.bluetooth.checkforupdates
    eventType: KioskBluetoothTerminalInitiateUpdateCheckEvent
  - eventName: cardreaders.kiosk.bluetooth.initiateinstallupdatemode
    eventType: KioskBluetoothInstallUpdateInitiateEvent
  - eventName: cardreaders.kiosk.bluetooth.cancelupdateinstall
    eventType: KioskBluetoothTerminalCancelUpdateEvent
  - eventName: cardreaders.kiosk.bluetooth.installationstatus
    eventType: KioskBluetoothTerminalInstallationStatusEvent
  - eventName: cardreaders.kiosk.bluetooth.firmwareupdateversion
    eventType: KioskBluetoothTerminalFirmwareVersionStatusEvent
  - eventName: cardreaders.kiosk.bluetooth.terminalactionstatechanged
    eventType: KioskTerminalActionStateChangedEvent
- hubName: ChannelHub
  events: []
- hubName: CustomerHub
  events:
  - eventName: customer.created
    eventType: CustomerCreatedEvent
  - eventName: customer.updated
    eventType: CustomerUpdatedEvent
  - eventName: customer.consent.updated
    eventType: CustomerConsentUpdatedEvent
- hubName: HydraHub
  events:
  - eventName: hydra.assigned
    eventType: HydraAssignedEvent
  - eventName: hydra.request_reset
    eventType: HydraRequestResetEvent
  - eventName: hydra.setting_changed
    eventType: HydraSettingChangedEvent
  - eventName: hydra.conection_status_changed
    eventType: HydraConnectionStatusChangedEvent
  - eventName: hydra.unassigned
    eventType: HydraUnAssignedEvent
  - eventName: hydra.store.assigned
    eventType: HydraStoreAssignedEvent
  - eventName: hydra.store.unassigned
    eventType: HydraStoreUnassignedEvent
- hubName: MenuCheckpointHub
  events: []
- hubName: MenuHub
  events: []
- hubName: OrderHub
  events:
  - eventName: order.created
    eventType: OrderCreatedEvent
  - eventName: order.rejected
    eventType: OrderRejectedEvent
  - eventName: order.accepted
    eventType: OrderAcceptedEvent
  - eventName: order.refunded
    eventType: OrderRefundedEvent
- hubName: PhoneCallHub
  events: []
- hubName: PrinterHub
  events: []
- hubName: StoreGroupHub
  events:
  - eventName: store_group.created
    eventType: StoreGroupCreatedEvent
  - eventName: store_group.updated
    eventType: StoreGroupUpdatedEvent
  - eventName: store_group.deleted
    eventType: StoreGroupDeletedEvent
- hubName: StoreHub
  events:
  - eventName: store.created
    eventType: StoreCreatedEvent
  - eventName: store.updated
    eventType: StoreUpdatedEvent
  - eventName: store.archived
    eventType: StoreArchivedEvent
  - eventName: store.unarchived
    eventType: StoreUnarchivedEvent
  - eventName: store.published
    eventType: StorePublishedEvent
  - eventName: store.unpublished
    eventType: StoreUnpublishedEvent
  - eventName: store.deleted
    eventType: StoreDeletedEvent
  - eventName: store.address.updated
    eventType: StoreAddressUpdatedEvent
  - eventName: store.opening_hours.updated
    eventType: StoreOpeningHoursUpdatedEvent
  - eventName: store.menu.assigned
    eventType: StoreMenuAssignedEvent
  - eventName: store.delivery_zone.created
    eventType: DeliveryZoneCreatedEvent
  - eventName: store.delivery_zone.updated
    eventType: DeliveryZoneUpdatedEvent
  - eventName: store.delivery_zone.deleted
    eventType: DeliveryZoneDeletedEvent
  - eventName: store_group.created
    eventType: StoreGroupCreatedEvent
  - eventName: store_group.updated
    eventType: StoreGroupUpdatedEvent
  - eventName: store_group.deleted
    eventType: StoreGroupDeletedEvent
  - eventName: store.business_hours_override.created
    eventType: StoreBusinessHoursOverrideCreatedEvent
  - eventName: store.business_hours_override.deleted
    eventType: StoreBusinessHoursOverrideDeletedEvent
  - eventName: store.preorder_config.updated
    eventType: StorePreOrderConfigUpdatedEvent
  - eventName: store.logo.created
    eventType: StoreLogoCreatedEvent
  - eventName: store.logo.updated
    eventType: StoreLogoUpdatedEvent
  - eventName: store.logo.deleted
    eventType: StoreLogoDeletedEvent
  - eventName: store.kiosk_setting.updated
    eventType: StoreKioskSettingUpdatedEvent
  - eventName: store.fee_config.updated
    eventType: StoreFeeConfigUpdatedEvent
- hubName: TeammateHub
  events:
  - eventName: teammate.invite.sent
    eventType: TeammateInviteSentEvent
  - eventName: teammate.invite.accepted
    eventType: TeammateInviteAcceptedEvent
  - eventName: teammate.updated
    eventType: TeammateUpdatedEvent
  - eventName: teammate.deleted
    eventType: TeammateDeletedEvent
- hubName: TelephonyConfigHub
  events: []
- hubName: VoucherHub
  events:
  - eventName: voucher.created
    eventType: VoucherCreatedEvent
  - eventName: voucher.deleted
    eventType: VoucherDeletedEvent
  - eventName: voucher.updated
    eventType: VoucherUpdatedEvent
  - eventName: voucher.applied
    eventType: VoucherAppliedEvent
- hubName: WebhookHub
  events: []
- hubName: WebsiteHub
  events: []