OpenAPI Specification
openapi: 3.0.3
info:
title: Flipdish API - Apps Accounts Subscriptions API
version: v1.0
description: Flipdish Open API v1.0 — Apps operations. Flipdish is an online ordering and branded-app platform for restaurants and takeaways. This specification was derived from the official Flipdish Swagger document and grouped by resource domain.
contact:
name: Flipdish Support
email: help@flipdish.com
url: https://help.flipdish.com
x-generated-from: https://api.flipdish.co/swagger/docs/v1.0
x-last-validated: '2026-06-02'
servers:
- url: https://api.flipdish.co
description: Flipdish production API
security:
- oauth2:
- api
tags:
- name: Subscriptions
description: Operations for Subscriptions.
paths:
/api/v1.0/{appId}/subscriptions/{subscriptionId}:
get:
tags:
- Subscriptions
operationId: GetSubscriptionById
parameters:
- name: appId
in: path
required: true
schema:
type: string
description: The app id path parameter.
example: '500123'
- name: subscriptionId
in: path
required: true
schema:
type: string
description: The subscription id path parameter.
example: '500123'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResult_Subscription_'
examples:
GetSubscriptionById200Example:
summary: Default GetSubscriptionById 200 response
x-microcks-default: true
value:
Data:
Products: []
NextInvoiceAmount: 12.5
NextInvoiceBillingDate: '2026-06-02T12:00:00Z'
UpcomingInvoiceItems: []
UpcomingInvoiceDiscounts: []
UpcomingInvoice:
Amount: 12.5
NextBillingDate: '2026-06-02T12:00:00Z'
Subtotal: 12.5
TotalExcludingTax: 12.5
AmountDue: 12.5
Tax: 1.0
Items: []
Discounts: []
SubscriptionId: '500123'
Name: Example Name
Status: Incomplete
Currency: EUR
User: string
DefaultPaymentDescription: string
CancellationRequestDate: '2026-06-02T12:00:00Z'
CancellationDate: '2026-06-02T12:00:00Z'
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionById400Example:
summary: Default GetSubscriptionById 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionById401Example:
summary: Default GetSubscriptionById 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionById403Example:
summary: Default GetSubscriptionById 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionById404Example:
summary: Default GetSubscriptionById 404 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionById500Example:
summary: Default GetSubscriptionById 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
summary: Flipdish Get Subscription by Id
description: Get Subscription by Id via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/subscriptions/{subscriptionId}).
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v1.0/{appId}/subscriptions/hasPaymentMethod:
get:
tags:
- Subscriptions
operationId: HasCustomerGotPaymentMethodOnFile
parameters:
- name: appId
in: path
required: true
schema:
type: string
description: The app id path parameter.
example: '500123'
- name: email
in: query
required: false
schema:
type: string
description: The email query parameter.
example: owner@example.com
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResult_HasPaymentMethodResponse_'
examples:
HasCustomerGotPaymentMethodOnFile200Example:
summary: Default HasCustomerGotPaymentMethodOnFile 200 response
x-microcks-default: true
value:
Data:
HasPaymentMethod: true
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
HasCustomerGotPaymentMethodOnFile400Example:
summary: Default HasCustomerGotPaymentMethodOnFile 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
HasCustomerGotPaymentMethodOnFile401Example:
summary: Default HasCustomerGotPaymentMethodOnFile 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
HasCustomerGotPaymentMethodOnFile403Example:
summary: Default HasCustomerGotPaymentMethodOnFile 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
HasCustomerGotPaymentMethodOnFile500Example:
summary: Default HasCustomerGotPaymentMethodOnFile 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
summary: Flipdish Has Customer Got Payment Method on File
description: Has Customer Got Payment Method on File via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/subscriptions/hasPaymentMethod).
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v1.0/{appId}/subscriptions:
get:
tags:
- Subscriptions
operationId: GetSubscriptionsForApp
parameters:
- name: appId
in: path
required: true
schema:
type: string
description: The app id path parameter.
example: '500123'
- name: excludeNotOwnedSubscriptions
in: query
required: false
schema:
type: boolean
description: The exclude not owned subscriptions query parameter.
example: true
- name: storeId
in: query
required: false
explode: true
schema:
type: array
items:
type: integer
format: int32
description: The store id query parameter.
example:
- 500123
- name: excludeCancelledSubscriptions
in: query
required: false
schema:
type: boolean
description: The exclude cancelled subscriptions query parameter.
example: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiArrayResult_SubscriptionSummary_'
examples:
GetSubscriptionsForApp200Example:
summary: Default GetSubscriptionsForApp 200 response
x-microcks-default: true
value:
Data: []
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionsForApp400Example:
summary: Default GetSubscriptionsForApp 400 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'401':
description: Authentication has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionsForApp401Example:
summary: Default GetSubscriptionsForApp 401 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'403':
description: Successful authentication, but authorization has been denied for this request.
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionsForApp403Example:
summary: Default GetSubscriptionsForApp 403 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
GetSubscriptionsForApp500Example:
summary: Default GetSubscriptionsForApp 500 response
x-microcks-default: true
value:
error:
errorMessage: Invalid or missing parameters.
errorCode: BadRequest
details: Validation failed for field 'storeId'.
security:
- oauth2:
- api
summary: Flipdish Get Subscriptions for App
description: Get Subscriptions for App via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/subscriptions).
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
HasPaymentMethodResponse:
description: Has Payment Method Response
required:
- HasPaymentMethod
type: object
properties:
HasPaymentMethod:
description: Has Payment Method
type: boolean
example: true
RestApiResult_HasPaymentMethodResponse_:
description: Rest api result
required:
- Data
type: object
properties:
Data:
$ref: '#/components/schemas/HasPaymentMethodResponse'
SubscriptionProduct:
description: Product
required:
- ProductId
- Name
- Quantity
- PaymentFrequency
type: object
properties:
ProductId:
description: Product Identifier
type: string
example: '500123'
Name:
description: Name
type: string
example: Example Name
Quantity:
format: int64
description: Quantity
type: integer
example: 3
PricePerUnit:
format: double
description: Price Per Unit
type: number
nullable: true
example: 12.5
PriceTotal:
format: double
description: Price Total
type: number
nullable: true
example: 12.5
PaymentFrequency:
description: Payment Frequency
enum:
- day
- week
- month
- year
type: string
example: day
Stores:
description: Stores
type: array
items:
$ref: '#/components/schemas/SubscriptionStore'
example: []
RestApiResult_Subscription_:
description: Rest api result
required:
- Data
type: object
properties:
Data:
$ref: '#/components/schemas/Subscription'
SubscriptionSummary:
description: Subscription Summary
required:
- SubscriptionId
- Name
- Status
- Currency
- User
type: object
properties:
NextInvoiceAmount:
format: double
description: Next invoice amount
type: number
nullable: true
example: 12.5
NextInvoiceBillingDate:
format: date-time
description: Next invoice billing date
type: string
nullable: true
example: '2026-06-02T12:00:00Z'
SubscriptionId:
description: The subscription identifier
type: string
example: '500123'
Name:
description: Name
type: string
example: Example Name
Status:
description: Status
enum:
- Incomplete
- IncompleteExpired
- Trialing
- Active
- PastDue
- Canceled
- Unpaid
type: string
example: Incomplete
Currency:
description: Currency
enum:
- EUR
- USD
- GBP
- CAD
- AUD
- DJF
- ZAR
- ETB
- AED
- BHD
- DZD
- EGP
- IQD
- JOD
- KWD
- LBP
- LYD
- MAD
- OMR
- QAR
- SAR
- SYP
- TND
- YER
- CLP
- INR
- AZN
- RUB
- BYN
- BGN
- NGN
- BDT
- CNY
- BAM
- CZK
- DKK
- CHF
- MVR
- BTN
- XCD
- BZD
- HKD
- IDR
- JMD
- MYR
- NZD
- PHP
- SGD
- TTD
- XDR
- ARS
- BOB
- COP
- CRC
- CUP
- DOP
- GTQ
- HNL
- MXN
- NIO
- PAB
- PEN
- PYG
- UYU
- VEF
- IRR
- XOF
- CDF
- XAF
- HTG
- ILS
- HRK
- HUF
- AMD
- ISK
- JPY
- GEL
- KZT
- KHR
- KRW
- KGS
- LAK
- MKD
- MNT
- BND
- MMK
- NOK
- NPR
- PKR
- PLN
- AFN
- BRL
- MDL
- RON
- RWF
- SEK
- LKR
- SOS
- ALL
- RSD
- KES
- TJS
- THB
- ERN
- TMT
- BWP
- TRY
- UAH
- UZS
- VND
- MOP
- TWD
- BMD
type: string
example: EUR
User:
description: User
type: string
example: string
DefaultPaymentDescription:
description: Default payment description
type: string
example: string
CancellationRequestDate:
format: date-time
description: Cancellation Date
type: string
nullable: true
example: '2026-06-02T12:00:00Z'
CancellationDate:
format: date-time
description: Cancel Date
type: string
nullable: true
example: '2026-06-02T12:00:00Z'
RestApiArrayResult_SubscriptionSummary_:
description: Rest api array result
required:
- Data
type: object
properties:
Data:
description: Generic data object.
type: array
items:
$ref: '#/components/schemas/SubscriptionSummary'
example: []
UpcomingInvoice:
description: UpcomingInvoice.
required:
- Subtotal
- AmountDue
- Tax
type: object
properties:
Amount:
format: double
description: Amount
type: number
example: 12.5
NextBillingDate:
format: date-time
description: Next billing date
type: string
example: '2026-06-02T12:00:00Z'
Subtotal:
format: double
description: Subtotal
type: number
example: 12.5
TotalExcludingTax:
format: double
description: Total excluding tax
type: number
nullable: true
example: 12.5
AmountDue:
format: double
description: Amount due
type: number
example: 12.5
Tax:
format: double
description: Tax
type: number
example: 1.0
Items:
description: Items
type: array
items:
$ref: '#/components/schemas/InvoiceItem'
example: []
Discounts:
description: Discounts
type: array
items:
$ref: '#/components/schemas/InvoiceDiscount'
example: []
InvoicePeriod:
description: Invoice Period
type: object
properties:
Start:
format: date-time
description: Start
type: string
example: '2026-06-02T12:00:00Z'
End:
format: date-time
description: End
type: string
example: '2026-06-02T12:00:00Z'
FlipdishError:
type: object
description: Standard Flipdish API error response. Errors are returned as a JSON object with a human-readable message and a programmatic error code (see https://developers.flipdish.com/docs/error-handling).
properties:
error:
type: object
description: Error detail object.
properties:
errorMessage:
type: string
description: Descriptive explanation of the issue.
example: Invalid or missing parameters.
errorCode:
type: string
description: Unique identifier for programmatic error handling.
example: BadRequest
details:
type: string
description: Additional context returned in non-production environments.
example: Validation failed for field 'storeId'.
SubscriptionStore:
description: Subscription Store
required:
- Id
- Name
type: object
properties:
Id:
format: int32
description: Store Id
type: integer
example: 500123
Name:
description: Name
type: string
example: Example Name
InvoiceDiscount:
description: Invoice Discount
required:
- Name
- Amount
type: object
properties:
Name:
description: Name
type: string
example: Example Name
Amount:
format: double
description: Amount
type: number
example: 12.5
Subscription:
description: Subscription
required:
- Products
- SubscriptionId
- Name
- Status
- Currency
- User
type: object
properties:
Products:
description: Products
type: array
items:
$ref: '#/components/schemas/SubscriptionProduct'
example: []
NextInvoiceAmount:
format: double
description: Next invoice amount
type: number
nullable: true
example: 12.5
NextInvoiceBillingDate:
format: date-time
description: Next invoice billing date
type: string
nullable: true
example: '2026-06-02T12:00:00Z'
UpcomingInvoiceItems:
description: Upcoming invoice items
type: array
items:
$ref: '#/components/schemas/InvoiceItem'
example: []
UpcomingInvoiceDiscounts:
description: Upcoming invoice discounts
type: array
items:
$ref: '#/components/schemas/InvoiceDiscount'
example: []
UpcomingInvoice:
$ref: '#/components/schemas/UpcomingInvoice'
SubscriptionId:
description: The subscription identifier
type: string
example: '500123'
Name:
description: Name
type: string
example: Example Name
Status:
description: Status
enum:
- Incomplete
- IncompleteExpired
- Trialing
- Active
- PastDue
- Canceled
- Unpaid
type: string
example: Incomplete
Currency:
description: Currency
enum:
- EUR
- USD
- GBP
- CAD
- AUD
- DJF
- ZAR
- ETB
- AED
- BHD
- DZD
- EGP
- IQD
- JOD
- KWD
- LBP
- LYD
- MAD
- OMR
- QAR
- SAR
- SYP
- TND
- YER
- CLP
- INR
- AZN
- RUB
- BYN
- BGN
- NGN
- BDT
- CNY
- BAM
- CZK
- DKK
- CHF
- MVR
- BTN
- XCD
- BZD
- HKD
- IDR
- JMD
- MYR
- NZD
- PHP
- SGD
- TTD
- XDR
- ARS
- BOB
- COP
- CRC
- CUP
- DOP
- GTQ
- HNL
- MXN
- NIO
- PAB
- PEN
- PYG
- UYU
- VEF
- IRR
- XOF
- CDF
- XAF
- HTG
- ILS
- HRK
- HUF
- AMD
- ISK
- JPY
- GEL
- KZT
- KHR
- KRW
- KGS
- LAK
- MKD
- MNT
- BND
- MMK
- NOK
- NPR
- PKR
- PLN
- AFN
- BRL
- MDL
- RON
- RWF
- SEK
- LKR
- SOS
- ALL
- RSD
- KES
- TJS
- THB
- ERN
- TMT
- BWP
- TRY
- UAH
- UZS
- VND
- MOP
- TWD
- BMD
type: string
example: EUR
User:
description: User
type: string
example: string
DefaultPaymentDescription:
description: Default payment description
type: string
example: string
CancellationRequestDate:
format: date-time
description: Cancellation Date
type: string
nullable: true
example: '2026-06-02T12:00:00Z'
CancellationDate:
format: date-time
description: Cancel Date
type: string
nullable: true
example: '2026-06-02T12:00:00Z'
InvoiceItem:
description: Invoice Item
required:
- Description
- Quantity
- UnitAmountExcludingTax
- Tax
- Amount
- Period
type: object
properties:
Description:
description: Description
type: string
example: string
Quantity:
format: int64
description: Quantity
type: integer
example: 3
UnitAmountExcludingTax:
format: double
description: Unit Amount Excluding Tax
type: number
example: 12.5
Tax:
format: double
description: Tax
type: number
example: 1.0
Amount:
format: double
description: Amount
type: number
example: 12.5
Period:
$ref: '#/components/schemas/InvoicePeriod'
securitySchemes:
oauth2:
type: oauth2
description: OAuth 2.0. Implicit grant for first-party portal apps; client credentials grant for server-to-server App Store apps (exchange Client ID + Secret Key for a bearer access token).
flows:
implicit:
authorizationUrl: https://api.flipdish.co/identity/connect/authorize
scopes:
api: Access to the Flipdish API
clientCredentials:
tokenUrl: https://api.flipdish.co/identity/connect/token
scopes:
api: Access to the Flipdish API