{"openapi":"3.1.0","info":{"title":"\u0646\u064a\u062a\u0631\u0648 \u0628\u0648\u062a API","version":"1.0.0"},"servers":[{"url":"https:\/\/bot.netrogrp.com\/api\/v1"}],"paths":{"\/user":{"get":{"tags":["Session"],"summary":"Get the current token's user","operationId":"session_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}}}},"\/contacts":{"get":{"tags":["Contacts"],"summary":"List contacts","operationId":"contacts_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]},"post":{"tags":["Contacts"],"summary":"Create a contact","operationId":"contacts_1","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Contact display name."},"phone":{"type":"string","description":"Phone number, digits with or without a leading +."},"country":{"type":"string","description":"2-letter ISO country code."},"contact_list_ids":{"type":"array","items":[],"description":"IDs of your own contact lists to attach this contact to."}},"required":["name","phone"]}}}}}},"\/contacts\/{id}":{"get":{"tags":["Contacts"],"summary":"Get a single contact","operationId":"contacts_2","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"put":{"tags":["Contacts"],"summary":"Update a contact","operationId":"contacts_3","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Contact display name."},"phone":{"type":"string","description":"Phone number."},"country":{"type":"string","description":"2-letter ISO country code."},"contact_list_ids":{"type":"array","items":[],"description":"Replaces the full set of attached contact lists."}}}}}}},"delete":{"tags":["Contacts"],"summary":"Delete a contact","operationId":"contacts_4","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/contact-lists":{"get":{"tags":["Contact Lists"],"summary":"List contact lists","operationId":"contact-lists_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]},"post":{"tags":["Contact Lists"],"summary":"Create a contact list","operationId":"contact-lists_1","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"List name."}},"required":["name"]}}}}}},"\/contact-lists\/{id}":{"get":{"tags":["Contact Lists"],"summary":"Get a single contact list","operationId":"contact-lists_2","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"put":{"tags":["Contact Lists"],"summary":"Rename a contact list","operationId":"contact-lists_3","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"List name."}},"required":["name"]}}}}},"delete":{"tags":["Contact Lists"],"summary":"Delete a contact list","operationId":"contact-lists_4","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/auto-replies":{"get":{"tags":["Auto Replies"],"summary":"List auto replies","operationId":"auto-replies_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]},"post":{"tags":["Auto Replies"],"summary":"Create a webhook-driven auto reply","operationId":"auto-replies_2","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}}}},"\/auto-replies\/{id}":{"get":{"tags":["Auto Replies"],"summary":"Get a single auto reply","operationId":"auto-replies_3","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"put":{"tags":["Auto Replies"],"summary":"Update an auto reply","operationId":"auto-replies_4","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Internal label."},"match_type":{"type":"string","description":"One of any, exact, starts_with, contains."},"trigger":{"type":"string","description":"Match text."},"reply_mode":{"type":"string","description":"static or webhook."},"reply_message":{"type":"string","description":"Reply text (static mode)."},"webhook_url":{"type":"string","description":"Webhook URL (webhook mode)."},"is_active":{"type":"boolean","description":"Enable\/disable without deleting."},"priority":{"type":"integer","description":"Match order."}}}}}}},"delete":{"tags":["Auto Replies"],"summary":"Delete an auto reply","operationId":"auto-replies_5","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/quick-replies":{"get":{"tags":["Quick Replies"],"summary":"List quick replies","operationId":"quick-replies_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]},"post":{"tags":["Quick Replies"],"summary":"Create a quick reply","operationId":"quick-replies_1","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"Internal label."},"shortcut":{"type":"string","description":"Shortcut text agents type to insert it."},"message":{"type":"string","description":"The message text."}},"required":["title","shortcut","message"]}}}}}},"\/quick-replies\/{id}":{"get":{"tags":["Quick Replies"],"summary":"Get a single quick reply","operationId":"quick-replies_2","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"put":{"tags":["Quick Replies"],"summary":"Update a quick reply","operationId":"quick-replies_3","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"type":"object","properties":{"title":{"type":"string","description":"Internal label."},"shortcut":{"type":"string","description":"Shortcut text."},"message":{"type":"string","description":"Message text."}}}}}}},"delete":{"tags":["Quick Replies"],"summary":"Delete a quick reply","operationId":"quick-replies_4","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/tags":{"get":{"tags":["Tags"],"summary":"List tags","operationId":"tags_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]},"post":{"tags":["Tags"],"summary":"Create a tag","operationId":"tags_1","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Tag label."},"color":{"type":"string","description":"Hex color, e.g. #10b981. Assigned randomly if omitted."}},"required":["name"]}}}}}},"\/tags\/{id}":{"get":{"tags":["Tags"],"summary":"Get a single tag","operationId":"tags_2","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"put":{"tags":["Tags"],"summary":"Update a tag","operationId":"tags_3","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Tag label."},"color":{"type":"string","description":"Hex color."}}}}}}},"delete":{"tags":["Tags"],"summary":"Delete a tag","operationId":"tags_4","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/ai-knowledge-articles":{"get":{"tags":["AI Knowledge Articles"],"summary":"List knowledge articles","operationId":"ai-knowledge-articles_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]},"post":{"tags":["AI Knowledge Articles"],"summary":"Create a knowledge article","operationId":"ai-knowledge-articles_1","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"question":{"type":"string","description":"The customer question this article answers."},"answer":{"type":"string","description":"The answer the AI will use."},"is_active":{"type":"boolean","description":"Defaults to true."}},"required":["question","answer"]}}}}}},"\/ai-knowledge-articles\/{id}":{"get":{"tags":["AI Knowledge Articles"],"summary":"Get a single knowledge article","operationId":"ai-knowledge-articles_2","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"put":{"tags":["AI Knowledge Articles"],"summary":"Update a knowledge article","operationId":"ai-knowledge-articles_3","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"type":"object","properties":{"question":{"type":"string","description":"The customer question."},"answer":{"type":"string","description":"The answer."},"is_active":{"type":"boolean","description":"Inactive articles are excluded from AI matching."}}}}}}},"delete":{"tags":["AI Knowledge Articles"],"summary":"Delete a knowledge article","operationId":"ai-knowledge-articles_4","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/templates":{"get":{"tags":["Templates"],"summary":"List templates","operationId":"templates_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]}},"\/templates\/{id}":{"get":{"tags":["Templates"],"summary":"Get a single template","operationId":"templates_1","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"delete":{"tags":["Templates"],"summary":"Delete a template","operationId":"templates_2","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/campaigns":{"get":{"tags":["Campaigns"],"summary":"List campaigns","operationId":"campaigns_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]},"post":{"tags":["Campaigns"],"summary":"Create a campaign","operationId":"campaigns_1","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Campaign name."},"whats_app_template_id":{"type":"integer","description":"ID of one of your own templates."},"whats_app_contact_list_id":{"type":"integer","description":"ID of one of your own contact lists."},"scheduled_at":{"type":"string","description":"ISO 8601 datetime to schedule for later."}},"required":["name","whats_app_template_id","whats_app_contact_list_id"]}}}}}},"\/campaigns\/{id}":{"get":{"tags":["Campaigns"],"summary":"Get a single campaign","operationId":"campaigns_2","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]},"put":{"tags":["Campaigns"],"summary":"Update a campaign","operationId":"campaigns_3","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":false,"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Campaign name."},"whats_app_template_id":{"type":"integer","description":"Draft campaigns only."},"whats_app_contact_list_id":{"type":"integer","description":"Draft campaigns only."},"scheduled_at":{"type":"string","description":"Draft campaigns only."}}}}}}},"delete":{"tags":["Campaigns"],"summary":"Delete a campaign","operationId":"campaigns_4","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/campaigns\/{id}\/send":{"post":{"tags":["Campaigns"],"summary":"Send a campaign now","operationId":"campaigns_5","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"},"409":{"description":"Idempotency key conflict or request still in progress"},"428":{"description":"Idempotency-Key header is required"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique key for safely retrying this request for 24 hours.","schema":{"type":"string","maxLength":100}}]}},"\/campaigns\/{id}\/cancel":{"post":{"tags":["Campaigns"],"summary":"Cancel a campaign","operationId":"campaigns_6","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/campaigns\/{id}\/pause":{"post":{"tags":["Campaigns"],"summary":"Pause a campaign","operationId":"campaigns_7","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/campaigns\/{id}\/resume":{"post":{"tags":["Campaigns"],"summary":"Resume a campaign","operationId":"campaigns_8","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/campaigns\/{id}\/retry":{"post":{"tags":["Campaigns"],"summary":"Retry failed campaign recipients","operationId":"campaigns_9","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/messages":{"get":{"tags":["Messages"],"summary":"List messages","operationId":"messages_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"contact_phone","in":"query","required":false,"description":"Filter to a single conversation by phone number.","schema":{"type":"string"}},{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]}},"\/messages\/send":{"post":{"tags":["Messages"],"summary":"Send a message","operationId":"messages_1","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"},"409":{"description":"Idempotency key conflict or request still in progress"},"428":{"description":"Idempotency-Key header is required"}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique key for safely retrying this request for 24 hours.","schema":{"type":"string","maxLength":100}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"to":{"type":"string","description":"Recipient phone number."},"type":{"type":"string","description":"One of template, text, image, video, audio, document."},"template_name":{"type":"string","description":"Approved template name."},"language_code":{"type":"string","description":"e.g. en_US."},"components":{"type":"array","items":[],"description":"WhatsApp Cloud API template components. Required when the approved template contains BODY, HEADER, or BUTTON variables. Each component contains type and parameters and is forwarded to template.components."},"body":{"type":"string","description":"Freeform message text."},"url":{"type":"string","description":"Publicly reachable URL of the media file."},"caption":{"type":"string","description":"Caption (image\/video\/document only)."},"filename":{"type":"string","description":"Filename (document only)."}},"required":["to","type"]}}}}}},"\/support-tickets":{"get":{"tags":["Support Tickets"],"summary":"List support tickets","operationId":"support-tickets_0","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"per_page","in":"query","required":false,"description":"Results per page (default 25).","schema":{"type":"integer"}}]},"post":{"tags":["Support Tickets"],"summary":"Open a support ticket","operationId":"support-tickets_1","security":[{"bearerAuth":[]}],"responses":{"201":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"subject":{"type":"string","description":"Short summary of the issue."},"priority":{"type":"string","description":"One of low, medium, high."},"category_id":{"type":"integer","description":"ID of one of the fixed support ticket categories."},"message":{"type":"string","description":"The initial message describing the issue."},"attachments":{"type":"array","items":[],"description":"Up to 5 files, 5MB each."}},"required":["subject","priority","message"]}}}}}},"\/support-tickets\/{id}":{"get":{"tags":["Support Tickets"],"summary":"Get a single ticket (with its replies)","operationId":"support-tickets_2","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/support-tickets\/{id}\/replies":{"post":{"tags":["Support Tickets"],"summary":"Post a reply","operationId":"support-tickets_3","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Reply text, max 5000 characters."},"attachments":{"type":"array","items":[],"description":"Up to 5 files, 5MB each."}},"required":["message"]}}}}}},"\/support-tickets\/{id}\/close":{"post":{"tags":["Support Tickets"],"summary":"Close a ticket","operationId":"support-tickets_4","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}},"\/support-tickets\/{id}\/reopen":{"post":{"tags":["Support Tickets"],"summary":"Reopen a ticket","operationId":"support-tickets_5","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response"},"401":{"description":"Unauthenticated"},"403":{"description":"Forbidden"},"422":{"description":"Validation error"},"429":{"description":"Rate limit exceeded"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}