200 / 200
Voosh API Documentation (1.0.0)
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.
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.
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
andclientName
for easier management.
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.
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.
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:
AI Auto Disputes – Automate the dispute process by enabling AI-powered dispute submission for all locations.
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.
Request
This endpoint retrieves disputed orders based on the provided query parameters.
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.
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"]}
}
}
(optional) – Specifies the number of clients to fetch. If not provided, the default value is 5.
(optional) – Specifies the starting point for fetching the records. Used for pagination. The default value is 0.
(required) – The common ID between Voosh and the partner, used to identify the client.
(required) – The unique ID for the order, used to fetch details related to a specific order.
- Mock server
https://api.voosh.ai/_mock/main/disputed-manger/orders
https://growapiservicesv2server.voosh.ai/disputed-manger/orders
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.voosh.ai/_mock/main/disputed-manger/orders?limit=5&offset=0&clientId=604517c0-fae8-41b7-8c20-0fe4778e415c&deliveryUUID=960b3853-41ba-4a11-ac83-936118f3bd22&channel=DOORDASH' \
-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"
}'
{ "error": null, "message": "Dispute manager orders fetched successfully", "result": { "orders": [ … ], "total": 231 }, "status": true, "statusCode": 200 }
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"]
}
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.
{
"status": true,
"statusCode": 0,
"message": "",
"result": [
{
"id": "",
"channel": "",
"stores": "",
"error": "",
"reason": "",
"description": null,
"isActive": 0,
"refundPercentage": null,
"manuallyCreated": 0,
"createdAt": ""
}
],
"error": null
}
- Mock server
https://api.voosh.ai/_mock/main/disputed-manger/auto-dispute/configs
https://growapiservicesv2server.voosh.ai/disputed-manger/auto-dispute/configs
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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"
}'
200
{ "error": null, "message": "Auto dispute details fetched successfully", "result": [ { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … } ], "status": true, "statusCode": 200 }
Request
This endpoint allows the user to set an auto dispute for a specific client and channel.
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"]
}
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
}
- Mock server
https://api.voosh.ai/_mock/main/disputed-manger/auto-dispute/set-auto-dispute
https://growapiservicesv2server.voosh.ai/disputed-manger/auto-dispute/set-auto-dispute
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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"
]
}'
{ "error": null, "message": "automatic dispute initiated successfully", "result": { "message": "automatic dispute initiated successfully", "status": true }, "status": true, "statusCode": 200 }
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
}
- Mock server
https://api.voosh.ai/_mock/main/disputed-manger/manual-raise
https://growapiservicesv2server.voosh.ai/disputed-manger/manual-raise
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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"
}'
{ "error": null, "message": "Dispute refund initiated successfully", "result": { "message": "Dispute refund initiated successfully", "status": true }, "status": true, "statusCode": 200 }
Request
This endpoint allows you to manually configure auto-dispute settings for a specific client.
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.
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
}
- Mock server
https://api.voosh.ai/_mock/main/disputed-manger/auto-dispute/manual-config
https://growapiservicesv2server.voosh.ai/disputed-manger/auto-dispute/manual-config
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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"
}
]'
{ "error": null, "message": "Manual configuration added successfully", "result": { "message": "Manual configuration added successfully", "status": true }, "status": true, "statusCode": 200 }
Request
This endpoint retrieves the configuration details for auto-dispute functionality based on the provided client ID.
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.
The response will contain the following fields:
listings
(number): The number of listings.listingIds
(array): An array of objects containinglistingsId
andrestaurantName
.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.
- Mock server
https://api.voosh.ai/_mock/main/disputed-manger/auto-dispute/get-config-details
https://growapiservicesv2server.voosh.ai/disputed-manger/auto-dispute/get-config-details
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
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}}'
GET DISPUTE CONFIG PARAMETERS
{ "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:
Deductions Breakdown – Retrieve a detailed breakdown of deductions, including commissions, error charges, adjustments, and other fee components.
Estimated vs. Actual Payout – Access store-wise comparisons between estimated and actual payouts to identify discrepancies.
Tax Bifurcation – Retrieve store-level tax details, differentiating between taxes remitted to the merchant and those remitted to the state.
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.
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.