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.
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.
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.
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.
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.
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.
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"
}'
{ "error": null, "message": "Dispute manager orders fetched successfully", "result": { "orders": [ … ], "total": 231 }, "status": true, "statusCode": 200 }
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
}
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 }
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
}
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 }
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
}
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 }
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
}
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 }
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:
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.
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 }
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.
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.