Flipdish Subscriptions API

Operations for Subscriptions.

OpenAPI Specification

flipdish-subscriptions-api-openapi.yml Raw ↑
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