Flipdish Platform API

Cross-cutting platform surface: webhooks, events, OAuth clients, authorization tokens, audit logs, onboarding, features, and integrations.

OpenAPI Specification

flipdish-platform-openapi.json Raw ↑
{
  "openapi": "3.0.3",
  "info": {
    "title": "Flipdish API - Platform",
    "version": "v1.0",
    "description": "Flipdish Open API v1.0 \u2014 Platform 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": "[email protected]",
      "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": "Apm",
      "description": "Operations for Apm."
    },
    {
      "name": "AuditLogs",
      "description": "Operations for Audit Logs."
    },
    {
      "name": "AuthorizationTokens",
      "description": "Operations for Authorization Tokens."
    },
    {
      "name": "Clients",
      "description": "Operations for Clients."
    },
    {
      "name": "ContentSecurityPolicy",
      "description": "Operations for Content Security Policy."
    },
    {
      "name": "Events",
      "description": "Operations for Events."
    },
    {
      "name": "Features",
      "description": "Operations for Features."
    },
    {
      "name": "Files",
      "description": "Operations for Files."
    },
    {
      "name": "Fpm",
      "description": "Operations for Fpm."
    },
    {
      "name": "Home",
      "description": "Operations for Home."
    },
    {
      "name": "Hydra",
      "description": "Operations for Hydra."
    },
    {
      "name": "Intercom",
      "description": "Operations for Intercom."
    },
    {
      "name": "Lightspeed",
      "description": "Operations for Lightspeed."
    },
    {
      "name": "LookerDashboard",
      "description": "Operations for Looker Dashboard."
    },
    {
      "name": "LookerSingleSignOn",
      "description": "Operations for Looker Single Sign On."
    },
    {
      "name": "OAuthClients",
      "description": "Operations for OAuth Clients."
    },
    {
      "name": "Onboarding",
      "description": "Operations for Onboarding."
    },
    {
      "name": "Search",
      "description": "Operations for Search."
    },
    {
      "name": "SmsProviderCredentials",
      "description": "Operations for Sms Provider Credentials."
    },
    {
      "name": "Stuart",
      "description": "Operations for Stuart."
    },
    {
      "name": "Webhooks",
      "description": "Operations for Webhooks."
    }
  ],
  "paths": {
    "/api/v1.0/{appId}/apm/status": {
      "get": {
        "tags": [
          "Apm"
        ],
        "operationId": "GetApmStatus",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiResult_ApmStatus_"
                },
                "examples": {
                  "GetApmStatus200Example": {
                    "summary": "Default GetApmStatus 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": {
                        "IsApmEnabled": true
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetApmStatus400Example": {
                    "summary": "Default GetApmStatus 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": {
                  "GetApmStatus401Example": {
                    "summary": "Default GetApmStatus 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": {
                  "GetApmStatus403Example": {
                    "summary": "Default GetApmStatus 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": {
                  "GetApmStatus500Example": {
                    "summary": "Default GetApmStatus 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 Apm Status",
        "description": "Get Apm Status via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/apm/status).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/api/v1.0/{appId}/apm/statistics": {
      "get": {
        "tags": [
          "Apm"
        ],
        "operationId": "GetBasicStatistics",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          },
          {
            "name": "storeId",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "The store id query parameter.",
            "example": [
              500123
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiResult_ApmStatistics_"
                },
                "examples": {
                  "GetBasicStatistics200Example": {
                    "summary": "Default GetBasicStatistics 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": {
                        "EstimatedMinutesSaved": 1,
                        "EstimatedMinutesCouldSaved": 1,
                        "CurrencyData": []
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetBasicStatistics400Example": {
                    "summary": "Default GetBasicStatistics 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": {
                  "GetBasicStatistics401Example": {
                    "summary": "Default GetBasicStatistics 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": {
                  "GetBasicStatistics403Example": {
                    "summary": "Default GetBasicStatistics 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": {
                  "GetBasicStatistics500Example": {
                    "summary": "Default GetBasicStatistics 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 Basic Statistics",
        "description": "Get Basic Statistics via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/apm/statistics).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/api/v1.0/{appId}/apm/statistics/calendar": {
      "get": {
        "tags": [
          "Apm"
        ],
        "operationId": "GetCalendarWeekStatistics",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          },
          {
            "name": "storeId",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "The store id query parameter.",
            "example": [
              500123
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiArrayResult_ApmHourlyDataPoint_"
                },
                "examples": {
                  "GetCalendarWeekStatistics200Example": {
                    "summary": "Default GetCalendarWeekStatistics 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetCalendarWeekStatistics400Example": {
                    "summary": "Default GetCalendarWeekStatistics 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": {
                  "GetCalendarWeekStatistics401Example": {
                    "summary": "Default GetCalendarWeekStatistics 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": {
                  "GetCalendarWeekStatistics403Example": {
                    "summary": "Default GetCalendarWeekStatistics 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": {
                  "GetCalendarWeekStatistics500Example": {
                    "summary": "Default GetCalendarWeekStatistics 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 Calendar Week Statistics",
        "description": "Get Calendar Week Statistics via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/apm/statistics/calendar).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/api/v1.0/{appId}/apm/calls": {
      "get": {
        "tags": [
          "Apm"
        ],
        "operationId": "GetPaginatedCallList",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "The page query parameter.",
            "example": 1
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "The limit query parameter.",
            "example": 1
          },
          {
            "name": "storeId",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "The store id query parameter.",
            "example": [
              500123
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiPaginationResult_PhoneCall_"
                },
                "examples": {
                  "GetPaginatedCallList200Example": {
                    "summary": "Default GetPaginatedCallList 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Page": 1,
                      "Limit": 1,
                      "TotalRecordCount": 12.5,
                      "Data": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetPaginatedCallList400Example": {
                    "summary": "Default GetPaginatedCallList 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": {
                  "GetPaginatedCallList401Example": {
                    "summary": "Default GetPaginatedCallList 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": {
                  "GetPaginatedCallList403Example": {
                    "summary": "Default GetPaginatedCallList 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": {
                  "GetPaginatedCallList500Example": {
                    "summary": "Default GetPaginatedCallList 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 Paginated Call List",
        "description": "Get Paginated Call List via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/apm/calls).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/api/v1.0/{appId}/apm/statistics/calls/{aggregateDataBy}": {
      "get": {
        "tags": [
          "Apm"
        ],
        "operationId": "GetCallsStatistics",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          },
          {
            "name": "aggregateDataBy",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "Daily",
                "Weekly",
                "Monthly"
              ]
            },
            "description": "The aggregate data by path parameter.",
            "example": "Daily"
          },
          {
            "name": "dataPointLimit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "The data point limit query parameter.",
            "example": 1
          },
          {
            "name": "storeId",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "The store id query parameter.",
            "example": [
              500123
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiArrayResult_ApmDataPoint_"
                },
                "examples": {
                  "GetCallsStatistics200Example": {
                    "summary": "Default GetCallsStatistics 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetCallsStatistics400Example": {
                    "summary": "Default GetCallsStatistics 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": {
                  "GetCallsStatistics401Example": {
                    "summary": "Default GetCallsStatistics 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": {
                  "GetCallsStatistics403Example": {
                    "summary": "Default GetCallsStatistics 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": {
                  "GetCallsStatistics500Example": {
                    "summary": "Default GetCallsStatistics 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 Calls Statistics",
        "description": "Get Calls Statistics via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/apm/statistics/calls/{aggregateDataBy}).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/api/v1.0/{appId}/apm/statistics/orders/{aggregateDataBy}": {
      "get": {
        "tags": [
          "Apm"
        ],
        "operationId": "GetOrderStatistics",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          },
          {
            "name": "aggregateDataBy",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "Daily",
                "Weekly",
                "Monthly"
              ]
            },
            "description": "The aggregate data by path parameter.",
            "example": "Daily"
          },
          {
            "name": "dataPointLimit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "description": "The data point limit query parameter.",
            "example": 1
          },
          {
            "name": "storeId",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "description": "The store id query parameter.",
            "example": [
              500123
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiArrayResult_Apm

# --- truncated at 32 KB (1263 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flipdish/refs/heads/main/openapi/flipdish-platform-openapi.json