Local services & SaaS
Faire
Orders, inventory, reorders and messages for wholesale brands.
12 endpoints
Sales, menu items, stock and online orders across your Petpooja outlets. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.
11 tools Read and write
Petpooja publishes no API documentation or API keys page for restaurants and has no MCP server (checked 31 Oct 2026). Its integrations page asks partners to contact Petpooja to connect their service. Cotlet runs 11 Petpooja tools hosted, over MCP for agents and REST for scripts, in your own back office login.
| What you need | Partner route | Back office by hand | Cotlet |
|---|---|---|---|
| Sales and tax for every outlet | No public docs | Yes, one outlet at a time | Yes |
| Swiggy and Zomato payout check | No public docs | Yes, in the reconciliation report | Yes |
| Switch an item off online | No public docs | Yes | Yes |
| Change a price | No public docs | Yes | Yes, after your OK |
| Low stock and open purchase orders | No public docs | Yes | Yes |
| Who can get it | Partners Petpooja agrees to | Any user with the rights | Any user with the rights |
Checked 31 Oct 2026. Sources: Petpooja Integrations · Petpooja Pricing · Petpooja Reports and Analytics · Petpooja Online Order Management
Use your own account in its Cotlet Cloud Browser.
Connect your agent or create a Cotlet API key.
Ask your agent or send an HTTP request.
We never keep your Petpooja password, and no price change or outlet switch goes through until you approve it. Who can see your session
Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.
Sign in to Petpooja once. Create a Cotlet account, open Petpooja in its Cloud Browser, sign in at billing.petpooja.com and press Enable for agents.
Add the Cotlet address. Put https://cotlet.dev/mcp/v1 in the MCP server or connector list of your agent.
Allow the connection. Chat apps send you to a Cotlet sign-in page. Code editors, n8n and scripts take an API key from the console.
Petpooja sits on https://cotlet.dev/mcp/v1 with the other apps of your Cotlet account. If you turn Petpooja on after connecting, refresh the connector and its tools appear.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet-petpooja \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet-petpooja": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-petpooja]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: petpooja_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: petpooja_write Create a Cotlet API key with access to Petpooja and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.
Connect Petpooja in Cotlet and enable it for agents. Account access: Your own Petpooja login at billing.petpooja.com (an owner or a user whose rights cover reports, menu and inventory).
curl "https://cotlet.dev/api/v1/petpooja/outlets/out_101/sales-report?from=2026-10-29&to=2026-10-30" \
-H "Authorization: Bearer $COTLET_API_KEY" A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.
{
"status": "success",
"app": "petpooja",
"tool": "get_sales_report",
"result": {
"outlet_id": "out_101",
"currency": "INR",
"days": [
{
"date": "2026-10-29",
"bills": 412,
"gross_sales": 61200,
"discounts": 2800,
"tax": 2920,
"net_sales": 58400
},
{
"date": "2026-10-30",
"bills": 389,
"gross_sales": 55600,
"discounts": 2100,
"tax": 2675,
"net_sales": 53500
}
],
"totals": {
"bills": 801,
"gross_sales": 116800,
"discounts": 4900,
"tax": 5595,
"net_sales": 111900
}
}
} Returns one row per day for one outlet: bills, gross sales, discounts, tax and net sales, plus totals, in the outlet's currency. Net sales are gross sales minus discounts.
Your Petpooja login needs the rights that open the reports for that outlet.
Replace out_101 with an outlet_id from list_outlets. Without from and to the call returns yesterday.
The report has no cursor, so request one range per call and compare the figures of a day you already stored, because bills can be corrected after the day closes.
| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read yesterday's sales for each outlet and send the totals to your own chat or sheet. Use get_sales_report in your configured business report. |
| Make | HTTP > Make a request | List raw materials at or below their low stock level for an outlet. Use list_raw_materials in your configured business report. |
| Python or Node.js | REST API | Check the Swiggy and Zomato payout for a week against what the platform pays. Use get_online_order_reconciliation in your configured business report. |
Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.
Cotlet reads Petpooja; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.
Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.
The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.
One outlet per call, except list_outlets. Your login needs the rights that open the reports.
Lists the outlets your login opens, in the order Petpooja shows them. Pass an outlet_id from here to every other tool. Nothing is changed.
MCP callpetpooja_read → list_outlets
REST endpointGET https://cotlet.dev/api/v1/petpooja/outlets
No parameters.
{
"outlets": [
{
"outlet_id": "out_101",
"name": "Old Town",
"city": "Ahmedabad",
"online_ordering": "on"
},
{
"outlet_id": "out_102",
"name": "Riverside",
"city": "Surat",
"online_ordering": "on"
},
{
"outlet_id": "out_103",
"name": "Airport Road",
"city": "Vadodara",
"online_ordering": "off"
}
]
} Returns one row per day for the outlet and range: bills, gross sales, discounts, tax and net sales, plus totals, in the outlet's currency. Net sales are gross sales minus discounts. Nothing is changed. Your login needs the rights that open the reports.
MCP callpetpooja_read → get_sales_report
REST endpointGET https://cotlet.dev/api/v1/petpooja/outlets/{outlet_id}/sales-report
| Name | Type | Description |
|---|---|---|
| outlet_id string required | string | Outlet ID from list_outlets. |
| from date | date | First day of the range. Default: yesterday. |
| to date | date | Last day of the range. Default: the same day as from. |
{
"outlet_id": "outlet_8c41d2"
} {
"outlet_id": "out_101",
"currency": "INR",
"days": [
{
"date": "2026-10-29",
"bills": 412,
"gross_sales": 61200,
"discounts": 2800,
"tax": 2920,
"net_sales": 58400
},
{
"date": "2026-10-30",
"bills": 389,
"gross_sales": 55600,
"discounts": 2100,
"tax": 2675,
"net_sales": 53500
}
],
"totals": {
"bills": 801,
"gross_sales": 116800,
"discounts": 4900,
"tax": 5595,
"net_sales": 111900
}
} Returns the entries Petpooja reports for the outlet and range, newest first, each with the bill number, amount, the user who did it, the time and the reason when one was entered. Set type to look at one kind at a time. Nothing is changed.
MCP callpetpooja_read → list_bill_exceptions
REST endpointGET https://cotlet.dev/api/v1/petpooja/outlets/{outlet_id}/bill-exceptions
| Name | Type | Description |
|---|---|---|
| outlet_id string required | string | Outlet ID from list_outlets. |
| type string | string | cancelled, discounted, modified or cash_drawer. Default: all four. |
| from date | date | First day of the range. Default: yesterday. |
| to date | date | Last day of the range. Default: the same day as from. |
| cursor string | string | Next page cursor from the previous call. |
{
"outlet_id": "outlet_8c41d2"
} {
"outlet_id": "out_101",
"exceptions": [
{
"bill_no": "B-20418",
"type": "cancelled",
"amount": 640,
"user": "cashier_2",
"at": "2026-10-30T21:14:00+05:30",
"reason": "Customer left"
},
{
"bill_no": "B-20397",
"type": "discounted",
"amount": 1180,
"user": "manager_1",
"at": "2026-10-30T20:02:00+05:30",
"reason": "Staff meal"
}
],
"next_cursor": null
} Returns the platform-wise reconciliation Petpooja compiles for online orders at the outlet: orders, order value, commission and its rate, other charges, taxes and the payout expected after them. Compare it with the payout the platform reports. Leave platform out to get every platform. Nothing is changed.
MCP callpetpooja_read → get_online_order_reconciliation
REST endpointGET https://cotlet.dev/api/v1/petpooja/outlets/{outlet_id}/online-order-reconciliation
| Name | Type | Description |
|---|---|---|
| outlet_id string required | string | Outlet ID from list_outlets. |
| from date | date | First day of the range. Default: yesterday. |
| to date | date | Last day of the range. Default: the same day as from. |
| platform string | string | Platform name as the report shows it, for example Swiggy or Zomato. |
{
"outlet_id": "outlet_8c41d2"
} {
"outlet_id": "out_101",
"currency": "INR",
"from": "2026-10-19",
"to": "2026-10-25",
"platforms": [
{
"platform": "Swiggy",
"orders": 128,
"order_value": 76800,
"commission_rate": "22%",
"commission": 16896,
"charges": 3840,
"taxes": 3733,
"expected_payout": 52331
},
{
"platform": "Zomato",
"orders": 94,
"order_value": 51700,
"commission_rate": "20%",
"commission": 10340,
"charges": 2585,
"taxes": 2327,
"expected_payout": 36448
}
]
} Read only. Needs the Inventory module on your plan.
Lists the raw materials in the outlet's inventory with the stock on hand, its unit and the low stock level set in Petpooja. Set low_stock_only to keep the ones at or below that level. Nothing is changed. Your plan needs the Inventory module.
MCP callpetpooja_read → list_raw_materials
REST endpointGET https://cotlet.dev/api/v1/petpooja/outlets/{outlet_id}/raw-materials
| Name | Type | Description |
|---|---|---|
| outlet_id string required | string | Outlet ID from list_outlets. |
| low_stock_only boolean | boolean | Only materials at or below their low stock level. |
| cursor string | string | Next page cursor from the previous call. |
{
"outlet_id": "outlet_8c41d2"
} {
"outlet_id": "out_101",
"materials": [
{
"material_id": "rm_310",
"name": "Dosa batter",
"unit": "kg",
"stock": 4.5,
"low_stock_level": 10
},
{
"material_id": "rm_344",
"name": "Coffee powder",
"unit": "kg",
"stock": 1.2,
"low_stock_level": 2
}
],
"next_cursor": null
} Lists the purchase orders raised for the outlet, newest first, from the Purchase Manager: supplier or central kitchen, status as Petpooja shows it, the number of items and the date. Nothing is changed.
MCP callpetpooja_read → list_purchase_orders
REST endpointGET https://cotlet.dev/api/v1/petpooja/outlets/{outlet_id}/purchase-orders
| Name | Type | Description |
|---|---|---|
| outlet_id string required | string | Outlet ID from list_outlets. |
| status string | string | Status as the Purchase Manager shows it, for example Pending. |
| cursor string | string | Next page cursor from the previous call. |
{
"outlet_id": "outlet_8c41d2"
} {
"outlet_id": "out_102",
"purchase_orders": [
{
"po_id": "po_7712",
"supplier": "Central Kitchen",
"status": "Pending",
"items": 6,
"created": "2026-10-29"
},
{
"po_id": "po_7698",
"supplier": "Fresh Dairy Co",
"status": "Accepted",
"items": 3,
"created": "2026-10-26"
}
],
"next_cursor": null
} Read only, from the CRM. Contact details of your guests, so keep the agent's login to the outlets that need it.
Lists the customers saved in Petpooja's CRM, newest visit first, with contact details, the number of visits and the reward points. Search by name, phone or email. Pages hold up to 100 customers; pass next_cursor back as cursor for the next page. Nothing is changed or sent.
MCP callpetpooja_read → list_customers
REST endpointGET https://cotlet.dev/api/v1/petpooja/customers
| Name | Type | Description |
|---|---|---|
| query string | string | Search by name, phone or email. |
| cursor string | string | Next page cursor from the previous call. |
{
"customers": [
{
"customer_id": "cus_5101",
"name": "Maya Shah",
"phone": "+91 98000 00000",
"email": "maya@example.com",
"visits": 7,
"reward_points": 240,
"last_visit": "2026-10-28"
}
],
"next_cursor": null
} Your signed-in back office profile, AES-256-GCM, in Finland. Not the password.
The 11 Petpooja tools. No cookie, no partner credentials.
The outlets your login opens: sales, menu, stock, guest contact details.
Billing, payments, subscriptions, staff rights and the cash drawer.
A code or a new sign-in goes through you. We never type it.
Disable for agents, reset the browser, or remove the user in Petpooja.
Petpooja sets rights per user. Give the agent a login that opens only the outlets and screens it needs, so a mistake stays there. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). We have no SOC 2 report or third-party pentest yet.
"You represent and warrant that Your Content was not submitted via the use of any automated process such as a script bot"
"Petpooja reserves the right to suspend or cease providing any services relating to the apps published by it, with or without notice"
The first sentence sits in the clause on content you submit, and the terms do not mention AI agents, scraping or browser automation. Cotlet uses no partner keys: it works in the back office under your login, the way you would. Petpooja could still read an agent as an automated process, so read the terms before you connect one. We found no public case of an account suspended for automation.
Your staff use the same account for billing during service. Let the agent read reports and change the menu before you open or after you close, and leave the rush to the counter.
Petpooja updates its back office on its own schedule, and screens will move. When one does, the repair is ours and a scheduled run keeps its prompt. status.cotlet.dev checks the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| Switch an item off | Yes, switch it on with the same tool |
| Change a price | Set the old price again with update_item_price |
| Switch an outlet off | Switch it on again; orders missed meanwhile stay missed |
| Switch an outlet on | Switch it off again; orders may already have come in |
2 of 11 tools ask first: update_item_price and set_outlet_online_status. set_item_availability runs at once, because switching off a dish messages nobody and one more call switches it on again. Switch the wait off per tool for a scheduled run.
An outlet left switched off is an easy reason for a quiet evening. When online orders stop, have the agent run list_outlets first.
{
"name": "update_item_price",
"arguments": {
"outlet_id": "out_101",
"item_id": "itm_2207",
"price": 70
}
} curl -X PATCH https://cotlet.dev/api/v1/petpooja/outlets/out_101/items/itm_2207/price \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"price":70}' {
"outlet_id": "out_101",
"item_id": "itm_2207",
"name": "Filter Coffee",
"old_price": 60,
"price": 70,
"currency": "INR"
} Scripts reach the same tools over REST at /api/v1/petpooja, with the same key and price, so a cron job can pull yesterday's sales every morning. A call to an item or outlet that does not exist fails and costs nothing. The tools table lists the REST path of each tool.
About $27 a monthfor two outlets, 4,680 credits. Your Petpooja plan is billed by Petpooja as before.
| Job | Calls | Credits |
|---|---|---|
| Daily sales for 2 outlets | 3 × 30 | 900 |
| Low stock round, switch items off | 6 × 30 | 1,800 |
| Swiggy and Zomato payouts, weekly | 2 × 4 | 80 |
| Cancelled and discounted bills, weekly | 3 × 4 | 120 |
| Price changes after your OK | 6 × 2 | 120 |
| Open purchase orders, weekly | 4 × 4 | 160 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 4,680 |
The month is our example: Petpooja publishes no count of outlets per account, so we took two. The daily stock round is the biggest line; an owner who reads one report a day pays mostly for the browser. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| Petpooja integration partners | Services that Petpooja connects to its POS, listed on its integrations page. | Petpooja decides who gets in. There is no public documentation and no sign-up for owners. |
| itsmerk2004/petpooja-sales-data | A Python script that fetches sales records for a date range into SQLite. | Needs an app key, app secret and access token. Reads sales only, 0 stars, last push 23 Oct 2026. |
| aleefakram/hookpooja | A webhook server that pushes Petpooja JSON payloads to a Power BI dataset. | Receives data Petpooja sends. It cannot read reports, change a menu or switch an item off. 0 stars, last push May 2025. |
| Zapier and n8n | No Petpooja app in either: both pages answered 404 on 31 Oct 2026. | Nothing to connect to. Make answered 403, so its status is unknown. |
| MCP servers on GitHub | None. A search for "petpooja mcp" returned 0 repositories on 31 Oct 2026. | No server to install. |
A software company that wants its product inside Petpooja should ask Petpooja about the partner route. A finance team with sales credentials can script the sales endpoint. Cotlet is for the owner or manager who wants an agent to do the back office work of their own outlets.
Cotlet belongs to Take Group sp. z o.o., a software company registered in Poland, EU (VAT PL6342984273). It has worked since 2019 and was founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Send questions about the Petpooja tools to contact@cotlet.dev.
Make a free account at https://cotlet.dev, open Petpooja under Integrations in the console and sign in to the Petpooja back office in its Cloud Browser. The trial starts with your first app, and no card is asked.
Sign up at cotlet.dev, log in to Petpooja once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Petpooja account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Petpooja: send yesterday\; switch off items that ran out of stock; check Swiggy and Zomato payouts. You ask in plain words, and anything that reaches other people waits for your OK first.
The tools can only do what your login can do. Petpooja's pricing page lists the Inventory Module, Menu management and 80+ reports among its plan features and shows no price (checked 31 Oct 2026), so ask Petpooja which plan includes each module. Petpooja also sets rights per user, so give the agent a login that covers only the outlets and screens it needs.
Petpooja's sign-in page at billing.petpooja.com asks for a phone number with a country code, or Sign in with Google (checked 31 Oct 2026). You sign in yourself in your Cloud Browser and complete any check Petpooja sends. Cotlet never types or stores it.
Petpooja says menu changes, prices and item switches in its POS update across the aggregators connected to your outlet (online order management page, checked 31 Oct 2026). Cotlet makes the change in Petpooja the way you would, so the same sync applies. The agent cannot see the Swiggy or Zomato screens.
None for owners are documented. To catch changes, run your agent on a schedule, for example get_sales_report every morning or list_raw_materials with low_stock_only every few hours.
The tools cover reports, menu, stock, purchase orders and the CRM. Kitchen display, captain ordering, the restaurant website and loyalty add-ons have no tool.
Only the way in differs. Both carry the same 11 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and cron jobs use REST.
No. Cotlet is independent and not affiliated with Prayosha Food Services Private Limited or Petpooja.
Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy