{"openapi":"3.1.0","info":{"title":"Heka Webhook","version":"0.1.0"},"paths":{"/media/{sha256}":{"get":{"tags":["media"],"summary":"Serve Media","operationId":"serve_media_media__sha256__get","parameters":[{"name":"sha256","in":"path","required":true,"schema":{"type":"string","title":"Sha256"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/media/upload":{"post":{"tags":["media"],"summary":"Upload Media","operationId":"upload_media_media_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_media_media_upload_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/register":{"post":{"summary":"Register","operationId":"register_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/login":{"post":{"summary":"Login","operationId":"login_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/push/vapid-public-key":{"get":{"summary":"Read Vapid Public Key","operationId":"read_vapid_public_key_push_vapid_public_key_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Read Vapid Public Key Push Vapid Public Key Get"}}}}}}},"/push/subscribe":{"post":{"summary":"Subscribe","operationId":"subscribe_push_subscribe_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushSubscriptionIn"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Subscribe Push Subscribe Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations":{"get":{"summary":"List Conversations","operationId":"list_conversations_conversations_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConversationSummary"},"title":"Response List Conversations Conversations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{wa_id}/timeline":{"get":{"summary":"Get Timeline","operationId":"get_timeline_conversations__wa_id__timeline_get","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TimelineEvent"},"title":"Response Get Timeline Conversations  Wa Id  Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{wa_id}/ownership":{"post":{"summary":"Set Ownership","operationId":"set_ownership_conversations__wa_id__ownership_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OwnershipRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OwnershipRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{wa_id}/messages":{"post":{"summary":"Send Message","operationId":"send_message_conversations__wa_id__messages_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{wa_id}/media":{"post":{"summary":"Send Media Message","operationId":"send_media_message_conversations__wa_id__media_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_send_media_message_conversations__wa_id__media_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMediaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/templates":{"get":{"tags":["templates"],"summary":"List Templates","operationId":"list_templates_templates_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MessageTemplate"},"title":"Response List Templates Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["templates"],"summary":"Create Template","operationId":"create_template_templates_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageTemplate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/templates/{name}/duplicate":{"post":{"tags":["templates"],"summary":"Duplicate Template","operationId":"duplicate_template_templates__name__duplicate_post","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateTemplateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageTemplate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/templates/{name}":{"delete":{"tags":["templates"],"summary":"Delete Template","operationId":"delete_template_templates__name__delete","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/templates/{name}/status":{"get":{"tags":["templates"],"summary":"Get Template Status","operationId":"get_template_status_templates__name__status_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/phases":{"get":{"summary":"Get Campaign Phases","operationId":"get_campaign_phases_campaigns__campaign_id__phases_get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/phases/{phase_id}":{"get":{"tags":["campaigns-admin"],"summary":"Get Phase","operationId":"get_phase_campaigns__campaign_id__phases__phase_id__get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"phase_id","in":"path","required":true,"schema":{"type":"string","title":"Phase Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/phases/{phase_id}/skill":{"put":{"tags":["campaigns-admin"],"summary":"Update Phase Skill","operationId":"update_phase_skill_campaigns__campaign_id__phases__phase_id__skill_put","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"phase_id","in":"path","required":true,"schema":{"type":"string","title":"Phase Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseSkillUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/resources":{"get":{"tags":["campaigns-admin"],"summary":"List Resources","operationId":"list_resources_campaigns__campaign_id__resources_get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourcesListOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["campaigns-admin"],"summary":"Create Resource","operationId":"create_resource_campaigns__campaign_id__resources_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/resources/{resource_id}":{"put":{"tags":["campaigns-admin"],"summary":"Update Resource","operationId":"update_resource_campaigns__campaign_id__resources__resource_id__put","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["campaigns-admin"],"summary":"Delete Resource","operationId":"delete_resource_campaigns__campaign_id__resources__resource_id__delete","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/contacts/{wa_id}/phase":{"post":{"tags":["campaigns-admin"],"summary":"Move Contact Phase","operationId":"move_contact_phase_campaigns__campaign_id__contacts__wa_id__phase_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactPhaseMove"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactPhaseMoveOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenant/documents":{"get":{"tags":["tenant-admin"],"summary":"List Tenant Documents","operationId":"list_tenant_documents_tenant_documents_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TenantDoc"},"title":"Response List Tenant Documents Tenant Documents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tenant-admin"],"summary":"Create Tenant Document","operationId":"create_tenant_document_tenant_documents_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantDocCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantDoc"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenant/documents/{doc_id}":{"put":{"tags":["tenant-admin"],"summary":"Update Tenant Document","operationId":"update_tenant_document_tenant_documents__doc_id__put","parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantDocUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantDoc"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tenant-admin"],"summary":"Delete Tenant Document","operationId":"delete_tenant_document_tenant_documents__doc_id__delete","parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenant/canned-responses":{"get":{"tags":["tenant-admin"],"summary":"List Canned Responses","operationId":"list_canned_responses_tenant_canned_responses_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CannedResponse"},"title":"Response List Canned Responses Tenant Canned Responses Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tenant-admin"],"summary":"Create Canned Response","operationId":"create_canned_response_tenant_canned_responses_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CannedResponseCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CannedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenant/canned-responses/{response_id}":{"put":{"tags":["tenant-admin"],"summary":"Update Canned Response","operationId":"update_canned_response_tenant_canned_responses__response_id__put","parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CannedResponseUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CannedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tenant-admin"],"summary":"Delete Canned Response","operationId":"delete_canned_response_tenant_canned_responses__response_id__delete","parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns":{"get":{"tags":["campaigns"],"summary":"List Campaigns","operationId":"list_campaigns_campaigns_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CampaignSummary"},"title":"Response List Campaigns Campaigns Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/send":{"post":{"tags":["campaigns"],"summary":"Send Campaign","operationId":"send_campaign_campaigns_send_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendCampaignRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignAccepted"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/send-template":{"post":{"tags":["campaigns"],"summary":"Send Tracked Template","operationId":"send_tracked_template_campaigns__campaign_id__send_template_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackedTemplateSendRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackedTemplateSendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/send-template/batch":{"post":{"tags":["campaigns"],"summary":"Send Batch Template","operationId":"send_batch_template_campaigns__campaign_id__send_template_batch_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchTemplateSendRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchTemplateSendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/drafts":{"post":{"tags":["campaigns"],"summary":"Create Draft","operationId":"create_draft_campaigns_drafts_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDraftRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/board":{"get":{"tags":["campaigns"],"summary":"Get Board","operationId":"get_board_campaigns_board_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/CampaignState"},{"type":"null"}],"title":"State"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}":{"get":{"tags":["campaigns"],"summary":"Get Campaign","operationId":"get_campaign_campaigns__campaign_id__get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["campaigns"],"summary":"Patch Campaign","operationId":"patch_campaign_campaigns__campaign_id__patch","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchDraftRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["campaigns"],"summary":"Delete Campaign","operationId":"delete_campaign_campaigns__campaign_id__delete","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/archive":{"post":{"tags":["campaigns"],"summary":"Archive Campaign","operationId":"archive_campaign_campaigns__campaign_id__archive_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/unarchive":{"post":{"tags":["campaigns"],"summary":"Unarchive Campaign","operationId":"unarchive_campaign_campaigns__campaign_id__unarchive_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/duplicate":{"post":{"tags":["campaigns"],"summary":"Duplicate Campaign","operationId":"duplicate_campaign_campaigns__campaign_id__duplicate_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/status":{"get":{"tags":["campaigns"],"summary":"Get Campaign Status","operationId":"get_campaign_status_campaigns__campaign_id__status_get","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/test-send":{"post":{"tags":["campaigns"],"summary":"Lifecycle Test Send","operationId":"lifecycle_test_send_campaigns__campaign_id__test_send_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LifecycleSendRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/approve":{"post":{"tags":["campaigns"],"summary":"Lifecycle Approve","operationId":"lifecycle_approve_campaigns__campaign_id__approve_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/campaigns/{campaign_id}/launch":{"post":{"tags":["campaigns"],"summary":"Lifecycle Launch","operationId":"lifecycle_launch_campaigns__campaign_id__launch_post","parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LifecycleSendRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/segments":{"get":{"tags":["segments"],"summary":"List Segments","operationId":"list_segments_segments_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SegmentOut"},"title":"Response List Segments Segments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["segments"],"summary":"Create Segment","operationId":"create_segment_segments_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/segments/{segment_id}":{"get":{"tags":["segments"],"summary":"Get Segment","operationId":"get_segment_segments__segment_id__get","parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["segments"],"summary":"Update Segment","operationId":"update_segment_segments__segment_id__put","parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["segments"],"summary":"Delete Segment","operationId":"delete_segment_segments__segment_id__delete","parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/segments/{segment_id}/count":{"get":{"tags":["segments"],"summary":"Count Segment","operationId":"count_segment_segments__segment_id__count_get","parameters":[{"name":"segment_id","in":"path","required":true,"schema":{"type":"string","title":"Segment Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentCount"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts":{"get":{"summary":"List Contacts","operationId":"list_contacts_contacts_get","parameters":[{"name":"tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response List Contacts Contacts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tags":{"get":{"summary":"List Tags","operationId":"list_tags_tags_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response List Tags Tags Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Tag","operationId":"create_tag_tags_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTagRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{wa_id}/tags":{"post":{"summary":"Assign Tag","operationId":"assign_tag_contacts__wa_id__tags_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignTagRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/bulk-tag":{"post":{"summary":"Bulk Assign Tag","operationId":"bulk_assign_tag_contacts_bulk_tag_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkTagRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"title":"Response Bulk Assign Tag Contacts Bulk Tag Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{wa_id}/tags/{tag_id}":{"delete":{"summary":"Remove Tag","operationId":"remove_tag_contacts__wa_id__tags__tag_id__delete","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"tag_id","in":"path","required":true,"schema":{"type":"integer","title":"Tag Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{wa_id}/stage":{"patch":{"summary":"Update Stage","operationId":"update_stage_contacts__wa_id__stage_patch","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StageUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{wa_id}/name":{"patch":{"summary":"Update Display Name","operationId":"update_display_name_contacts__wa_id__name_patch","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisplayNameRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{wa_id}/context":{"patch":{"summary":"Update Contact Context","operationId":"update_contact_context_contacts__wa_id__context_patch","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactContextPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{wa_id}/related":{"get":{"summary":"List Related Contacts","operationId":"list_related_contacts_contacts__wa_id__related_get","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Related Contact","operationId":"create_related_contact_contacts__wa_id__related_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelatedContactRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/contacts/{wa_id}/related/{rc_id}":{"put":{"summary":"Update Related Contact","operationId":"update_related_contact_contacts__wa_id__related__rc_id__put","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"rc_id","in":"path","required":true,"schema":{"type":"string","title":"Rc Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelatedContactRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Related Contact","operationId":"delete_related_contact_contacts__wa_id__related__rc_id__delete","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"rc_id","in":"path","required":true,"schema":{"type":"string","title":"Rc Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/closed":{"get":{"summary":"List Closed Conversations","operationId":"list_closed_conversations_conversations_closed_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{wa_id}/close":{"post":{"summary":"Close Conversation","operationId":"close_conversation_conversations__wa_id__close_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{wa_id}/dismiss":{"post":{"summary":"Dismiss Conversation","operationId":"dismiss_conversation_conversations__wa_id__dismiss_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{wa_id}/undismiss":{"post":{"summary":"Undismiss Conversation","operationId":"undismiss_conversation_conversations__wa_id__undismiss_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{wa_id}/close-session":{"post":{"summary":"Close Session","operationId":"close_session_conversations__wa_id__close_session_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/handoffs":{"get":{"summary":"List Handoffs","operationId":"list_handoffs_api_handoffs_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response List Handoffs Api Handoffs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/handoffs/{wa_id}/accept":{"post":{"summary":"Accept Handoff","operationId":"accept_handoff_api_handoffs__wa_id__accept_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/handoffs/{wa_id}/release":{"post":{"summary":"Release Handoff","operationId":"release_handoff_api_handoffs__wa_id__release_post","parameters":[{"name":"wa_id","in":"path","required":true,"schema":{"type":"string","title":"Wa Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/webhook":{"get":{"summary":"Webhook Challenge","operationId":"webhook_challenge_webhook_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Webhook Receive","operationId":"webhook_receive_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AssignTagRequest":{"properties":{"tag_id":{"type":"integer","title":"Tag Id"}},"type":"object","required":["tag_id"],"title":"AssignTagRequest"},"AutoReplyStep-Input":{"properties":{"type":{"$ref":"#/components/schemas/StepType","default":"text"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"media_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Url"},"caption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caption"},"delay_minutes":{"type":"integer","minimum":0.0,"title":"Delay Minutes","default":0},"trigger":{"type":"string","enum":["immediate","reply"],"title":"Trigger","default":"immediate"},"branches":{"anyOf":[{"additionalProperties":{"items":{"$ref":"#/components/schemas/AutoReplyStep-Input"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Branches"},"question_context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question Context"},"branch_descriptions":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Branch Descriptions"}},"type":"object","title":"AutoReplyStep","description":"One step in a drip-sequence auto-reply."},"AutoReplyStep-Output":{"properties":{"type":{"$ref":"#/components/schemas/StepType","default":"text"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"media_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Url"},"caption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caption"},"delay_minutes":{"type":"integer","minimum":0.0,"title":"Delay Minutes","default":0},"trigger":{"type":"string","enum":["immediate","reply"],"title":"Trigger","default":"immediate"},"branches":{"anyOf":[{"additionalProperties":{"items":{"$ref":"#/components/schemas/AutoReplyStep-Output"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Branches"},"question_context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question Context"},"branch_descriptions":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Branch Descriptions"}},"type":"object","title":"AutoReplyStep","description":"One step in a drip-sequence auto-reply."},"BatchContactItem":{"properties":{"wa_id":{"type":"string","title":"Wa Id"},"parameters":{"items":{"type":"string"},"type":"array","title":"Parameters","default":[]},"request_id":{"type":"string","title":"Request Id"}},"type":"object","required":["wa_id","request_id"],"title":"BatchContactItem","description":"HEKA-246: per-contact item in a batch send request."},"BatchContactResult":{"properties":{"wa_id":{"type":"string","title":"Wa Id"},"request_id":{"type":"string","title":"Request Id"},"status":{"type":"string","enum":["sent","duplicate","failed","rate_limited","daily_limit_reached","dry_run"],"title":"Status"},"wamid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wamid"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["wa_id","request_id","status"],"title":"BatchContactResult","description":"HEKA-246: per-contact result in a batch send response."},"BatchSummary":{"properties":{"total":{"type":"integer","title":"Total"},"sent":{"type":"integer","title":"Sent"},"failed":{"type":"integer","title":"Failed"},"skipped":{"type":"integer","title":"Skipped"}},"type":"object","required":["total","sent","failed","skipped"],"title":"BatchSummary","description":"HEKA-246: aggregate summary of a batch send."},"BatchTemplateSendRequest":{"properties":{"template_name":{"type":"string","title":"Template Name"},"language":{"type":"string","title":"Language"},"contacts":{"items":{"$ref":"#/components/schemas/BatchContactItem"},"type":"array","title":"Contacts"},"dry_run":{"type":"boolean","title":"Dry Run","default":false},"header_media":{"anyOf":[{"$ref":"#/components/schemas/HeaderMedia"},{"type":"null"}]},"header_location":{"anyOf":[{"$ref":"#/components/schemas/HeaderLocation"},{"type":"null"}]},"button_url":{"anyOf":[{"$ref":"#/components/schemas/ButtonUrlParam"},{"type":"null"}]}},"type":"object","required":["template_name","language","contacts"],"title":"BatchTemplateSendRequest","description":"HEKA-246: batch template send request."},"BatchTemplateSendResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/BatchContactResult"},"type":"array","title":"Results"},"summary":{"$ref":"#/components/schemas/BatchSummary"}},"type":"object","required":["results","summary"],"title":"BatchTemplateSendResponse","description":"HEKA-246: batch template send response."},"BoardOut":{"properties":{"cards":{"items":{"$ref":"#/components/schemas/CampaignCard"},"type":"array","title":"Cards"},"lanzada_total":{"type":"integer","title":"Lanzada Total"}},"type":"object","required":["cards","lanzada_total"],"title":"BoardOut","description":"Response for GET /campaigns/board."},"Body_send_media_message_conversations__wa_id__media_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"caption":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caption"}},"type":"object","required":["file"],"title":"Body_send_media_message_conversations__wa_id__media_post"},"Body_upload_media_media_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_media_media_upload_post"},"BulkTagRequest":{"properties":{"wa_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Wa Ids"},"tag_id":{"type":"integer","title":"Tag Id"}},"type":"object","required":["wa_ids","tag_id"],"title":"BulkTagRequest"},"ButtonUrlParam":{"properties":{"index":{"type":"integer","title":"Index"},"value":{"type":"string","title":"Value"}},"type":"object","required":["index","value"],"title":"ButtonUrlParam","description":"The value substituted into a URL button's {{1}} at send time.\n\nLives here for the same reason HeaderMedia does — templates.client already\nimports channels.graph, so the reverse edge would close a cycle (D5)."},"CampaignAccepted":{"properties":{"id":{"type":"string","title":"Id"},"total":{"type":"integer","title":"Total"},"status":{"type":"string","enum":["running","completed"],"title":"Status"}},"type":"object","required":["id","total","status"],"title":"CampaignAccepted","description":"202 response — campaign created and running in background."},"CampaignCard":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"state":{"$ref":"#/components/schemas/CampaignState"},"template_name":{"type":"string","title":"Template Name"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id"},"segment_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Name"},"audience_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audience Count"},"tested_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Tested At"},"approved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Approved At"},"launched_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Launched At"},"sent":{"type":"integer","title":"Sent"},"failed":{"type":"integer","title":"Failed"},"total":{"type":"integer","title":"Total"},"dispatch_failed":{"type":"boolean","title":"Dispatch Failed"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"}},"type":"object","required":["id","name","state","template_name","segment_id","segment_name","audience_count","tested_at","approved_at","launched_at","sent","failed","total","dispatch_failed","archived_at"],"title":"CampaignCard","description":"Board row — CampaignOut minus the config detail, plus what the card renders."},"CampaignConfig-Input":{"properties":{"template_name":{"type":"string","minLength":1,"title":"Template Name"},"language":{"type":"string","title":"Language","default":"es_MX"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id"},"parameters":{"items":{"type":"string"},"type":"array","title":"Parameters"},"header_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header Url"},"button_url_suffix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Button Url Suffix"},"steps":{"items":{"$ref":"#/components/schemas/AutoReplyStep-Input"},"type":"array","title":"Steps"}},"type":"object","required":["template_name"],"title":"CampaignConfig","description":"The fingerprinted payload — everything a production send depends on.\n\nDeliberately re-declares the three validators ``SendCampaignRequest`` already has\ninstead of sharing a base class. This epic pins ``SendCampaignRequest`` as unchanged\nand ``/send`` is the live path the console uses today; a shared-base refactor buys a\ndozen lines and risks the one endpoint the epic promised not to touch.\n\nNote what is absent: no ``tag_filter`` (lifecycle campaigns are segment-only) and no\nXOR audience validator — a draft is legitimately created with ``segment_id=None``\n(epic D4, ``require_audience=False``)."},"CampaignConfig-Output":{"properties":{"template_name":{"type":"string","minLength":1,"title":"Template Name"},"language":{"type":"string","title":"Language","default":"es_MX"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id"},"parameters":{"items":{"type":"string"},"type":"array","title":"Parameters"},"header_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header Url"},"button_url_suffix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Button Url Suffix"},"steps":{"items":{"$ref":"#/components/schemas/AutoReplyStep-Output"},"type":"array","title":"Steps"}},"type":"object","required":["template_name"],"title":"CampaignConfig","description":"The fingerprinted payload — everything a production send depends on.\n\nDeliberately re-declares the three validators ``SendCampaignRequest`` already has\ninstead of sharing a base class. This epic pins ``SendCampaignRequest`` as unchanged\nand ``/send`` is the live path the console uses today; a shared-base refactor buys a\ndozen lines and risks the one endpoint the epic promised not to touch.\n\nNote what is absent: no ``tag_filter`` (lifecycle campaigns are segment-only) and no\nXOR audience validator — a draft is legitimately created with ``segment_id=None``\n(epic D4, ``require_audience=False``)."},"CampaignFailure":{"properties":{"wa_id":{"type":"string","title":"Wa Id"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["wa_id","reason"],"title":"CampaignFailure","description":"Per-contact send failure record."},"CampaignOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"state":{"$ref":"#/components/schemas/CampaignState"},"config":{"$ref":"#/components/schemas/CampaignConfig-Output"},"segment_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Name"},"audience_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Audience Count"},"tested_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Tested At"},"approved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Approved At"},"approved_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Approved By"},"launched_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Launched At"},"test_send":{"anyOf":[{"$ref":"#/components/schemas/CampaignSummary"},{"type":"null"}]},"production_send":{"anyOf":[{"$ref":"#/components/schemas/CampaignSummary"},{"type":"null"}]},"dispatch_failed":{"type":"boolean","title":"Dispatch Failed"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"},"test_segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Test Segment Id"},"test_segment_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Test Segment Name"},"test_audience_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Test Audience Count"},"created_by":{"type":"string","title":"Created By"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","state","config","segment_name","audience_count","tested_at","approved_at","approved_by","launched_at","test_send","production_send","dispatch_failed","archived_at","test_segment_id","test_segment_name","test_audience_count","created_by","created_at","updated_at"],"title":"CampaignOut","description":"Response for the single-campaign reads."},"CampaignState":{"type":"string","enum":["draft","prueba","aprobada","lanzada"],"title":"CampaignState","description":"The four board columns. Spanish values — they are the operator's vocabulary\nand they are what the CHECK constraint in `campaigns` stores."},"CampaignStatus":{"properties":{"id":{"type":"string","title":"Id"},"template_name":{"type":"string","title":"Template Name"},"language":{"type":"string","title":"Language"},"tag_filter":{"type":"string","title":"Tag Filter"},"total":{"type":"integer","title":"Total"},"sent":{"type":"integer","title":"Sent"},"failed":{"type":"integer","title":"Failed"},"status":{"type":"string","enum":["running","completed"],"title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"failures":{"items":{"$ref":"#/components/schemas/CampaignFailure"},"type":"array","title":"Failures"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id"},"segment_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Name"}},"type":"object","required":["id","template_name","language","tag_filter","total","sent","failed","status","created_at"],"title":"CampaignStatus","description":"Response for GET /campaigns/{id}/status."},"CampaignSummary":{"properties":{"id":{"type":"string","title":"Id"},"template_name":{"type":"string","title":"Template Name"},"language":{"type":"string","title":"Language"},"tag_filter":{"type":"string","title":"Tag Filter"},"total":{"type":"integer","title":"Total"},"sent":{"type":"integer","title":"Sent"},"failed":{"type":"integer","title":"Failed"},"delivered":{"type":"integer","title":"Delivered"},"status":{"type":"string","enum":["running","completed"],"title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id"},"segment_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Name"}},"type":"object","required":["id","template_name","language","tag_filter","total","sent","failed","delivered","status","created_at"],"title":"CampaignSummary","description":"Summary row for GET /campaigns (no per-contact failure detail)."},"CannedResponse":{"properties":{"id":{"type":"string","title":"Id"},"shortcut":{"type":"string","title":"Shortcut"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"category":{"type":"string","title":"Category","default":"general"}},"type":"object","required":["shortcut","title","content"],"title":"CannedResponse"},"CannedResponseCreate":{"properties":{"shortcut":{"type":"string","title":"Shortcut"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"category":{"type":"string","title":"Category","default":"general"}},"type":"object","required":["shortcut","title","content"],"title":"CannedResponseCreate"},"CannedResponseUpdate":{"properties":{"shortcut":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shortcut"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},"type":"object","title":"CannedResponseUpdate"},"ContactContextPatch":{"properties":{"student_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Student Name"},"student_age":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Student Age"},"parent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Name"},"sample_class_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Class At"},"program":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Program"}},"type":"object","title":"ContactContextPatch"},"ContactPhaseMove":{"properties":{"phase_id":{"type":"string","title":"Phase Id"}},"type":"object","required":["phase_id"],"title":"ContactPhaseMove"},"ContactPhaseMoveOut":{"properties":{"wa_id":{"type":"string","title":"Wa Id"},"phase_id":{"type":"string","title":"Phase Id"}},"type":"object","required":["wa_id","phase_id"],"title":"ContactPhaseMoveOut"},"ConversationSummary":{"properties":{"wa_id":{"type":"string","title":"Wa Id"},"profile_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"last_message_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Message Body"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"},"last_direction":{"anyOf":[{"type":"string","enum":["inbound","outbound"]},{"type":"null"}],"title":"Last Direction"},"message_count":{"type":"integer","title":"Message Count","default":0},"lead_stage":{"type":"string","enum":["CONTACTO","INTERESADO","LISTO","PAGADO","GANADO","PERDIDO"],"title":"Lead Stage","default":"CONTACTO"},"lead_state":{"type":"string","enum":["never_responded","active","cold","stalled"],"title":"Lead State","default":"never_responded"},"campaign_phase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign Phase"},"campaign_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign Id"},"has_inbound":{"type":"boolean","title":"Has Inbound","default":false},"tags":{"items":{"$ref":"#/components/schemas/TagOut"},"type":"array","title":"Tags","default":[]},"related_contacts":{"items":{"$ref":"#/components/schemas/RelatedContactOut"},"type":"array","title":"Related Contacts","default":[]},"extracted_tags":{"items":{"type":"string"},"type":"array","title":"Extracted Tags","default":[]},"lost_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lost Reason"},"dismissed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dismissed At"},"student_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Student Name"},"student_age":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Student Age"},"parent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Name"},"sample_class_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Class At"},"program":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Program"}},"type":"object","required":["wa_id"],"title":"ConversationSummary","description":"Summary of a conversation for the list endpoint."},"CreateDraftRequest":{"properties":{"name":{"type":"string","minLength":1,"title":"Name"},"config":{"$ref":"#/components/schemas/CampaignConfig-Input"}},"type":"object","required":["name","config"],"title":"CreateDraftRequest","description":"Request body for POST /campaigns/drafts."},"CreateTagRequest":{"properties":{"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color","default":"#9E9E9E"}},"type":"object","required":["name"],"title":"CreateTagRequest"},"CreateTemplateRequest":{"properties":{"name":{"type":"string","pattern":"^[a-z0-9_]{1,512}$","title":"Name"},"language":{"type":"string","title":"Language","default":"es_MX"},"category":{"type":"string","enum":["MARKETING","UTILITY","AUTHENTICATION"],"title":"Category","default":"MARKETING"},"body_text":{"type":"string","maxLength":1024,"minLength":1,"title":"Body Text"},"header_format":{"type":"string","enum":["TEXT","IMAGE","VIDEO"],"title":"Header Format","default":"TEXT"},"header_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header Text"},"header_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header Url"},"footer_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Footer Text"},"buttons":{"items":{"$ref":"#/components/schemas/TemplateButton"},"type":"array","title":"Buttons"}},"type":"object","required":["name","body_text"],"title":"CreateTemplateRequest"},"DisplayNameRequest":{"properties":{"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"}},"type":"object","title":"DisplayNameRequest"},"DuplicateTemplateRequest":{"properties":{"new_name":{"type":"string","pattern":"^[a-z0-9_]{1,512}$","title":"New Name"},"header_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header Url"}},"type":"object","required":["new_name"],"title":"DuplicateTemplateRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HeaderLocation":{"properties":{"latitude":{"type":"number","title":"Latitude"},"longitude":{"type":"number","title":"Longitude"},"name":{"type":"string","title":"Name"},"address":{"type":"string","title":"Address"}},"type":"object","required":["latitude","longitude","name","address"],"title":"HeaderLocation","description":"The location a template's LOCATION header renders at send time.\n\nLives here alongside HeaderMedia — same import-cycle avoidance rationale (D5)."},"HeaderMedia":{"properties":{"format":{"type":"string","enum":["IMAGE","VIDEO"],"title":"Format"},"url":{"type":"string","title":"Url"}},"type":"object","required":["format","url"],"title":"HeaderMedia","description":"The media a template's IMAGE/VIDEO header renders at send time.\n\nLives here rather than in templates/models.py: templates.client already\nimports channels.graph, so the reverse edge would close a cycle (D5)."},"LifecycleSendRequest":{"properties":{"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id"}},"type":"object","title":"LifecycleSendRequest","description":"Optional body for /test-send and /launch — caller may override the segment."},"MediaUploadResponse":{"properties":{"sha256":{"type":"string","title":"Sha256"},"url":{"type":"string","title":"Url"},"mime_type":{"type":"string","title":"Mime Type"}},"type":"object","required":["sha256","url","mime_type"],"title":"MediaUploadResponse"},"MessageTemplate":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"name":{"type":"string","title":"Name"},"language":{"type":"string","title":"Language"},"category":{"type":"string","enum":["MARKETING","UTILITY","AUTHENTICATION"],"title":"Category"},"status":{"type":"string","title":"Status"},"components":{"items":{"$ref":"#/components/schemas/TemplateComponent"},"type":"array","title":"Components"},"rejected_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rejected Reason"},"header_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header Url"}},"type":"object","required":["name","language","category","status","components"],"title":"MessageTemplate","description":"A WhatsApp message template as Meta reports it."},"OwnershipRecord":{"properties":{"wa_id":{"type":"string","title":"Wa Id"},"state":{"type":"string","enum":["agent","human","monitoring"],"title":"State","default":"human"},"operator_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operator Id"},"since":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},"type":"object","required":["wa_id"],"title":"OwnershipRecord","description":"Current ownership state of a conversation."},"OwnershipRequest":{"properties":{"action":{"type":"string","enum":["take","release"],"title":"Action"},"operator_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operator Id"}},"type":"object","required":["action"],"title":"OwnershipRequest"},"PatchDraftRequest":{"properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Name"},"config":{"anyOf":[{"$ref":"#/components/schemas/CampaignConfig-Input"},{"type":"null"}]},"test_segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Test Segment Id"}},"type":"object","title":"PatchDraftRequest","description":"Request body for PATCH /campaigns/{id} — all optional.\n\nA config change while the campaign is prueba/aprobada triggers the D2.3 reset;\na name-only change never does, because the name is not in the fingerprint.\n\n``test_segment_id`` uses tri-state via model_fields_set (D2): absent = unchanged,\nexplicit null = clear, value = set. The field never enters CampaignConfig and\nnever triggers lifecycle reset."},"PhaseOut":{"properties":{"id":{"type":"string","title":"Id"},"instructions":{"type":"string","title":"Instructions"},"boundaries":{"items":{"type":"string"},"type":"array","title":"Boundaries"},"hitl_triggers":{"items":{"type":"string"},"type":"array","title":"Hitl Triggers"},"suggested_resources":{"items":{"type":"string"},"type":"array","title":"Suggested Resources"},"timeout_hours":{"type":"integer","title":"Timeout Hours"},"timeout_action":{"type":"string","title":"Timeout Action"}},"type":"object","required":["id","instructions","boundaries","hitl_triggers","suggested_resources","timeout_hours","timeout_action"],"title":"PhaseOut","description":"Response model for a single campaign phase."},"PhaseSkillUpdate":{"properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"},"boundaries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Boundaries"},"hitl_triggers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Hitl Triggers"},"suggested_resources":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Suggested Resources"},"timeout_hours":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Timeout Hours"},"timeout_action":{"anyOf":[{"type":"string","enum":["lost","deferred","handoff","next_phase"]},{"type":"null"}],"title":"Timeout Action"}},"type":"object","title":"PhaseSkillUpdate","description":"Partial update for PhaseSkill fields. Only provided fields are applied."},"PhasesListOut":{"properties":{"phases":{"items":{"$ref":"#/components/schemas/PhaseOut"},"type":"array","title":"Phases"}},"type":"object","required":["phases"],"title":"PhasesListOut","description":"Response model for the phases list endpoint."},"PushSubscriptionIn":{"properties":{"endpoint":{"type":"string","minLength":1,"title":"Endpoint"},"keys":{"additionalProperties":{"type":"string"},"type":"object","title":"Keys"}},"type":"object","required":["endpoint","keys"],"title":"PushSubscriptionIn","description":"A browser `PushSubscription`, serialised by `JSON.stringify(subscription)`.\n\nThe browser also emits `expirationTime`; it is ignored rather than rejected,\nwhich is why this model does not forbid extra fields."},"RelatedContactOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"relation_type":{"type":"string","title":"Relation Type"},"age":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Age"}},"type":"object","required":["id","name","relation_type"],"title":"RelatedContactOut"},"RelatedContactRequest":{"properties":{"name":{"type":"string","title":"Name"},"relation_type":{"type":"string","title":"Relation Type","default":"student"},"age":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Age"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["name"],"title":"RelatedContactRequest"},"ResourceOut":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"media_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Url"},"media_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Type"},"phase_ids":{"items":{"type":"string"},"type":"array","title":"Phase Ids","default":[]}},"type":"object","required":["id","title","content"],"title":"ResourceOut","description":"Response model for a single campaign resource."},"ResourceUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"media_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Url"},"media_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Type"},"phase_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Phase Ids"}},"type":"object","title":"ResourceUpdateRequest","description":"Request body for PUT /campaigns/{id}/resources/{resource_id}. All optional."},"ResourcesListOut":{"properties":{"resources":{"items":{"$ref":"#/components/schemas/ResourceOut"},"type":"array","title":"Resources"}},"type":"object","required":["resources"],"title":"ResourcesListOut","description":"Response model for the resources list endpoint."},"SegmentCount":{"properties":{"segment_id":{"type":"string","title":"Segment Id"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["segment_id","count"],"title":"SegmentCount","description":"Response for GET /segments/{id}/count.\n\nBoth MVP criteria are backed by real data, so the count is always exact —\nno structured-uncertainty envelope is needed."},"SegmentCreate":{"properties":{"name":{"type":"string","maxLength":256,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"filter":{"$ref":"#/components/schemas/SegmentFilter"}},"type":"object","required":["name","filter"],"title":"SegmentCreate","description":"Request body for POST /segments."},"SegmentFilter":{"properties":{"pending_reply":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pending Reply"},"campaign_source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign Source Id"},"tag_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Tag Ids"},"tag_mode":{"type":"string","enum":["any","all"],"title":"Tag Mode","default":"any"}},"type":"object","title":"SegmentFilter","description":"Criteria evaluated at send time. Present fields are ANDed; absent means unfiltered.\n\nMVP scope (HEKA-81) carries only criteria with real backend persistence:\n``pending_reply`` (derived from last-message direction) and ``campaign_source_id``\n(from ``campaign_recipients``). Funnel stage is frontend-only state today and is\ndeferred to HEKA-83, which adds the write path before segments can filter on it.\n\nHEKA-85 adds ``tag_ids`` as a third criterion. ``tag_mode`` is a modifier on it, not\na criterion of its own: with ``tag_ids=None`` its value is unobservable, so it has\nno ``None`` state."},"SegmentOut":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"filter":{"$ref":"#/components/schemas/SegmentFilter"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","description","filter","created_at","updated_at"],"title":"SegmentOut","description":"Response model. No count here — counts are a separate read (D6)."},"SegmentUpdate":{"properties":{"name":{"type":"string","maxLength":256,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"filter":{"$ref":"#/components/schemas/SegmentFilter"}},"type":"object","required":["name","filter"],"title":"SegmentUpdate","description":"Request body for PUT /segments/{id} — full replacement, same shape as create."},"SendCampaignRequest":{"properties":{"template_name":{"type":"string","minLength":1,"title":"Template Name"},"language":{"type":"string","title":"Language","default":"es_MX"},"tag_filter":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Tag Filter"},"segment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Id"},"parameters":{"items":{"type":"string"},"type":"array","title":"Parameters"},"header_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header Url"},"button_url_suffix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Button Url Suffix"},"auto_reply":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Reply"},"steps":{"items":{"$ref":"#/components/schemas/AutoReplyStep-Input"},"type":"array","title":"Steps"}},"type":"object","required":["template_name"],"title":"SendCampaignRequest","description":"Request body for POST /campaigns/send."},"SendMediaResponse":{"properties":{"wamid":{"type":"string","title":"Wamid"},"media_url":{"type":"string","title":"Media Url"}},"type":"object","required":["wamid","media_url"],"title":"SendMediaResponse"},"SendMessageRequest":{"properties":{"text":{"type":"string","title":"Text"},"request_id":{"type":"string","title":"Request Id"},"operator_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operator Id"}},"type":"object","required":["text","request_id"],"title":"SendMessageRequest"},"SendMessageResponse":{"properties":{"wamid":{"type":"string","title":"Wamid"},"status":{"type":"string","enum":["sent","duplicate"],"title":"Status"}},"type":"object","required":["wamid","status"],"title":"SendMessageResponse"},"StageUpdateRequest":{"properties":{"stage":{"type":"string","title":"Stage"},"lost_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lost Reason"}},"type":"object","required":["stage"],"title":"StageUpdateRequest"},"StepType":{"type":"string","enum":["text","image","video","audio","document"],"title":"StepType","description":"Content type for a drip-sequence step."},"TagOut":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"}},"type":"object","required":["id","name","color"],"title":"TagOut"},"TemplateButton":{"properties":{"type":{"type":"string","enum":["QUICK_REPLY","URL"],"title":"Type"},"text":{"type":"string","maxLength":25,"minLength":1,"title":"Text"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"url_example":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url Example"}},"type":"object","required":["type","text"],"title":"TemplateButton","description":"A QUICK_REPLY or URL button. PHONE_NUMBER / COPY_CODE are out of scope."},"TemplateComponent":{"properties":{"type":{"type":"string","enum":["HEADER","BODY","FOOTER","BUTTONS"],"title":"Type","default":"BODY"},"text":{"type":"string","maxLength":1024,"title":"Text","default":""},"format":{"anyOf":[{"type":"string","enum":["TEXT","IMAGE","VIDEO"]},{"type":"null"}],"title":"Format"},"buttons":{"items":{"$ref":"#/components/schemas/TemplateButton"},"type":"array","title":"Buttons"}},"type":"object","title":"TemplateComponent","description":"MVP subset: TEXT/IMAGE/VIDEO HEADER, BODY, FOOTER, QUICK_REPLY/URL BUTTONS."},"TemplateStatusResponse":{"properties":{"name":{"type":"string","title":"Name"},"status":{"type":"string","title":"Status"},"rejected_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rejected Reason"}},"type":"object","required":["name","status"],"title":"TemplateStatusResponse"},"TenantDoc":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"doc_type":{"type":"string","title":"Doc Type"}},"type":"object","required":["title","content","doc_type"],"title":"TenantDoc"},"TenantDocCreate":{"properties":{"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"doc_type":{"type":"string","title":"Doc Type"}},"type":"object","required":["title","content","doc_type"],"title":"TenantDocCreate"},"TenantDocUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"doc_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Type"}},"type":"object","title":"TenantDocUpdate"},"TimelineEvent":{"properties":{"event_kind":{"type":"string","enum":["message","status","ownership_change"],"title":"Event Kind"},"kind":{"type":"string","enum":["customer","agent","human","system"],"title":"Kind","default":"system"},"wamid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wamid"},"wa_timestamp":{"type":"string","format":"date-time","title":"Wa Timestamp"},"actor":{"anyOf":[{"type":"string","enum":["contact","agent","system"]},{"type":"null"}],"title":"Actor"},"direction":{"anyOf":[{"type":"string","enum":["inbound","outbound"]},{"type":"null"}],"title":"Direction"},"message_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message Type"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"provider_meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Provider Meta"},"from_state":{"anyOf":[{"type":"string","enum":["agent","human","monitoring"]},{"type":"null"}],"title":"From State"},"to_state":{"anyOf":[{"type":"string","enum":["agent","human","monitoring"]},{"type":"null"}],"title":"To State"}},"type":"object","required":["event_kind","wa_timestamp"],"title":"TimelineEvent","description":"A single event in a conversation timeline (message, status, or ownership_change)."},"TokenOut":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"}},"type":"object","required":["access_token"],"title":"TokenOut","description":"JWT token response."},"TrackedTemplateSendRequest":{"properties":{"template_name":{"type":"string","title":"Template Name"},"language":{"type":"string","title":"Language"},"parameters":{"items":{"type":"string"},"type":"array","title":"Parameters","default":[]},"contact_wa_id":{"type":"string","title":"Contact Wa Id"},"request_id":{"type":"string","title":"Request Id"},"operator_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Operator Id"},"header_media":{"anyOf":[{"$ref":"#/components/schemas/HeaderMedia"},{"type":"null"}]},"header_location":{"anyOf":[{"$ref":"#/components/schemas/HeaderLocation"},{"type":"null"}]},"button_url":{"anyOf":[{"$ref":"#/components/schemas/ButtonUrlParam"},{"type":"null"}]}},"type":"object","required":["template_name","language","contact_wa_id","request_id"],"title":"TrackedTemplateSendRequest","description":"HEKA-245: individual tracked template send within a campaign (D1)."},"TrackedTemplateSendResponse":{"properties":{"wamid":{"type":"string","title":"Wamid"},"status":{"type":"string","enum":["sent","duplicate"],"title":"Status"}},"type":"object","required":["wamid","status"],"title":"TrackedTemplateSendResponse","description":"HEKA-245: response for tracked template send."},"UserCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","minLength":1,"title":"Password"}},"type":"object","required":["email","password"],"title":"UserCreate","description":"Input model for registration and login — carries plain-text password."},"UserOut":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"}},"type":"object","required":["id","email"],"title":"UserOut","description":"Safe user representation — no password hash exposed."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}