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