Skip to content

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

Once you become an official Voosh partner, you will receive 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/
https://growapiservicesv2server.voosh.ai/

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

Restaurant Details API

The Restaurant Details API enables partners to retrieve all restaurant listings associated with Voosh, including delivery platform mappings (DoorDash, Uber Eats, Grubhub) and store-level availability, grouped by client. There is also support to retrieve specific client restaurant details.

This API provides:

  • All Restaurant Listings – Fetches restaurant details for all clients, including listing IDs, restaurant names, and platform-specific store names.

  • Platform Availability Flags – Indicates if each restaurant is listed on DoorDash, Uber Eats, or Grubhub.

  • Client-Based Grouping – Organizes listings under each clientId and clientName for easier management.

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.

This API helps partners streamline customer engagement, maintain brand reputation, and ensure timely responses to feedback 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 raise 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), location name, net payout, platform name.

  • Dispute Resolution Methods:

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

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

Operations

Get All Disputed Orders

Request

Dispute Manager API - Fetch Orders

This endpoint allows you to retrieve dispute manager orders associated with specific listings within a defined date range. You can specify the number of orders to return, as well as pagination and sorting options.

Request

HTTP Method

POST

URL

{{base-url}}/v1/dispute-manager/orders?limit=5&offset=1&order=-1

Request Body

The request body must be in JSON format and includes the following parameters:

KeyTypeDescription
startDatestringThe start date for filtering orders (format: YYYY-MM-DD).
endDatestringThe end date for filtering orders (format: YYYY-MM-DD).
listingIdsarrayAn array of listing IDs to filter the orders.
channelarrayAn array specifying the channels from which to fetch orders (e.g., DOORDASH, UBEREATS, GRUBHUB, DOORDASH_DRIVE).
showDummyDatabooleanWhether to show dummy data for testing purposes.

Example Request Body

{
    "startDate": "2025-10-12",
    "endDate": "2025-11-11",
    "listingIds": [
        "P67071",
        "P67073"
    ],
    "channel": [
        "DOORDASH",
        "UBEREATS",
        "GRUBHUB",
        "DOORDASH_DRIVE"
    ],
    "showDummyData": false
}

Response

Response Body

The response will be in JSON format and contains the following structure:

KeyTypeDescription
statusbooleanIndicates the success of the request.
statusCodeintegerA code representing the status of the request (200 for success).
messagestringA message providing additional information about the request.
resultobjectContains the main data returned from the API.

Result Structure

The result object contains the following keys:

KeyTypeDescription
totalintegerThe total number of orders matching the criteria.
ordersarrayAn array of order objects.

Orders Array Structure

Each object in the orders array contains the following fields:

KeyTypeDescription
deliveryUUIDstringUnique identifier for the delivery.
orderIdstringUnique identifier for the order.
channelstringThe channel from which the order originated.
listingIdstringUnique identifier for the listing associated with the order.
storeIdstringUnique identifier for the store associated with the order.
brandIdstringUnique identifier for the brand associated with the order.
customerNamestringName of the customer who placed the order.
statusstringCurrent status of the dispute (e.g., APPROVED, PENDING).
disputeReasonstring/nullReason for the dispute, if provided.
disputeDescriptionstringDescription of the dispute.
netPayoutobjectContains earnedAmount and lostAmount for the order.
datestringThe date of the order (ISO 8601 format).
dayLeftToDisputeintegerNumber of days remaining to file a dispute.
autoDisputablebooleanIndicates if the order can be auto-disputed.
disputablebooleanIndicates if the order is disputable.
orderStatusstringStatus of the order (e.g., FULFILLED, CANCELLED).

Example Response

{
  "status": true,
  "statusCode": 200,
  "message": "Dispute manager orders fetched successfully",
  "result": {
    "total": 261,
    "orders": [
      {
        "deliveryUUID": "6ca2ce22-a795-11f0-8e23-5fcea5290c3e",
        "orderId": "534831330732971",
        "channel": "GRUBHUB",
        "listingId": "P67071",
        "storeId": "P6707",
        "brandId": "336",
        "customerName": "",
        "status": "APPROVED",
        "disputeReason": null,
        "disputeDescription": "MISSING_ITEM - Refund requested by diner via help interaction",
        "netPayout": {
          "earnedAmount": 4.69,
          "lostAmount": 0
        },
        "date": "2025-10-12T00:00:00.000Z",
        "dayLeftToDispute": 0,
        "autoDisputable": false,
        "disputable": false,
        "orderStatus": "FULFILLED"
      },
      {
        "deliveryUUID": "fee32e12-a77c-11f0-ae13-1f09dcce7fc7",
        "orderId": "894431330008472",
        "channel": "GRUBHUB",
        "listingId": "P67071",
        "storeId": "P6707",
        "brandId": "336",
        "customerName": "",
        "status": "APPROVED",
        "disputeReason": null,
        "disputeDescription": "MISSING_ITEM - Refund requested by diner via help interaction",
        "netPayout": {
          "earnedAmount": 9.01,
          "lostAmount": 0
        },
        "date": "2025-10-12T00:00:00.000Z",
        "dayLeftToDispute": 0,
        "autoDisputable": false,
        "disputable": false,
        "orderStatus": "FULFILLED"
      }
    ]
  }
}

Status Codes

  • 200 OK: The request was successful, and the response contains the requested data.

  • Other Status Codes: Refer to the API documentation for additional status codes and their meanings.

This endpoint is essential for managing and analyzing dispute manager orders across different channels, helping businesses to respond effectively to order disputes.

Security
apiKey
Query
limitinteger

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

Example: limit=5
offsetinteger

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

Example: offset=1
orderinteger

(optional) – Sort order for the results. Use -1 for descending order and 1 for ascending order.

Example: order=-1
Headers
tokenstring

(required) – JWT authentication token for secure access to the API.

Example: {{access-token}}
x-api-keystring

(required) – API key for authentication.

Example: YOUR_API_KEY_HERE
Bodyapplication/json
channelArray of strings
Example: ["DOORDASH","UBEREATS","GRUBHUB","DOORDASH_DRIVE"]
endDatestring
Example: "2025-11-11"
listingIdsArray of strings
Example: ["P67071","P67073"]
startDatestring
Example: "2025-10-12"
showDummyDataboolean
Example: false
curl -i -X POST \
  'https://api.voosh.ai/_mock/main/v1/dispute-manager/orders?limit=5&offset=1&order=-1' \
  -H 'Content-Type: application/json' \
  -H 'token: {{access-token}}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "startDate": "2025-10-12",
    "endDate": "2025-11-11",
    "listingIds": [
      "P67071",
      "P67073"
    ],
    "channel": [
      "DOORDASH",
      "UBEREATS",
      "GRUBHUB",
      "DOORDASH_DRIVE"
    ],
    "showDummyData": false
  }'

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
statusboolean
Example: true
statusCodenumber
Example: 200
messagestring
Example: "Dispute manager orders fetched successfully"
resultobject
Response
application/json
{ "status": true, "statusCode": 200, "message": "Dispute manager orders fetched successfully", "result": { "total": 261, "orders": [] } }

Set Auto Dispute

Request

Dispute Manager API - Set Auto Dispute

This endpoint enables automatic dispute functionality for specified listing IDs on a particular channel. Once enabled, all disputed orders associated with those listing IDs will be automatically disputed by the system, streamlining the dispute resolution process.

Request

HTTP Method

POST

URL

{{base-url}}/v1/dispute-manager/auto-dispute/set-auto-dispute

Request Body

The request body must be in JSON format and includes the following parameters:

KeyTypeDescription
storesarrayAn array of listing/store IDs for which auto dispute should be enabled.
channelstringThe channel for which to enable auto dispute (e.g., DOORDASH, UBEREATS, GRUBHUB).

Example Request Body

{
    "stores": [
        "P3781",
        "P3782",
        "P3783",
        "P3784",
        "P3785",
        "P3786",
        "P3787"
    ],
    "channel": "DOORDASH"
}

Response

Response Body

The response will be in JSON format and contains the following structure:

KeyTypeDescription
statusbooleanIndicates the success of the request.
statusCodeintegerA code representing the status of the request (200 for success).
messagestringA message providing additional information about the request.
errornullContains error details if the request was unsuccessful.

Example Response

{
  "status": true,
  "statusCode": 200,
  "message": "Auto dispute details saved successfully",
  "error": null
}

Status Codes

  • 200 OK: The request was successful, and auto dispute has been enabled for the specified listings.

  • Other Status Codes: Refer to the API documentation for additional status codes and their meanings.

This endpoint is essential for automating the dispute management process, allowing businesses to efficiently handle disputes across multiple listings without manual intervention.

Security
apiKey
Headers
tokenstring

(required) – JWT authentication token for secure access to the API.

Example: {{access-token}}
x-api-keystring

(required) – API key for authentication.

Example: YOUR_API_KEY_HERE
Bodyapplication/json
storesArray of strings
Example: ["P3781","P3782","P3783","P3784","P3785","P3786","P3787"]
channelstring
Example: "DOORDASH"
curl -i -X POST \
  https://api.voosh.ai/_mock/main/v1/dispute-manager/auto-dispute/set-auto-dispute \
  -H 'Content-Type: application/json' \
  -H 'token: {{access-token}}' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "stores": [
      "P3781",
      "P3782",
      "P3783",
      "P3784",
      "P3785",
      "P3786",
      "P3787"
    ],
    "channel": "DOORDASH"
  }'

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
statusboolean
Example: true
statusCodenumber
Example: 200
messagestring
Example: "Auto dispute details saved successfully"
errorany or null
Example: null
Response
application/json
{ "status": true, "statusCode": 200, "message": "Auto dispute details saved successfully", "error": null }

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