Take App

Take App API Overview

Business plan required Compare plans

Take App gives developers four ways to connect a store to other software: a REST API, webhooks, an MCP server for AI assistants, and a Zapier app. This page is the one-page overview — what each does, how to start, and the rules every integration needs.

Full API reference: platform.take.app — every endpoint, field, payload and code sample, kept up to date there.

Which tool do you need?

You want to…UseGuide
Read and write store data from your own app, ERP or scriptMerchant API V2Connect your External App with the Take App API
Get notified the moment an order or product changesWebhooksWebhooks
Manage your store by chatting with Claude or ChatGPTMCP serverConnect Claude and ChatGPT with MCP
Connect to 7,000+ apps without writing codeZapierZapier

The API, webhooks and MCP server need the Business plan or higher, and only the store owner can create API keys or connect an AI assistant.

What the API covers

The Merchant API V2 is a REST API: you send HTTPS requests and get JSON back.

  • Store — read the connected store's details, including its currency
  • Products — list, create, read, update and delete, including variants, options and images
  • Categories — list and create storefront categories
  • Customers — list, create, read and update
  • Orders — list, search, create, read and update
  • Order payments — record a payment received outside Take App (such as a bank transfer), or correct one; the order's payment status updates from the new balance
  • Inventory — list items, update one, or update many at once
  • Messages — send a WhatsApp message to a customer using one of your approved templates
  • Message templates — list templates, or submit a new one for Meta's review (usually approved within a few minutes)

Get started in three steps

  1. Go to Settings > Integrations, open API keys, and click Create key. Name it after what will use it — my ERP, stock sync — so you can revoke just that one later.
  2. Copy the key and keep it secret, like a password.
  3. Make your first request. This returns your store, so you know the key works:
GET https://take.app/api/v2/me
Authorization: Bearer YOUR_API_KEY

Rules every integration needs

  • Base URL — every endpoint lives under https://take.app/api/v2. Field names are snake_case.
  • Money is an integer in the currency's smallest unit. Always read it with the store's currency:
    • Most currencies have 2 decimals: 1234 in USD is $12.34.
    • Some have none: 5000 in IDR is Rp 5,000 — don't multiply by 100. The same goes for JPY, KRW, VND and a few others.
    • A few have 3: 1234 in KWD is KD 1.234.
  • Phone numbers — international format, digits only, no + (for example 6591234567).
  • Lists are paginated with a cursor. Each response has data, has_more and next_cursor; pass next_cursor back as cursor to get the next page. Default page size is 25, maximum 100.
  • Safe retries — add an Idempotency-Key header to POST requests. Repeating the same request with the same key within 24 hours returns the first result instead of creating a duplicate order or payment.
  • Errors share one shape: { "error": { "type", "code", "message", "param", "request_id" } }. param points at the field that was wrong.
  • Rate limit — 600 requests per minute per API key. Above that you get 429 with a Retry-After header saying how many seconds to wait.
  • Products to watch for:
    • Give every product a category (category_ids), or it won't show on your storefront.
    • original_price is the crossed-out "before" price. Send 0 when there's no discount.
    • images replaces the whole image list, so send every image you want to keep, in order.

Webhooks in brief

Instead of asking the API for changes over and over, add a webhook endpoint in Settings > Integrations > Webhook and Take App sends a POST to your server when something happens:

  • order.created — a new order is placed
  • order.updated — an order's status, payment, fulfillment or items change
  • product.updated — a product's name, price, variants or options change

Each payload carries the same Order or Product object the API returns. Verify the signature with your endpoint's signing secret, and use the X-Take-Delivery-Id header to skip duplicates. An endpoint that fails for 24 hours is switched off until you turn it back on. Details in Webhooks.

AI assistants (MCP)

Take App's MCP server at https://take.app/api/mcp lets Claude, ChatGPT and other AI assistants read and manage your store in a chat — products, orders, customers, inventory, payments and WhatsApp templates. You connect by signing in to Take App from the assistant; there is no API key to copy. It can create and update, but never delete. See Connect Claude and ChatGPT with MCP.

Where to find more

The API reference on platform.take.app has the detail this page leaves out:

Each endpoint has its own page there, with request and response fields and examples.

More in API & developer tools

API & developer tools →

Still need help?

Ask a question and get an answer right away, or chat with our team.