{"components":{"securitySchemes":{"bearer":{"scheme":"bearer","type":"http"}}},"info":{"description":"The BotYalla API for WhatsApp messages through numbers connected to their owners' Meta accounts. BotYalla is not Meta and not a replacement for the Cloud API; Meta bills the account owner directly for messages.","title":"BotYalla Partner API","version":"1.0.0"},"openapi":"3.0.3","paths":{"/api/v1/contacts":{"get":{"parameters":[{"in":"query","name":"phone","schema":{"type":"string"}},{"in":"query","name":"q","schema":{"type":"string"}},{"in":"query","name":"page","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"string"}}],"responses":{"200":{"description":"OK \u2014 for sends, Meta's own response","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"401":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Invalid or revoked key","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"403":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Not allowed for this key/plan","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"429":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Rate limit or monthly quota","headers":{"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}}},"security":[{"bearer":[]}],"summary":"List or search contacts (phone \u00b7 q \u00b7 page \u00b7 limit)"},"post":{"requestBody":{"content":{"application/json":{"example":{"fields":{},"name":"Ali","phone":"+201000000000","tags":["vip"]},"schema":{"type":"object"}}},"required":true},"responses":{"200":{"description":"OK \u2014 for sends, Meta's own response","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"401":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Invalid or revoked key","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"403":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Not allowed for this key/plan","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"429":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Rate limit or monthly quota","headers":{"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}}},"security":[{"bearer":[]}],"summary":"Create or update a contact by phone"}},"/api/v1/contacts/{id}/tags":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"add":["vip"],"remove":[]},"schema":{"type":"object"}}},"required":true},"responses":{"200":{"description":"OK \u2014 for sends, Meta's own response","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"401":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Invalid or revoked key","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"403":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Not allowed for this key/plan","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"429":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Rate limit or monthly quota","headers":{"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}}},"security":[{"bearer":[]}],"summary":"Add or remove tags by name"}},"/api/v1/sandbox/{phone_number_id}/messages":{"post":{"parameters":[{"in":"path","name":"phone_number_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"messaging_product":"whatsapp","text":{"body":"Hello"},"to":"201000000000","type":"text"},"schema":{"description":"A WhatsApp message object (fields familiar to WhatsApp developers).","properties":{"messaging_product":{"enum":["whatsapp"],"type":"string"},"template":{"type":"object"},"text":{"properties":{"body":{"type":"string"}},"type":"object"},"to":{"example":"201000000000","type":"string"},"type":{"example":"text","type":"string"}},"required":["messaging_product","to","type"],"type":"object"}}},"required":true},"responses":{"200":{"description":"OK \u2014 for sends, Meta's own response","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"401":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Invalid or revoked key","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"403":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Not allowed for this key/plan","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"429":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Rate limit or monthly quota","headers":{"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}}},"security":[{"bearer":[]}],"summary":"Send in the sandbox (by_test_ keys only, no Meta)"}},"/api/v1/{phone_number_id}/messages":{"post":{"parameters":[{"in":"path","name":"phone_number_id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"messaging_product":"whatsapp","text":{"body":"Hello"},"to":"201000000000","type":"text"},"schema":{"description":"A WhatsApp message object (fields familiar to WhatsApp developers).","properties":{"messaging_product":{"enum":["whatsapp"],"type":"string"},"template":{"type":"object"},"text":{"properties":{"body":{"type":"string"}},"type":"object"},"to":{"example":"201000000000","type":"string"},"type":{"example":"text","type":"string"}},"required":["messaging_product","to","type"],"type":"object"}}},"required":true},"responses":{"200":{"description":"OK \u2014 for sends, Meta's own response","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"401":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Invalid or revoked key","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"403":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Not allowed for this key/plan","headers":{"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}},"429":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"integer"},"message":{"type":"string"},"type":{"type":"string"}},"type":"object"}},"type":"object"}}},"description":"Rate limit or monthly quota","headers":{"Retry-After":{"schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Requests per minute for this key","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Seconds until the window resets","schema":{"type":"integer"}}}}},"security":[{"bearer":[]}],"summary":"Send a message from your connected number"}}},"servers":[{"url":"https://botyalla.com"}]}
