{
    "info": {
        "name": "ZupiChat API v1",
        "description": "Send WhatsApp template messages, manage contacts and receive delivery events from your own application. ZupiChat is operated by Codelith Lab Private Limited and runs on the WhatsApp Cloud API. Full documentation: https://www.zupichat.com/developers",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{apiKey}}",
                "type": "string"
            }
        ]
    },
    "variable": [
        {
            "key": "baseUrl",
            "value": "https://www.zupichat.com/api/v1",
            "type": "string"
        },
        {
            "key": "apiKey",
            "value": "zc_demo_zupichat_public_sandbox",
            "type": "string"
        }
    ],
    "item": [
        {
            "name": "Account",
            "item": [
                {
                    "name": "Who this key belongs to",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/me",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "me"
                            ]
                        },
                        "description": "Confirms the key works and tells you which WhatsApp number it is bound to. Useful as a health check right after a customer pastes their key into your product."
                    }
                }
            ]
        },
        {
            "name": "Templates",
            "item": [
                {
                    "name": "List approved templates",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/templates",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "templates"
                            ]
                        },
                        "description": "Lists the message templates on the connected WhatsApp Business Account that Meta has approved, so you can show your users only what can actually be sent. Newest first, up to 200."
                    }
                }
            ]
        },
        {
            "name": "Messages",
            "item": [
                {
                    "name": "Send a template message",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/messages/template",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "messages",
                                "template"
                            ]
                        },
                        "description": "Template messages are the only way to start a conversation outside WhatsApp's 24-hour window, which is why this is the endpoint most integrations need. The contact and the conversation are created on the first send, exactly as an inbound message would create them.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"destination\": \"919876543210\",\n    \"template_name\": \"order_confirmation_update\",\n    \"name\": \"Aditya\",\n    \"body_variables\": [\n        \"Aditya\",\n        \"#1042\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                },
                {
                    "name": "Delivery status of one message",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/messages/2340",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "messages",
                                "2340"
                            ]
                        },
                        "description": "Returns what WhatsApp last reported for that message — sent, delivered, read or failed. Poll it if you are not using webhooks."
                    }
                }
            ]
        },
        {
            "name": "Contacts",
            "item": [
                {
                    "name": "List contacts",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{baseUrl}}/contacts?limit=50&page=1&search=",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "contacts"
                            ],
                            "query": [
                                {
                                    "key": "limit",
                                    "value": "50",
                                    "description": "Rows per page, 200 maximum.",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number, starting at 1.",
                                    "disabled": false
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Matches name or mobile number.",
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Reads the contact book, newest first."
                    }
                },
                {
                    "name": "Create or update a contact",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{baseUrl}}/contacts",
                            "host": [
                                "{{baseUrl}}"
                            ],
                            "path": [
                                "contacts"
                            ]
                        },
                        "description": "Pushes a lead into the contact book the moment it appears in your own system. Matching is by mobile number, so calling this twice updates rather than duplicates.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"mobile\": \"919876543210\",\n    \"firstname\": \"Aditya\",\n    \"note\": \"Came from the pricing page\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    }
                }
            ]
        }
    ]
}