OpenAPI Specification
openapi: 3.0.3
info:
title: Flipdish API - Apps Accounts Stuart 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: Stuart
description: Operations for Stuart.
paths:
/api/v1.0/stuart/settings/{storeId}:
get:
tags:
- Stuart
operationId: Stuart_GetStuartSettings
parameters:
- name: storeId
in: path
required: true
schema:
type: integer
format: int32
description: The store id path parameter.
example: 500123
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResult_StuartSettings_'
examples:
Stuart_GetStuartSettings200Example:
summary: Default Stuart_GetStuartSettings 200 response
x-microcks-default: true
value:
Data:
ClientId: '500123'
ClientSecret: string
Enabled: true
WebhookUrlBasicAuthentication: string
OverrideWebhookUrl: true
MinutesToPickupBeforeThanDeliveryTime: 1
PackageType: Xsmall
TransportType: Bike
CancelOrderIfStuartCancelDelivery: true
TransportPrices:
Bike: 1.0
Cargobike: 1.0
Cargobikexl: 1.0
Motorbike: 1.0
Motorbikexl: 1.0
Car: 1.0
Van: 1.0
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
Stuart_GetStuartSettings400Example:
summary: Default Stuart_GetStuartSettings 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:
Stuart_GetStuartSettings401Example:
summary: Default Stuart_GetStuartSettings 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:
Stuart_GetStuartSettings403Example:
summary: Default Stuart_GetStuartSettings 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:
Stuart_GetStuartSettings404Example:
summary: Default Stuart_GetStuartSettings 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:
Stuart_GetStuartSettings500Example:
summary: Default Stuart_GetStuartSettings 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 Stuart_Get Stuart Settings
description: Stuart_Get Stuart Settings via the Flipdish Open API v1.0 (GET /api/v1.0/stuart/settings/{storeId}).
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
tags:
- Stuart
operationId: Stuart_PostStuartSettings
parameters:
- name: storeId
in: path
required: true
schema:
type: integer
format: int32
description: The store id path parameter.
example: 500123
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/StuartSettings'
examples:
Stuart_PostStuartSettingsRequestExample:
summary: Default Stuart_PostStuartSettings request
x-microcks-default: true
value:
ClientId: '500123'
ClientSecret: string
Enabled: true
WebhookUrlBasicAuthentication: string
OverrideWebhookUrl: true
MinutesToPickupBeforeThanDeliveryTime: 1
PackageType: Xsmall
TransportType: Bike
CancelOrderIfStuartCancelDelivery: true
TransportPrices:
Bike: 1.0
Cargobike: 1.0
Cargobikexl: 1.0
Motorbike: 1.0
Motorbikexl: 1.0
Car: 1.0
Van: 1.0
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
examples:
Stuart_PostStuartSettings200Example:
summary: Default Stuart_PostStuartSettings 200 response
x-microcks-default: true
value: {}
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResult_StuartSettings_'
examples:
Stuart_PostStuartSettings201Example:
summary: Default Stuart_PostStuartSettings 201 response
x-microcks-default: true
value:
Data:
ClientId: '500123'
ClientSecret: string
Enabled: true
WebhookUrlBasicAuthentication: string
OverrideWebhookUrl: true
MinutesToPickupBeforeThanDeliveryTime: 1
PackageType: Xsmall
TransportType: Bike
CancelOrderIfStuartCancelDelivery: true
TransportPrices:
Bike: 1.0
Cargobike: 1.0
Cargobikexl: 1.0
Motorbike: 1.0
Motorbikexl: 1.0
Car: 1.0
Van: 1.0
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
Stuart_PostStuartSettings400Example:
summary: Default Stuart_PostStuartSettings 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:
Stuart_PostStuartSettings401Example:
summary: Default Stuart_PostStuartSettings 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:
Stuart_PostStuartSettings403Example:
summary: Default Stuart_PostStuartSettings 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:
Stuart_PostStuartSettings500Example:
summary: Default Stuart_PostStuartSettings 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 Stuart_Post Stuart Settings
description: Stuart_Post Stuart Settings via the Flipdish Open API v1.0 (POST /api/v1.0/stuart/settings/{storeId}).
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v1.0/stuart/jobs/{jobId}:
get:
tags:
- Stuart
operationId: Stuart_GetJob
parameters:
- name: jobId
in: path
required: true
schema:
type: integer
format: int32
description: The job id path parameter.
example: 500123
- name: storeId
in: query
required: true
schema:
type: integer
format: int32
description: The store id query parameter.
example: 500123
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RestApiResult_JobResponse_'
examples:
Stuart_GetJob200Example:
summary: Default Stuart_GetJob 200 response
x-microcks-default: true
value:
Data:
Id: 500123
CreatedAt: '2026-06-02T12:00:00Z'
Status: Active
PackageType: string
TransportType: string
AssignmentCode: string
PickupAt: '2026-06-02T12:00:00Z'
DropoffAt: '2026-06-02T12:00:00Z'
Comment: string
Distance: 1.0
Duration: 1
Deliveries: []
Pricing:
Currency: EUR
TaxPercentage: 1.0
PriceTaxIncluded: 12.5
PriceTaxExcluded: 12.5
TaxAmount: 12.5
InvoiceUrl: https://api.flipdish.co/example
Driver:
Id: 500123
DisplayName: Example Name
Phone: '+353000000000'
PictureUrl: https://api.flipdish.co/example
TransportType: string
Latitude: 1.0
Longitude: 1.0
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
Stuart_GetJob400Example:
summary: Default Stuart_GetJob 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:
Stuart_GetJob401Example:
summary: Default Stuart_GetJob 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:
Stuart_GetJob403Example:
summary: Default Stuart_GetJob 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:
Stuart_GetJob500Example:
summary: Default Stuart_GetJob 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 Stuart_Get Job
description: Stuart_Get Job via the Flipdish Open API v1.0 (GET /api/v1.0/stuart/jobs/{jobId}).
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
tags:
- Stuart
operationId: Stuart_CancelJob
parameters:
- name: jobId
in: path
required: true
schema:
type: integer
format: int32
description: The job id path parameter.
example: 500123
- name: storeId
in: query
required: true
schema:
type: integer
format: int32
description: The store id query parameter.
example: 500123
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
examples:
Stuart_CancelJob200Example:
summary: Default Stuart_CancelJob 200 response
x-microcks-default: true
value: {}
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/FlipdishError'
examples:
Stuart_CancelJob400Example:
summary: Default Stuart_CancelJob 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:
Stuart_CancelJob401Example:
summary: Default Stuart_CancelJob 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:
Stuart_CancelJob403Example:
summary: Default Stuart_CancelJob 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:
Stuart_CancelJob500Example:
summary: Default Stuart_CancelJob 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 Stuart_Cancel Job
description: Stuart_Cancel Job via the Flipdish Open API v1.0 (DELETE /api/v1.0/stuart/jobs/{jobId}).
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
JobCancellation:
description: Job Cancellation
type: object
properties:
CanceledBy:
description: Canceled By
type: string
example: string
ReasonKey:
description: Reason Key
type: string
example: string
Comment:
description: Comment
type: string
example: string
JobDelivery:
description: Job Delivery
type: object
properties:
Id:
format: int32
description: Id
type: integer
example: 500123
Status:
description: Status
type: string
example: Active
PickedAt:
description: Picked At
type: string
example: '2026-06-02T12:00:00Z'
DeliveredAt:
description: Delivered At
type: string
example: '2026-06-02T12:00:00Z'
TrackingUrl:
description: Tracking Url
type: string
example: https://api.flipdish.co/example
ClientReference:
description: Client Reference
type: string
example: string
PackageDescription:
description: Package Description
type: string
example: string
PackageType:
description: Package Type
type: string
example: string
Pickup:
$ref: '#/components/schemas/JobDeliveryDetail'
Dropoff:
$ref: '#/components/schemas/JobDeliveryDetail'
Eta:
$ref: '#/components/schemas/JobEta'
Cancellation:
$ref: '#/components/schemas/JobCancellation'
Proof:
$ref: '#/components/schemas/JobProof'
JobResponse:
description: Job Response
type: object
properties:
Id:
format: int32
description: Id
type: integer
example: 500123
CreatedAt:
format: date-time
description: Created At
type: string
nullable: true
example: '2026-06-02T12:00:00Z'
Status:
description: Status
type: string
example: Active
PackageType:
description: Package Type
type: string
example: string
TransportType:
description: Transport Type
type: string
example: string
AssignmentCode:
description: Assignment Code
type: string
example: string
PickupAt:
description: Pickup At
type: string
example: '2026-06-02T12:00:00Z'
DropoffAt:
description: Dropoff At
type: string
example: '2026-06-02T12:00:00Z'
Comment:
description: Comment
type: string
example: string
Distance:
format: double
description: Distance
type: number
nullable: true
example: 1.0
Duration:
format: int32
description: Duration
type: integer
nullable: true
example: 1
Deliveries:
description: Deliveries
type: array
items:
$ref: '#/components/schemas/JobDelivery'
example: []
Pricing:
$ref: '#/components/schemas/JobPricing'
Driver:
$ref: '#/components/schemas/JobDriver'
JobEta:
description: Job Eta
type: object
properties:
Pickup:
description: Pickup
type: string
example: string
Dropoff:
description: Dropoff
type: string
example: string
StuartSettings:
description: Stuart settings
type: object
properties:
ClientId:
description: Client Id
type: string
example: '500123'
ClientSecret:
description: Client Secret
type: string
example: string
Enabled:
description: Enabled
type: boolean
example: true
WebhookUrlBasicAuthentication:
description: Webhook url to settle in the Stuart portal
type: string
example: string
OverrideWebhookUrl:
description: Override Flipdish Webhook Url
type: boolean
example: true
MinutesToPickupBeforeThanDeliveryTime:
format: int32
description: MinutesToPickupBeforeThanDeliveryTime
type: integer
nullable: true
example: 1
PackageType:
description: Package type
enum:
- Xsmall
- Small
- Medium
- Large
- Xlarge
type: string
nullable: true
example: Xsmall
TransportType:
description: Transport type
enum:
- Bike
- Cargobike
- Cargobikexl
- Motorbike
- Motorbikexl
- Car
- Van
type: string
nullable: true
example: Bike
CancelOrderIfStuartCancelDelivery:
description: Determines if Flipdish order should be cancel when Stuart cancels delivery
type: boolean
example: true
TransportPrices:
description: If the order exceeds are certain amount this configuration will determine a new vehicle type
type: object
properties:
Bike:
format: double
type: number
Cargobike:
format: double
type: number
Cargobikexl:
format: double
type: number
Motorbike:
format: double
type: number
Motorbikexl:
format: double
type: number
Car:
format: double
type: number
Van:
format: double
type: number
JobContact:
description: Job Contact
type: object
properties:
Firstname:
description: Firstname
type: string
example: Example Name
Lastname:
description: Lastname
type: string
example: Example Name
Phone:
description: Phone
type: string
example: '+353000000000'
Email:
description: Email
type: string
example: owner@example.com
Company:
description: Company
type: string
example: string
CompanyName:
description: Company Name
type: string
example: Example Name
JobPricing:
description: Job Pricing
type: object
properties:
Currency:
description: Currency
type: string
example: EUR
TaxPercentage:
format: double
description: Tax Percentage
type: number
nullable: true
example: 1.0
PriceTaxIncluded:
format: double
description: Price Tax Included
type: number
nullable: true
example: 12.5
PriceTaxExcluded:
format: double
description: Price Tax Excluded
type: number
nullable: true
example: 12.5
TaxAmount:
format: double
description: Tax Amount
type: number
nullable: true
example: 12.5
InvoiceUrl:
description: Invoice Url
type: string
example: https://api.flipdish.co/example
RestApiResult_StuartSettings_:
description: Rest api result
required:
- Data
type: object
properties:
Data:
$ref: '#/components/schemas/StuartSettings'
JobProof:
description: Job Proof
type: object
properties:
SignatureUrl:
description: Signature Url
type: string
example: https://api.flipdish.co/example
RestApiResult_JobResponse_:
description: Rest api result
required:
- Data
type: object
properties:
Data:
$ref: '#/components/schemas/JobResponse'
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'.
JobDriver:
description: Job Driver
type: object
properties:
Id:
format: int32
description: Id
type: integer
example: 500123
DisplayName:
description: Display Name
type: string
example: Example Name
Phone:
description: Phone
type: string
example: '+353000000000'
PictureUrl:
description: Picture Url
type: string
example: https://api.flipdish.co/example
TransportType:
description: Transport Type
type: string
example: string
Latitude:
format: double
description: Latitude
type: number
nullable: true
example: 1.0
Longitude:
format: double
description: Longitude
type: number
nullable: true
example: 1.0
JobAddress:
description: Job Address
type: object
properties:
Street:
description: Street
type: string
example: string
Postcode:
description: Postcode
type: string
example: string
City:
description: City
type: string
example: string
Country:
description: Country
type: string
example: IE
Zone:
description: Zone
type: string
example: string
FormattedAddress:
description: Formatted Address
type: string
example: string
JobDeliveryDetail:
description: Job Delivery Detail
type: object
properties:
Id:
format: int32
description: Id
type: integer
example: 500123
Latitude:
format: double
description: Latitude
type: number
nullable: true
example: 1.0
Longitude:
format: double
description: Longitude
type: number
nullable: true
example: 1.0
Comment:
description: Comment
type: string
example: string
Address:
$ref: '#/components/schemas/JobAddress'
Contact:
$ref: '#/components/schemas/JobContact'
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