Voosh API Documentation (1.0.0)

Overview

Voosh aggregates data from multiple platforms, including DoorDash, Uber Eats, ezCater, Grubhub, and others, to provide a unified system that enables restaurant owners to analyze their listed restaurants across various platforms and locations.

This API documentation outlines the available endpoints that facilitate seamless access to key operational data. These APIs empower restaurants to efficiently manage operations and make data-driven decisions.

API Environment & Access

These APIs are currently hosted on a mock server and return sample (dummy) data for testing and integration purposes.

Once you become an official Voosh partner, you will receive the actual Gateway URL along with a unique API key (partner token) for secure authentication and access to live data. For partnership inquiries, please contact us.

Rate Limiting

Voosh uses a request Rate Limiter to limit the number of requests received by the API within a time frame. Rate Limiter helps maintain system stability during heavy traffic loads.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://api.voosh.ai/_mock/main/
http://localhost:3099/

Partner Authentication

The Partner Authentication APIs enable Voosh and its partners to securely fetch and manage shared client data. These APIs facilitate seamless integration by providing access to common clients across platforms.

Operations

Orders API

The Orders API enables seamless aggregation of order data from multiple third-party platforms for clients common to Voosh and its partners. This API provides:

  • Order Details: Retrieves comprehensive order information from integrated platforms, including order status, timestamps, and itemized breakdowns.

  • Financial Insights: Fetches order-level financial data, offering visibility into revenue, taxes, fees, and other cost components.

By consolidating order data across platforms, this API empowers partners to efficiently analyze performance, optimize operations, and ensure accurate financial tracking.

Operations

Dispute Manager API

The Dispute Manager API enables partners to track and manage disputed orders for common clients across multiple platforms. This API provides:

  • Disputed Order Data: Retrieves details of disputed orders, including their current status (approved, denied, or expired) and the total number of orders eligible for dispute.

  • Dispute Resolution Methods:

    1. AI Auto Disputes – Automate the dispute process by enabling AI-powered dispute submission for all locations.

    2. Manual Disputes – Manually select and submit disputes for specific orders as needed.

This API streamlines dispute management, ensuring accurate tracking and efficient resolution of charge discrepancies.

Operations

Get All Disputed Orders

Request

This endpoint retrieves disputed orders based on the provided query parameters.

Request

  • Method: GET

  • URL: {{base-url}}/disputed-manger/orders

  • Query Parameters:

    • limit (integer, optional): The maximum number of orders to retrieve.

    • offset (integer, optional): The offset for paginating through a large result set.

    • clientId (string, required): The unique identifier of the client.

  • { "startDate": "YYYY-MM-DD", "endDate": "YYYY-MM-DD", "listingIds": ["string"], "channel": ["string"]}

    • startDate (string): The start date for the order search.

    • endDate (string): The end date for the order search.

    • listingIds (array of strings): The IDs of the listings to filter the orders.

    • channel (array of strings): The channels to filter the orders.

Response

The response for this request can be represented as a JSON schema:

{
  "type": "object",
  "properties": {
    "status": {"type": "boolean"},
    "statusCode": {"type": "integer"},
    "message": {"type": "string"},
    "result": {
      "type": "object",
      "properties": {
        "total": {"type": "integer"},
        "orders": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "deliveryUUID": {"type": "string"},
              "customerName": {"type": "string"},
              "storeId": {"type": "string"},
              "listingId": {"type": "string"},
              "brandId": {"type": "string"},
              "channel": {"type": "string"},
              "disputeEligibility": {"type": "boolean"},
              "disputeStatus": {"type": "string"},
              "disputeDate": {"type": "string"},
              "statusUpdateDate": {"type": "string"},
              "disputeIssue": {"type": "string"},
              "disputeReason": {"type": ["string", "null"]},
              "disputeDescription": {"type": ["string", "null"]},
              "disputeAmount": {"type": "number"},
              "disputeWonAmount": {"type": "number"},
              "disputeLostAmount": {"type": "number"},
              "disputeItemDetails": {"type": "string"},
              "disputeByVoosh": {"type": "boolean"},
              "isAutoDispute": {"type": "boolean"},
              "ineligibleForDisputeReason": {"type": "string"}
            }
          }
        }
      }
    },
    "error": {"type": ["object", "null"]}
  }
}
Query
limitstring

(optional) – Specifies the number of clients to fetch. If not provided, the default value is 5.

Example: limit=5
offsetstring

(optional) – Specifies the starting point for fetching the records. Used for pagination. The default value is 0.

Example: offset=0
clientIdstring

(required) – The common ID between Voosh and the partner, used to identify the client.

Example: clientId=604517c0-fae8-41b7-8c20-0fe4778e415c
deliveryUUIDstring

(required) – The unique ID for the order, used to fetch details related to a specific order.

Example: deliveryUUID=960b3853-41ba-4a11-ac83-936118f3bd22
channelstring

(required) – Specifies the platform where the restaurant order is placed (e.g., DoorDash, Uber Eats, Grubhub).

Example: channel=DOORDASH
Headers
access-tokenstring

(required) – The unique token ID provided to the partner for authentication and secure data access.

Example: {{access-token}}
Bodyapplication/json
channelArray of strings
Example: ["DOORDASH","DOORDASH_DRIVE"]
endDatestring
Example: "2024-08-14"
listingIdsArray of strings
Example: ["P8521","P8531"]
startDatestring
Example: "2024-07-15"
curl -i -X GET \
  'https://api.voosh.ai/_mock/main/disputed-manger/orders?channel=DOORDASH&clientId=604517c0-fae8-41b7-8c20-0fe4778e415c&deliveryUUID=960b3853-41ba-4a11-ac83-936118f3bd22&limit=5&offset=0' \
  -H 'Content-Type: application/json' \
  -H 'access-token: {{access-token}}' \
  -d '{
    "channel": [
      "DOORDASH",
      "DOORDASH_DRIVE",
      "UBEREATS"
    ],
    "endDate": "2023-12-14",
    "listingIds": [
      "P8521",
      "P8531"
    ],
    "startDate": "2023-11-15"
  }'

Responses

200 / 200

Headers
Connectionstring
Example: "keep-alive"
Content-Lengthstring
Example: "3465"
Datestring
Example: "Fri, 28 Mar 2025 13:17:34 GMT"
ETagstring
Example: "W/\"d89-p3y2V3OSxrlAm0yxMXNRmAQtBlM\""
Keep-Alivestring
Example: "timeout=5"
X-Powered-Bystring
Example: "Express"
Bodyapplication/json
errorany or null
Example: null
messagestring
Example: "Dispute manager orders fetched successfully"
resultobject
statusboolean
Example: true
statusCodenumber
Example: 200
Response
application/json
{ "error": null, "message": "Dispute manager orders fetched successfully", "result": { "orders": [], "total": 231 }, "status": true, "statusCode": 200 }

Get Auto Dispute Configurations

Request

Request

This endpoint makes an HTTP GET request to retrieve auto-dispute configurations for a specific client. The request should include the client_id as a query parameter in the URL. The last call to this request used the following payload with the raw request body type:

{
    "listingIds": ["P8521"],
    "channel": ["DOORDASH"]
}

Response

The response will include a status, status code, message, and a result array containing auto-dispute configurations. Each configuration in the result array includes the following details:

  • id (string): The identifier for the auto-dispute configuration.

  • channel (string): The channel for which the configuration is applicable.

  • stores (string): The stores associated with the configuration.

  • error (string): Any error associated with the configuration.

  • reason (string): The reason for the dispute.

  • description (string): Additional description for the configuration.

  • isActive (integer): Indicates if the configuration is active.

  • refundPercentage (integer): The refund percentage associated with the configuration.

  • manuallyCreated (integer): Indicates if the configuration was manually created.

  • createdAt (string): The date and time when the configuration was created.

Example Response

{
    "status": true,
    "statusCode": 0,
    "message": "",
    "result": [
        {
            "id": "",
            "channel": "",
            "stores": "",
            "error": "",
            "reason": "",
            "description": null,
            "isActive": 0,
            "refundPercentage": null,
            "manuallyCreated": 0,
            "createdAt": ""
        }
    ],
    "error": null
}
Query
client_idstring

(required) – The common ID between Voosh and the partner, used to identify the client.

Example: client_id=604517c0-fae8-41b7-8c20-0fe4778e415c
Headers
access-tokenstring

(required) – The unique token ID provided to the partner for authentication and secure data access.

Example: {{access-token}}
Bodyapplication/json
deliveryUUIDstring
Example: "622f87af-8ced-41d0-9256-32e80876bee5"
descriptionstring
Example: ""
reasonstring
Example: "CUSTOMER_MISTAKE"
curl -i -X GET \
  'https://api.voosh.ai/_mock/main/disputed-manger/auto-dispute/configs?client_id=604517c0-fae8-41b7-8c20-0fe4778e415c' \
  -H 'Content-Type: application/json' \
  -H 'access-token: {{access-token}}' \
  -d '{
    "deliveryUUID": "622f87af-8ced-41d0-9256-32e80876bee5",
    "description": "",
    "reason": "CUSTOMER_MISTAKE"
  }'

Responses

200

Headers
Connectionstring
Example: "keep-alive"
Content-Lengthstring
Example: "8964"
Datestring
Example: "Thu, 27 Mar 2025 08:25:21 GMT"
ETagstring
Example: "W/\"2304-rMcKZU00XG9oj8VuQeV5NKoHSuY\""
Keep-Alivestring
Example: "timeout=5"
X-Powered-Bystring
Example: "Express"
Bodyapplication/json
errorany or null
Example: null
messagestring
Example: "Auto dispute details fetched successfully"
resultArray of objects
Example: [{"channel":"DOORDASH","createdAt":"2024-10-16T09:54:01.000Z","description":null,"error":"INCORRECT_QUANTITY","id":"99531b66-92ca-41d9-a438-3b804d7fda04","isActive":1,"manuallyCreated":0,"reason":"ITEM_PREPARED_AS_REQUESTED","refundPercentage":null,"stores":"ALL"},{"channel":"DOORDASH","createdAt":"2024-10-16T09:54:01.000Z","description":"We are writing to dispute an incorrect order that was delivered through your platform. The customer claims to have received a wrong item, but we have verified our records and can confirm that the order was prepared and delivered correctly as per the provided instructions. We kindly request your assistance in resolving this dispute and ensuring the accuracy of our restaurant reputation.","error":"WRONG_ORDER","id":"eb571332-6554-48b1-9316-fdde09ed5ef0","isActive":1,"manuallyCreated":0,"reason":"OTHER","refundPercentage":null,"stores":"ALL"},{"channel":"DOORDASH","createdAt":"2024-10-16T09:54:01.000Z","description":null,"error":"ENTIRELY_WRONG_ORDER","id":"c786dab2-33f1-45af-bb16-8ebd2a1c089d","isActive":1,"manuallyCreated":0,"reason":"CONFIRMED_DURING_HANDOFF","refundPercentage":null,"stores":"ALL"},{"channel":"DOORDASH","createdAt":"2024-10-16T09:54:01.000Z","description":null,"error":"MISSING_SIDE_ITEM","id":"b7b197e5-579e-42ab-9a27-af1de95188c9","isActive":1,"manuallyCreated":0,"reason":"ITEM_PREPARED_AS_REQUESTED","refundPercentage":null,"stores":"ALL"},{"channel":"DOORDASH","createdAt":"2024-10-16T09:54:01.000Z","description":"We are writing to dispute an incorrect size that was delivered through your platform. The customer claims to have received a incorrect size, but we have verified our records and can confirm that the order was prepared and delivered correctly as per the provided instructions. We kindly request your assistance in resolving this dispute and ensuring the accuracy of our restaurant reputation.","error":"INCORRECT_SIZE","id":"b3c2f9fe-35d4-49fb-bb43-1cd57eccb135","isActive":1,"manuallyCreated":0,"reason":"OTHER","refundPercentage":null,"stores":"ALL"},{"channel":"DOORDASH","createdAt":"2024-10-16T09:54:01.000Z","description":null,"error":"MISSING_ITEM","id":"01819095-f5a3-483e-ae50-f92e4c1e2680","isActive":1,"manuallyCreated":0,"reason":"ITEM_PREPARED_AS_REQUESTED","refundPercentage":null,"stores":"ALL"},{"channel":"DOORDASH","createdAt":"2024-10-16T09:54:01.000Z","description":null,"error":"INGREDIENT_ERROR","id":"5a1e4cb1-8a91-4b7e-95da-11880a27e4f4","isActive":1,"manuallyCreated":0,"reason":"ITEM_PREPARED_AS_REQUESTED","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"We are writing to dispute an incorrect order that was delivered through your platform. The customer claims to have received a wrong item, but we have verified our records and can confirm that the order was prepared and delivered correctly as per the provided instructions. We kindly request your assistance in resolving this dispute and ensuring the accuracy of our restaurant reputation.","error":"WRONG_ORDER","id":"5ae57ce0-c005-42cc-8acf-bb0d06add648","isActive":1,"manuallyCreated":0,"reason":"CUSTOMER_MISTAKE","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"All the items listed in this order were prepared as per the order instructions, packed and handed over to the courier. The courier confirmed the contents of the package while accepting the order from us. We have also confirmed the contents via CCTV Footage available with us.","error":"FOOD_QUALITY","id":"62682161-fceb-44fb-b11c-93fef6930043","isActive":1,"manuallyCreated":0,"reason":"CUSTOMER_MISTAKE","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"We are writing to dispute an food damaged that was delivered through your platform. The customer claims to have received a food damaged order, but we have verified our records and can confirm that the order was prepared and delivered correctly as per the provided instructions. We kindly request your assistance in resolving this dispute and ensuring the accuracy of our restaurant reputation.","error":"FOOD_DAMAGED","id":"67befe18-7a78-4355-9cb5-3ecbb413afdf","isActive":1,"manuallyCreated":0,"reason":"OTHER","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"All the items listed in this order were prepared as per the order instructions, packed and handed over to the courier. The courier confirmed the contents of the package while accepting the order from us. We have also confirmed the contents via CCTV Footage available with us.","error":"MISSING_ITEMS","id":"7047edad-0b07-4302-ac21-bc08d0e68756","isActive":1,"manuallyCreated":0,"reason":"CUSTOMER_MISTAKE","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"All the items listed in this order were prepared as per the order instructions, packed and handed over to the courier. The courier confirmed the contents of the package while accepting the order from us. We have also confirmed the contents via CCTV Footage available with us.","error":"INCOMPLETE","id":"b4ff91cf-1f14-4fd1-a070-0616ed7f7b2c","isActive":1,"manuallyCreated":0,"reason":"CUSTOMER_MISTAKE","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"All the items listed in this order were prepared as per the order instructions, packed and handed over to the courier. The courier confirmed the contents of the package while accepting the order from us. We have also confirmed the contents via CCTV Footage available with us.","error":"PARTIAL_MISSING_ITEMS","id":"cd692adf-d402-4735-b5a3-b93a41ba7107","isActive":1,"manuallyCreated":0,"reason":"CUSTOMER_MISTAKE","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"All the items listed in this order were prepared as per the order instructions, packed and handed over to the courier. The courier confirmed the contents of the package while accepting the order from us. We have also confirmed the contents via CCTV Footage available with us.","error":"MISCELLANEOUS","id":"db598505-d130-43fe-89b5-7e9097c11791","isActive":1,"manuallyCreated":0,"reason":"OTHER","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"All the items listed in this order were prepared as per the order instructions, packed and handed over to the courier. The courier confirmed the contents of the package while accepting the order from us. We have also confirmed the contents via CCTV Footage available with us.","error":"NEVER_RECEIVED","id":"e270012f-7543-4787-93b8-a98d76b1ff75","isActive":1,"manuallyCreated":0,"reason":"OTHER","refundPercentage":null,"stores":"ALL"},{"channel":"UBEREATS","createdAt":"2024-10-16T09:54:12.000Z","description":"All the items listed in this order were prepared as per the order instructions, packed and handed over to the courier. The courier confirmed the contents of the package while accepting the order from us. We have also confirmed the contents via CCTV Footage available with us.","error":"MISSING","id":"2e6fd8c6-1853-4959-8f22-660c5bd56a8c","isActive":1,"manuallyCreated":0,"reason":"CUSTOMER_MISTAKE","refundPercentage":null,"stores":"ALL"},{"channel":"GRUBHUB","createdAt":"2024-10-16T09:54:27.000Z","description":null,"error":"FOOD_QUALITY","id":"76854452-1ce6-450a-949f-6178a01caf24","isActive":1,"manuallyCreated":0,"reason":null,"refundPercentage":null,"stores":"ALL"},{"channel":"GRUBHUB","createdAt":"2024-10-16T09:54:27.000Z","description":null,"error":"WRONG_ORDER","id":"ac7066c5-3c41-4b9b-8d3e-9802ce0eb427","isActive":1,"manuallyCreated":0,"reason":null,"refundPercentage":null,"stores":"ALL"},{"channel":"GRUBHUB","createdAt":"2024-10-16T09:54:27.000Z","description":null,"error":"MISCELLANEOUS","id":"5361b098-9f82-4dd6-b146-5260333591df","isActive":1,"manuallyCreated":0,"reason":null,"refundPercentage":null,"stores":"ALL"},{"channel":"GRUBHUB","createdAt":"2024-10-16T09:54:27.000Z","description":null,"error":"INCORRECT_ITEM","id":"336ffecf-1529-48c1-bd6e-89ec6dac2683","isActive":1,"manuallyCreated":0,"reason":null,"refundPercentage":null,"stores":"ALL"},{"channel":"GRUBHUB","createdAt":"2024-10-16T09:54:27.000Z","description":null,"error":"COOKING_ISSUE","id":"c62d2528-8c2f-4163-9e32-1658d2024d23","isActive":1,"manuallyCreated":0,"reason":null,"refundPercentage":null,"stores":"ALL"},{"channel":"GRUBHUB","createdAt":"2024-10-16T09:54:27.000Z","description":null,"error":"MISSING_ITEM","id":"2fa3c8fe-960d-4860-996c-2ab0c071b48e","isActive":1,"manuallyCreated":0,"reason":null,"refundPercentage":null,"stores":"ALL"}]
statusboolean
Example: true
statusCodenumber
Example: 200
Response
application/json
{ "error": null, "message": "Auto dispute details fetched successfully", "result": [ {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ], "status": true, "statusCode": 200 }

Set Ai Auto Dispute

Request

This endpoint allows the user to set an auto dispute for a specific client and channel.

Request Body

  • channel (string) - The channel for which the auto dispute is to be set.

  • stores (array) - An array of store IDs for which the auto dispute is to be set.

Example:

{
    "channel": "SKIP_THE_DISHES",
    "stores": ["P9721"]
}

Response

  • status (boolean) - Indicates the status of the request.

  • statusCode (integer) - The status code of the response.

  • message (string) - A message related to the response.

  • result (object) - The result of the request.

    • status (boolean) - Indicates the status of the result.

    • message (string) - A message related to the result.

  • error (null) - Indicates any error in the response.

Example:

{
    "status": true,
    "statusCode": 0,
    "message": "",
    "result": {
        "status": true,
        "message": ""
    },
    "error": null
}
Query
client_idstring

(required) – The common ID between Voosh and the partner, used to identify the client.

Example: client_id=604517c0-fae8-41b7-8c20-0fe4778e415c
Headers
access-tokenstring

(required) – The unique token ID provided to the partner for authentication and secure data access.

Example: {{access-token}}
Bodyapplication/json
channelstring
Example: "SKIP_THE_DISHES"
storesArray of strings
Example: ["P9721","P9731"]
curl -i -X POST \
  'https://api.voosh.ai/_mock/main/disputed-manger/auto-dispute/set-auto-dispute?client_id=604517c0-fae8-41b7-8c20-0fe4778e415c' \
  -H 'Content-Type: application/json' \
  -H 'access-token: {{access-token}}' \
  -d '{
    "channel": "SKIP_THE_DISHES",
    "stores": [
      "P9721",
      "P9731"
    ]
  }'

Responses

200

Headers
Connectionstring
Example: "keep-alive"
Content-Lengthstring
Example: "176"
Datestring
Example: "Thu, 27 Mar 2025 09:50:29 GMT"
ETagstring
Example: "W/\"b0-+IAy/oAMj4+5iVK/p4hg98YXuHs\""
Keep-Alivestring
Example: "timeout=5"
X-Powered-Bystring
Example: "Express"
Bodyapplication/json
errorany or null
Example: null
messagestring
Example: "automatic dispute initiated successfully"
resultobject
statusboolean
Example: true
statusCodenumber
Example: 200
Response
application/json
{ "error": null, "message": "automatic dispute initiated successfully", "result": { "message": "automatic dispute initiated successfully", "status": true }, "status": true, "statusCode": 200 }

Raise Manual Dispute

Request

This endpoint allows users to manually raise a dispute by providing the delivery UUID, reason for the dispute, and an optional description.

Request Body

  • deliveryUUID (string): The unique identifier for the delivery.

  • reason (string): The reason for raising the dispute.

  • description (string, optional): Additional description for the dispute.

Example Request:

{
    "deliveryUUID": "622f87af-8ced-41d0-9256-32e808 ...",
    "reason": "CUSTOMER_MISTAKE",
    "description": ""
}

Response

  • status (boolean): Indicates the status of the request.

  • statusCode (integer): The status code of the response.

  • message (string): A message related to the response status.

  • result (object): An object containing the status and message.

  • error (null): Indicates the absence of any error in the response.

Example Response:

{
    "status": true,
    "statusCode": 0,
    "message": "",
    "result": {
        "status": true,
        "message": ""
    },
    "error": null
}
Query
string
Example: =
Headers
access-tokenstring

(required) – The unique token ID provided to the partner for authentication and secure data access.

Example: {{access-token}}
Bodyapplication/json
deliveryUUIDstring
Example: "622f87af-8ced-41d0-9256-32e80876bee5"
descriptionstring
Example: ""
reasonstring
Example: "CUSTOMER_MISTAKE"
curl -i -X POST \
  https://api.voosh.ai/_mock/main/disputed-manger/manual-raise \
  -H 'Content-Type: application/json' \
  -H 'access-token: {{access-token}}' \
  -d '{
    "deliveryUUID": "622f87af-8ced-41d0-9256-32e80876bee5",
    "description": "",
    "reason": "CUSTOMER_MISTAKE"
  }'

Responses

200

Headers
Connectionstring
Example: "keep-alive"
Content-Lengthstring
Example: "170"
Datestring
Example: "Thu, 27 Mar 2025 08:27:16 GMT"
ETagstring
Example: "W/\"aa-fkT1w5LefeTWj/qtlDVd+wIaywI\""
Keep-Alivestring
Example: "timeout=5"
X-Powered-Bystring
Example: "Express"
Bodyapplication/json
errorany or null
Example: null
messagestring
Example: "Dispute refund initiated successfully"
resultobject
statusboolean
Example: true
statusCodenumber
Example: 200
Response
application/json
{ "error": null, "message": "Dispute refund initiated successfully", "result": { "message": "Dispute refund initiated successfully", "status": true }, "status": true, "statusCode": 200 }

Set Manual Dispute Configurations

Request

This endpoint allows you to manually configure auto-dispute settings for a specific client.

Request Body

  • channel (string) - The channel for which the dispute configuration is being set.

  • reason (string) - The reason for the dispute configuration.

  • error (string) - The error type for which the dispute configuration is being set.

  • description (string) - Additional description for the dispute configuration.

  • stores (string) - The specific store(s) for which the dispute configuration is being set.

  • refundPercentage (string) - The percentage of refund for the dispute configuration.

Response

  • status (boolean) - Indicates the status of the request.

  • statusCode (integer) - The status code of the response.

  • message (string) - A message related to the status of the request.

  • result (object) - The result of the request, including its status and message.

  • error (null) - Any error message, if applicable.

Example Response:

{
    "status": true,
    "statusCode": 0,
    "message": "",
    "result": {
        "status": true,
        "message": ""
    },
    "error": null
}
Query
client_idstring

(required) – The common ID between Voosh and the partner, used to identify the client.

Example: client_id=604517c0-fae8-41b7-8c20-0fe4778e415c
Headers
access-tokenstring

(required) – The unique token ID provided to the partner for authentication and secure data access.

Example: {{access-token}}
Bodyapplication/jsonArray [
channelstring
Example: "DOORDASH_DRIVE"
descriptionstring
Example: ""
errorstring
Example: "ORDER_ARRIVED_LATE"
reasonstring
Example: "15-30 min"
refundPercentagestring
Example: "3"
storesstring
Example: "ALL"
]
curl -i -X POST \
  'https://api.voosh.ai/_mock/main/disputed-manger/auto-dispute/manual-config?client_id=604517c0-fae8-41b7-8c20-0fe4778e415c' \
  -H 'Content-Type: application/json' \
  -H 'access-token: {{access-token}}' \
  -d '[
    {
      "channel": "DOORDASH_DRIVE",
      "description": "",
      "error": "ORDER_ARRIVED_LATE",
      "reason": "15-30 min",
      "refundPercentage": "3",
      "stores": "ALL"
    },
    {
      "channel": "DOORDASH_DRIVE",
      "description": "",
      "error": "ORDER_ARRIVED_LATE",
      "reason": "30-45 min",
      "refundPercentage": "5",
      "stores": "ALL"
    },
    {
      "channel": "DOORDASH_DRIVE",
      "description": "",
      "error": "ORDER_ARRIVED_LATE",
      "reason": "45-60 min",
      "refundPercentage": "1",
      "stores": "ALL"
    }
  ]'

Responses

200

Headers
Connectionstring
Example: "keep-alive"
Content-Lengthstring
Example: "174"
Datestring
Example: "Thu, 27 Mar 2025 09:50:59 GMT"
ETagstring
Example: "W/\"ae-G2reeSgEQtyXLZ5Lv71IQbFKOAw\""
Keep-Alivestring
Example: "timeout=5"
X-Powered-Bystring
Example: "Express"
Bodyapplication/json
errorany or null
Example: null
messagestring
Example: "Manual configuration added successfully"
resultobject
statusboolean
Example: true
statusCodenumber
Example: 200
Response
application/json
{ "error": null, "message": "Manual configuration added successfully", "result": { "message": "Manual configuration added successfully", "status": true }, "status": true, "statusCode": 200 }

Get Manual Dispute Config Parameters

Request

This endpoint retrieves the configuration details for auto-dispute functionality based on the provided client ID.

Request

  • Method: GET

  • URL: {{base-url}}/disputed-manger/auto-dispute/get-config-details

  • Query Parameters:

    • client_id (string, required): The unique client ID for which the configuration details are requested.

Response

The response will contain the following fields:

  • listings (number): The number of listings.

  • listingIds (array): An array of objects containing listingsId and restaurantName.

  • channel (array): An array of channels.

  • channelWiseConfig (object): An object containing configuration details for different channels such as DOORDASH and UBEREATS.

    • DOORDASH (object): Configuration details for the DOORDASH channel.

      • ENTIRELY_WRONG_ORDER (array): Array of reasons for entirely wrong orders.

      • WRONG_ORDER (array): Array of reasons for wrong orders.

      • INGREDIENT_ERROR (array): Array of reasons for ingredient errors.

      • INCORRECT_SIZE (array): Array of reasons for incorrect sizes.

      • INCORRECT_QUANTITY (array): Array of reasons for incorrect quantities.

      • MISSING_SIDE_ITEM (array): Array of reasons for missing side items.

    • UBEREATS (object): Configuration details for the UBEREATS channel.

      • PARTIAL_MISSING_ITEMS (array): Array of reasons for partially missing items.

      • NEVER_RECEIVED (array): Array of reasons for items never received.

      • MISCELLANEOUS (array): Array of miscellaneous reasons.

      • MISSING_ITEMS (array): Array of reasons for missing items.

      • WRONG_ORDER (array): Array of reasons for wrong orders.

      • MISSING (array): Array of reasons for missing items.

      • INCOMPLETE (array): Array of reasons for incomplete orders.

      • FOOD_DAMAGED (array): Array of reasons for damaged food.

    • info (string): Additional information.

Query
client_idstring

(required) – The common ID between Voosh and the partner, used to identify the client.

Example: client_id=604517c0-fae8-41b7-8c20-0fe4778e415c
Headers
access-tokenstring

(required) – The unique token ID provided to the partner for authentication and secure data access.

Example: {{access-token}}
Bodyapplication/json
curl -i -X GET \
  'https://api.voosh.ai/_mock/main/disputed-manger/auto-dispute/get-config-details?client_id=604517c0-fae8-41b7-8c20-0fe4778e415c' \
  -H 'Content-Type: application/json' \
  -H 'access-token: {{access-token}}'

Responses

GET DISPUTE CONFIG PARAMETERS

Headers
Connectionstring
Example: "keep-alive"
Content-Lengthstring
Example: "2568"
Datestring
Example: "Thu, 27 Mar 2025 09:46:29 GMT"
ETagstring
Example: "W/\"a08-9nFAuubkQcz+k94DrsnBEvGxq1o\""
Keep-Alivestring
Example: "timeout=5"
X-Powered-Bystring
Example: "Express"
Bodyapplication/json
channelArray of strings
Example: ["DOORDASH","UBEREATS"]
channelWiseConfigobject
listingIdsArray of objects
Example: [{"listingsId":"P13901","restaurantName":"PLNT Burger (Harrison Ave)"},{"listingsId":"P0475","restaurantName":"PLNT Burger (Legacy Pl)"},{"listingsId":"P0455","restaurantName":"PLNT Burger - NoMad"},{"listingsId":"P0351","restaurantName":"PLNT Burger Old Town - 1006"}]
listingsnumber
Example: 4
Response
application/json
{ "channel": [ "DOORDASH", "UBEREATS" ], "channelWiseConfig": { "DOORDASH": {}, "UBEREATS": {}, "info": "This is the config for the dispute manager, it has the listing ids and the channel wise config for the dispute manager, every channel has its own config for the dispute manager, the config has the error and the reason for the error, the config is used to raise the dispute for the order" }, "listingIds": [ {}, {}, {}, {} ], "listings": 4 }

Financial Reconciliation API

The Financial Reconciliation API provides a comprehensive view of financial transactions across multiple locations, enabling accurate tracking and reconciliation of payments, deductions, and discrepancies. This API includes:

  1. Deductions Breakdown – Retrieve a detailed breakdown of deductions, including commissions, error charges, adjustments, and other fee components.

  2. Estimated vs. Actual Payout – Access store-wise comparisons between estimated and actual payouts to identify discrepancies.

  3. Tax Bifurcation – Retrieve store-level tax details, differentiating between taxes remitted to the merchant and those remitted to the state.

  4. POS vs. Third-Party Reconciliation – Compare POS data with third-party platform records to identify order mismatches, status differences, and unclaimed revenue at the store level.

  5. Deposit Data – Get store-wise deposit details to track payment settlements and ensure financial accuracy.

This API helps partners maintain financial transparency and optimize reconciliation processes across platforms.

Operations

Reviews API

The Reviews API enables partners to access, manage, and respond to customer reviews for common clients across multiple platforms. This API provides:

  • Reviews Data – Retrieve detailed reviews submitted by customers across integrated platforms, including ratings, comments, and timestamps.

  • Manual Reply to Reviews – Submit replies manually to individual customer reviews directly through the API.

  • Auto Reply Configuration – Enable automated responses for reviews across all supported channels, allowing the system to handle replies based on predefined logic.

This API helps partners streamline customer engagement, maintain brand reputation, and ensure timely responses to feedback across platforms.

Operations