Flipdish Marketing API

Run marketing campaigns, vouchers, cross-sell, and push notifications.

OpenAPI Specification

flipdish-marketing-openapi.json Raw ↑
{
  "openapi": "3.0.3",
  "info": {
    "title": "Flipdish API - Marketing",
    "version": "v1.0",
    "description": "Flipdish Open API v1.0 \u2014 Marketing 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": "Campaigns",
      "description": "Operations for Campaigns."
    },
    {
      "name": "CrossSell",
      "description": "Operations for Cross Sell."
    },
    {
      "name": "PushNotifications",
      "description": "Operations for Push Notifications."
    },
    {
      "name": "RestaurantVouchersPayGreen",
      "description": "Operations for Restaurant Vouchers Pay Green."
    },
    {
      "name": "Vouchers",
      "description": "Operations for Vouchers."
    }
  ],
  "paths": {
    "/api/v1.0/{appId}/campaigns/loyalty": {
      "get": {
        "tags": [
          "Campaigns"
        ],
        "operationId": "GetLoyaltyCampaignsForApp",
        "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/RestApiArrayResult_LoyaltyCampaign_"
                },
                "examples": {
                  "GetLoyaltyCampaignsForApp200Example": {
                    "summary": "Default GetLoyaltyCampaignsForApp 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetLoyaltyCampaignsForApp400Example": {
                    "summary": "Default GetLoyaltyCampaignsForApp 400 response",
                    "x-microcks-default": true,
                    "value": {
                      "error": {
                        "errorMessage": "Invalid or missing parameters.",
                        "errorCode": "BadRequest",
                        "details": "Validation failed for field 'storeId'."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetLoyaltyCampaignsForApp401Example": {
                    "summary": "Default GetLoyaltyCampaignsForApp 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": {
                  "GetLoyaltyCampaignsForApp403Example": {
                    "summary": "Default GetLoyaltyCampaignsForApp 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": {
                  "GetLoyaltyCampaignsForApp404Example": {
                    "summary": "Default GetLoyaltyCampaignsForApp 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": {
                  "GetLoyaltyCampaignsForApp500Example": {
                    "summary": "Default GetLoyaltyCampaignsForApp 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 Loyalty Campaigns for App",
        "description": "Get Loyalty Campaigns for App via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/campaigns/loyalty).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      },
      "post": {
        "tags": [
          "Campaigns"
        ],
        "operationId": "CreateLoyaltyCampaign",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {}
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiResult_LoyaltyCampaign_"
                },
                "examples": {
                  "CreateLoyaltyCampaign200Example": {
                    "summary": "Default CreateLoyaltyCampaign 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": {
                        "CampaignId": 500123,
                        "Statistics": {
                          "VouchersIssued": 1,
                          "VouchersRedeemed": 1,
                          "Conversion": 1.0,
                          "SalesGenerated": 1.0,
                          "ReturnOfInvestment": 1.0
                        },
                        "Stores": [],
                        "PublicId": "00000000-0000-0000-0000-000000000000",
                        "OrdersBeforeReceivingVoucher": 1,
                        "PercentDiscountAmount": 12.5,
                        "MaxDiscount": 3,
                        "RoundingStrategy": 1,
                        "ShouldIncludeOrdersWithLoyaltyVoucher": true,
                        "VoucherValidPeriodDays": 1,
                        "IncludeDeliveryFee": true,
                        "AutoApplyResultingVouchers": true,
                        "IncludeExistingOrders": true,
                        "IsEnabled": true,
                        "StoreIds": [
                          1
                        ],
                        "AppId": "500123",
                        "ForceDiscount": true
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "CreateLoyaltyCampaign400Example": {
                    "summary": "Default CreateLoyaltyCampaign 400 response",
                    "x-microcks-default": true,
                    "value": {
                      "error": {
                        "errorMessage": "Invalid or missing parameters.",
                        "errorCode": "BadRequest",
                        "details": "Validation failed for field 'storeId'."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "CreateLoyaltyCampaign401Example": {
                    "summary": "Default CreateLoyaltyCampaign 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": {
                  "CreateLoyaltyCampaign403Example": {
                    "summary": "Default CreateLoyaltyCampaign 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": {
                  "CreateLoyaltyCampaign404Example": {
                    "summary": "Default CreateLoyaltyCampaign 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": {
                  "CreateLoyaltyCampaign500Example": {
                    "summary": "Default CreateLoyaltyCampaign 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 Create Loyalty Campaign",
        "description": "Create Loyalty Campaign via the Flipdish Open API v1.0 (POST /api/v1.0/{appId}/campaigns/loyalty).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/api/v1.0/{appId}/campaigns/retention": {
      "get": {
        "tags": [
          "Campaigns"
        ],
        "operationId": "GetRetentionCampaignsForApp",
        "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/RestApiArrayResult_RetentionCampaign_"
                },
                "examples": {
                  "GetRetentionCampaignsForApp200Example": {
                    "summary": "Default GetRetentionCampaignsForApp 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetRetentionCampaignsForApp400Example": {
                    "summary": "Default GetRetentionCampaignsForApp 400 response",
                    "x-microcks-default": true,
                    "value": {
                      "error": {
                        "errorMessage": "Invalid or missing parameters.",
                        "errorCode": "BadRequest",
                        "details": "Validation failed for field 'storeId'."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetRetentionCampaignsForApp401Example": {
                    "summary": "Default GetRetentionCampaignsForApp 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": {
                  "GetRetentionCampaignsForApp403Example": {
                    "summary": "Default GetRetentionCampaignsForApp 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": {
                  "GetRetentionCampaignsForApp404Example": {
                    "summary": "Default GetRetentionCampaignsForApp 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": {
                  "GetRetentionCampaignsForApp500Example": {
                    "summary": "Default GetRetentionCampaignsForApp 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 Retention Campaigns for App",
        "description": "Get Retention Campaigns for App via the Flipdish Open API v1.0 (GET /api/v1.0/{appId}/campaigns/retention).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      },
      "post": {
        "tags": [
          "Campaigns"
        ],
        "operationId": "CreateRetentionCampaign",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {}
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RestApiResult_RetentionCampaign_"
                },
                "examples": {
                  "CreateRetentionCampaign200Example": {
                    "summary": "Default CreateRetentionCampaign 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": {
                        "CampaignId": 500123,
                        "Statistics": {
                          "VouchersIssued": 1,
                          "VouchersRedeemed": 1,
                          "Conversion": 1.0,
                          "SalesGenerated": 1.0,
                          "ReturnOfInvestment": 1.0
                        },
                        "Stores": [],
                        "PublicId": "00000000-0000-0000-0000-000000000000",
                        "NotifyCustomerAfterMinutes": 1,
                        "PercentDiscountAmount": 12.5,
                        "MaxDiscount": 3,
                        "LumpDiscountAmount": 12.5,
                        "VoucherValidPeriodDays": 1,
                        "IncludeDeliveryFee": true,
                        "AutoApplyResultingVouchers": true,
                        "IncludeExistingOrders": true,
                        "IsEnabled": true,
                        "StoreIds": [
                          1
                        ],
                        "AppId": "500123",
                        "ForceDiscount": true
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "CreateRetentionCampaign400Example": {
                    "summary": "Default CreateRetentionCampaign 400 response",
                    "x-microcks-default": true,
                    "value": {
                      "error": {
                        "errorMessage": "Invalid or missing parameters.",
                        "errorCode": "BadRequest",
                        "details": "Validation failed for field 'storeId'."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "CreateRetentionCampaign401Example": {
                    "summary": "Default CreateRetentionCampaign 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": {
                  "CreateRetentionCampaign403Example": {
                    "summary": "Default CreateRetentionCampaign 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": {
                  "CreateRetentionCampaign404Example": {
                    "summary": "Default CreateRetentionCampaign 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": {
                  "CreateRetentionCampaign500Example": {
                    "summary": "Default CreateRetentionCampaign 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 Create Retention Campaign",
        "description": "Create Retention Campaign via the Flipdish Open API v1.0 (POST /api/v1.0/{appId}/campaigns/retention).",
        "x-microcks-operation": {
          "delay": 0,
          "dispatcher": "FALLBACK"
        }
      }
    },
    "/api/v1.0/{appId}/campaigns/loyalty/{storeId}": {
      "get": {
        "tags": [
          "Campaigns"
        ],
        "operationId": "GetLoyaltyCampaignsForStore",
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The app id path parameter.",
            "example": "500123"
          },
          {
            "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/RestApiArrayResult_LoyaltyCampaign_"
                },
                "examples": {
                  "GetLoyaltyCampaignsForStore200Example": {
                    "summary": "Default GetLoyaltyCampaignsForStore 200 response",
                    "x-microcks-default": true,
                    "value": {
                      "Data": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetLoyaltyCampaignsForStore400Example": {
                    "summary": "Default GetLoyaltyCampaignsForStore 400 response",
                    "x-microcks-default": true,
                    "value": {
                      "error": {
                        "errorMessage": "Invalid or missing parameters.",
                        "errorCode": "BadRequest",
                        "details": "Validation failed for field 'storeId'."
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlipdishError"
                },
                "examples": {
                  "GetLoyaltyCampaignsForStore401Example": {
                    "summary": "Default GetLoyaltyCampaignsForStore 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": {
                  "GetLoyaltyCampaignsForStore403Example": {
                    "summary": "Default GetLoyaltyCampaignsForStore 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": {
                  "GetLoyaltyCampaignsForStore404Example": {
                    "summary": "Default GetLoyaltyCampaignsForStore 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": {
                  "GetLoyaltyCampaignsForStore500Example": {
                    "summary": "Default GetLoyaltyCampaignsForStore 500 response",
                    "x-microcks-default": true,
                    "value": {
                      "error": {
                        "errorMessage": "Invalid or missing parameters.",
                        "errorCode": "BadRequest",
                        "details": "Validation failed for field 'storeId'."
                      }
                    }
                  }
                }
              }
            

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