{"openapi":"3.1.0","info":{"title":"Simply RCS API","version":"1.0.0","description":"Complete API for the Simply RCS messaging platform: SMS/MMS/RCS sender registration, brand and campaign vetting, bots, blasts, contacts, content, analytics, billing, vendor catalog, and product cost/revenue."},"servers":[{"url":"https://simplyrcs.signalmash.com","description":"Public API Server"}],"security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"tags":[{"name":"Common","description":"Health, authentication, onboarding, assets, team, and shared resources."},{"name":"Sender IDs","description":"Sender IDs, channels, protocols, and RCS sender resources."},{"name":"Programs","description":"Customer-safe brand/campaign messaging programs, sender attachments, and readiness status."},{"name":"Blasts","description":"Campaign creation, audience selection, launch, and progress tracking."},{"name":"Bots","description":"Bot flow management, publishing, templates, and emulator APIs."},{"name":"Dictionaries","description":"Reusable intents, variable definitions, and dictionary categories shared across bots and templates."},{"name":"Contacts","description":"Contacts, tags, segments, imports, and subscription workflows."},{"name":"Compliance","description":"DNC, consent, TCPA, and compliance reporting."},{"name":"Templates","description":"Reusable message templates and landing pages."},{"name":"Conversations","description":"Conversation, messaging, inbox, and session APIs."},{"name":"Analytics","description":"Operational analytics, reports, exports, and dashboards."},{"name":"Webhooks","description":"Webhook endpoint management and provider callbacks."},{"name":"API Keys","description":"API key lifecycle management."},{"name":"Events","description":"Event-triggered and acquisition messaging workflows."},{"name":"Submissions","description":"Brand, campaign, sender-ID, and RCS-agent regulatory submissions."},{"name":"MCP","description":"Model Context Protocol server configuration for AI-agent integrations."}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Pass an API key as a Bearer token."},"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Pass an API key in the X-API-Key header."}},"schemas":{"HealthResponse":{"type":"object","properties":{"status":{"type":"string","enum":["ok"]}},"required":["status"]},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"required":["error","message"]},"Id":{"type":"string","minLength":1},"DateTime":{"type":["string","null"],"format":"date-time"},"SuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]},"LandingPageTemplate":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"name":{"type":"string"},"description":{"type":"string"},"thumbnailUrl":{"type":"string"},"category":{"type":"string"},"blocksJson":{"type":"array","items":{"type":"object","additionalProperties":{}}},"themeJson":{"type":"object","additionalProperties":{}}},"required":["id","name","description","thumbnailUrl","category","blocksJson","themeJson"]},"LandingPageTemplateListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LandingPageTemplate"}}},"required":["data"]},"LandingPageBlock":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"order":{"type":"integer"},"config":{"type":"object","additionalProperties":{}},"style":{"type":"object","additionalProperties":{}}},"required":["id","type","order","config"]},"LandingPageTheme":{"type":["object","null"],"additionalProperties":{}},"LandingPageStatus":{"type":"string","enum":["DRAFT","PUBLISHED","ARCHIVED"]},"LandingPageExperienceType":{"type":"string","enum":["GENERAL_PAGE","RCS_WEB_EXPERIENCE"]},"LandingPage":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"orgId":{"$ref":"#/components/schemas/Id"},"title":{"type":"string"},"slug":{"type":"string"},"blocksJson":{"type":"array","items":{"$ref":"#/components/schemas/LandingPageBlock"}},"themeJson":{"$ref":"#/components/schemas/LandingPageTheme"},"status":{"$ref":"#/components/schemas/LandingPageStatus"},"experienceType":{"$ref":"#/components/schemas/LandingPageExperienceType"},"seoTitle":{"type":["string","null"]},"seoDescription":{"type":["string","null"]},"ogImageUrl":{"type":["string","null"]},"linkedBotId":{"type":["string","null"]},"linkedSenderIdId":{"type":["string","null"]},"publishedAt":{"$ref":"#/components/schemas/DateTime"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"submissionCount":{"type":"integer"}},"required":["id","orgId","title","slug","blocksJson","themeJson","status","experienceType","seoTitle","seoDescription","ogImageUrl","linkedBotId","linkedSenderIdId","publishedAt","createdAt","updatedAt"]},"LandingPageListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LandingPage"}},"total":{"type":"integer","minimum":0},"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1}},"required":["data","total","page","limit"]},"LandingPageResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/LandingPage"}},"required":["data"]},"LandingPageCreateRequest":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":150},"slug":{"type":"string","maxLength":100},"blocksJson":{"type":"array","items":{"$ref":"#/components/schemas/LandingPageBlock"}},"themeJson":{"allOf":[{"$ref":"#/components/schemas/LandingPageTheme"},{"type":"object"}]},"experienceType":{"$ref":"#/components/schemas/LandingPageExperienceType"}},"required":["title"]},"LandingPageUpdateRequest":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":150},"slug":{"type":"string","maxLength":100},"blocksJson":{"type":"array","items":{"$ref":"#/components/schemas/LandingPageBlock"}},"themeJson":{"$ref":"#/components/schemas/LandingPageTheme"},"experienceType":{"$ref":"#/components/schemas/LandingPageExperienceType"},"seoTitle":{"type":["string","null"],"maxLength":150},"seoDescription":{"type":["string","null"],"maxLength":300},"ogImageUrl":{"type":["string","null"]},"linkedBotId":{"type":["string","null"]},"linkedSenderIdId":{"type":["string","null"]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"description":"Optimistic-concurrency check: pass the last-seen updatedAt; a mismatch returns 409."}]}}},"LandingPageFormSubmission":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"landingPageId":{"$ref":"#/components/schemas/Id"},"orgId":{"$ref":"#/components/schemas/Id"},"fieldsJson":{"type":"object","additionalProperties":{"type":"string"}},"contactId":{"type":["string","null"]},"conversationId":{"type":["string","null"]},"messageId":{"type":["string","null"]},"botId":{"type":["string","null"]},"botNodeId":{"type":["string","null"]},"landingPageVersionId":{"type":["string","null"]},"ipAddress":{"type":["string","null"]},"userAgent":{"type":["string","null"]},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","landingPageId","orgId","fieldsJson","contactId","conversationId","messageId","botId","botNodeId","landingPageVersionId","ipAddress","userAgent","createdAt"]},"LandingPageSubmissionListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LandingPageFormSubmission"}},"total":{"type":"integer","minimum":0},"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1}},"required":["data","total","page","limit"]},"AssetType":{"type":"string","enum":["IMAGE","VIDEO","AUDIO","PDF","GIF"]},"Asset":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"orgId":{"$ref":"#/components/schemas/Id"},"folderId":{"type":["string","null"]},"name":{"type":"string"},"displayName":{"type":["string","null"]},"type":{"$ref":"#/components/schemas/AssetType"},"mimeType":{"type":"string"},"sizeBytes":{"type":"integer"},"status":{"type":"string"},"storagePath":{"type":"string"},"cdnUrl":{"type":["string","null"]},"width":{"type":["integer","null"]},"height":{"type":["integer","null"]},"durationMs":{"type":["integer","null"]},"thumbnailPath":{"type":["string","null"]},"metadata":{"type":["object","null"],"additionalProperties":{}},"variants":{"type":["object","null"],"additionalProperties":{}},"errorMessage":{"type":["string","null"]},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","orgId","folderId","name","displayName","type","mimeType","sizeBytes","status","storagePath","cdnUrl","width","height","durationMs","thumbnailPath","metadata","variants","errorMessage","createdAt","updatedAt"]},"AssetListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Asset"}},"total":{"type":"integer","minimum":0},"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1}},"required":["data","total","page","limit"]},"AssetResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Asset"}},"required":["data"]},"AssetUploadRequest":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"folderId":{"type":"string"},"displayName":{"type":"string"}},"required":["file"]},"AssetBatchUploadResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Asset"}}},"required":["data"]},"AssetBatchUploadRequest":{"type":"object","properties":{"files":{"type":"array","items":{"type":"string","format":"binary"},"maxItems":10},"folderId":{"type":"string"}},"required":["files"]},"AssetUpdateRequest":{"type":"object","properties":{"displayName":{"type":"string"},"folderId":{"type":["string","null"]}}},"AssetCropRequest":{"type":"object","properties":{"x":{"type":"number","default":0},"y":{"type":"number","default":0},"width":{"type":"number","default":0},"height":{"type":"number","default":0},"outputFormat":{"type":"string","enum":["jpeg","png","webp"]}}},"AssetResizeRequest":{"type":"object","properties":{"width":{"type":"number","default":0},"height":{"type":"number"},"fit":{"type":"string","enum":["cover","contain","fill"]}}},"AssetFolder":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"orgId":{"$ref":"#/components/schemas/Id"},"parentId":{"type":["string","null"]},"name":{"type":"string"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"childCount":{"type":"integer"},"assetCount":{"type":"integer"}},"required":["id","orgId","parentId","name","createdAt"]},"AssetFolderListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssetFolder"}}},"required":["data"]},"AssetFolderResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssetFolder"}},"required":["data"]},"AssetFolderCreateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1},"parentId":{"type":"string"}},"required":["name"]},"AssetFolderUpdateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1},"parentId":{"type":["string","null"]}}},"SenderIdType":{"type":"string","enum":["TEN_DLC","TOLL_FREE","SHORT_CODE","RCS_AGENT","WA_BUSINESS"]},"SenderIdStatus":{"type":"string","enum":["PENDING","ACTIVE","SUSPENDED","RELEASED"]},"SenderIdProvider":{"type":"string","enum":["INFOBIP","SINCH","SIGNALMASH"]},"JsonObject":{"type":["object","null"],"properties":{},"additionalProperties":{}},"SenderIdRegistrationStatus":{"type":["string","null"],"enum":["SUBMITTED","IN_REVIEW","APPROVED","REJECTED"]},"SenderProtocolType":{"type":"string","enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"SenderIdProtocol":{"type":"object","properties":{"id":{"type":"string"},"type":{"$ref":"#/components/schemas/SenderProtocolType"},"enabled":{"type":"boolean"},"configJson":{"$ref":"#/components/schemas/JsonObject"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","type","enabled","createdAt"]},"SenderId":{"type":"object","properties":{"id":{"type":"string"},"orgId":{"type":"string"},"type":{"$ref":"#/components/schemas/SenderIdType"},"identifier":{"type":"string"},"status":{"$ref":"#/components/schemas/SenderIdStatus"},"provider":{"$ref":"#/components/schemas/SenderIdProvider"},"vendorAccountId":{"type":["string","null"]},"brandAgentName":{"type":["string","null"]},"brandSenderProfile":{"$ref":"#/components/schemas/JsonObject"},"isTestAgent":{"type":"boolean"},"testAgentLabel":{"type":["string","null"]},"channelId":{"type":["string","null"]},"registrationStatus":{"$ref":"#/components/schemas/SenderIdRegistrationStatus"},"registrationData":{"$ref":"#/components/schemas/JsonObject"},"protocols":{"type":"array","items":{"$ref":"#/components/schemas/SenderIdProtocol"}},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","orgId","type","identifier","status","provider","protocols","createdAt","updatedAt"]},"ListSenderIdsResponse":{"type":"object","properties":{"senderIds":{"type":"array","items":{"$ref":"#/components/schemas/SenderId"}}},"required":["senderIds"]},"SenderIdResponse":{"type":"object","properties":{"senderId":{"$ref":"#/components/schemas/SenderId"}},"required":["senderId"]},"CreateSenderIdBody":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/SenderIdType"},"identifier":{"type":"string"},"provider":{"$ref":"#/components/schemas/SenderIdProvider"},"credentials":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]},"vendorAccountId":{"type":"string"},"brandAgentName":{"type":"string"},"brandSenderProfile":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]}},"required":["type","identifier","provider","credentials"]},"UpdateSenderIdBody":{"type":"object","properties":{"identifier":{"type":"string"},"vendorAccountId":{"type":"string"},"credentials":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]},"brandAgentName":{"type":"string"},"brandSenderProfile":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]},"isTestAgent":{"type":"boolean"},"testAgentLabel":{"type":["string","null"]}}},"SenderIdAvailableNumber":{"type":"object","properties":{"number":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"type":{"type":"string","enum":["LOCAL","TOLL_FREE"]},"monthlyRate":{"type":"number"},"setupFee":{"type":"number"},"numberKey":{"type":"string"},"capabilities":{"type":"array","items":{"type":"string"}}},"required":["number","city","state","type","monthlyRate","setupFee"]},"SenderIdNumberSearchResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SenderIdAvailableNumber"}}},"required":["data"]},"SenderIdNumberSearchBody":{"type":"object","properties":{"type":{"type":"string","enum":["LOCAL","TOLL_FREE"]},"channel":{"type":"string","enum":["SMS_10DLC","MMS_10DLC","SMS_TOLL_FREE","MMS_TOLL_FREE"]},"areaCode":{"type":"string","pattern":"^[0-9]{3}$"},"state":{"type":"string","minLength":2,"maxLength":2},"contains":{"type":"string","maxLength":10},"limit":{"type":"integer","minimum":1,"maximum":50}}},"PurchaseSenderIdNumberResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SenderId"}},"required":["data"]},"SenderIdPurchaseNumberBody":{"type":"object","properties":{"number":{"type":"string","pattern":"^\\+[0-9]{10,15}$"},"displayName":{"type":"string","minLength":1,"maxLength":100},"numberKey":{"type":"string"},"channel":{"type":"string","enum":["SMS_10DLC","MMS_10DLC","SMS_TOLL_FREE","MMS_TOLL_FREE"]}},"required":["number","displayName"]},"ImportSenderIdNumberResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SenderId"}},"required":["data"]},"SenderIdImportNumberBody":{"type":"object","properties":{"number":{"type":"string","pattern":"^[+0-9()\\-\\s]{10,24}$"},"numberKey":{"type":"string"},"provider":{"type":"string","enum":["INFOBIP"]},"displayName":{"type":"string","minLength":1,"maxLength":100}},"required":["number"]},"ListSenderIdNumbersResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SenderId"}},"total":{"type":"integer"}},"required":["data","total"]},"SenderProtocol":{"type":"object","properties":{"id":{"type":"string"},"senderIdId":{"type":"string"},"type":{"$ref":"#/components/schemas/SenderProtocolType"},"enabled":{"type":"boolean"},"configJson":{"$ref":"#/components/schemas/JsonObject"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","senderIdId","type","enabled","createdAt"]},"ListSenderProtocolsResponse":{"type":"object","properties":{"protocols":{"type":"array","items":{"$ref":"#/components/schemas/SenderProtocol"}}},"required":["protocols"]},"SenderProtocolResponse":{"type":"object","properties":{"protocol":{"$ref":"#/components/schemas/SenderProtocol"}},"required":["protocol"]},"EnableSenderProtocolBody":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/SenderProtocolType"},"config":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]}},"required":["type"]},"UpdateSenderProtocolBody":{"type":"object","properties":{"config":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]}},"required":["config"]},"Channel":{"type":"object","properties":{"id":{"type":"string"},"orgId":{"type":"string"},"type":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"provider":{"type":"string","enum":["INFOBIP","SINCH","SIGNALMASH","SYNIVERSE"]},"status":{"type":"string","enum":["PENDING","ACTIVE","ERROR","DISABLED"]},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","orgId","type","provider","status","createdAt"]},"ListChannelsResponse":{"type":"object","properties":{"channels":{"type":"array","items":{"$ref":"#/components/schemas/Channel"}}},"required":["channels"]},"ChannelHealth":{"type":"object","properties":{"status":{"type":"string","enum":["PENDING","ACTIVE","ERROR","DISABLED"]},"message":{"type":"string"},"testedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"responseTime":{"type":"number"}},"required":["status","message","testedAt","responseTime"]},"ChannelWithHealthResponse":{"type":"object","properties":{"channel":{"$ref":"#/components/schemas/Channel"},"health":{"$ref":"#/components/schemas/ChannelHealth"}},"required":["channel","health"]},"CreateChannelBody":{"type":"object","properties":{"type":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"provider":{"type":"string","enum":["INFOBIP","SINCH","SIGNALMASH","SYNIVERSE"]},"apiKey":{"type":"string"},"baseUrl":{"type":"string","format":"uri"},"rcsAgent":{"type":"string"},"projectId":{"type":"string"},"phoneNumberId":{"type":"string"},"shortCode":{"type":"string"}},"required":["type","provider","apiKey","baseUrl"]},"ChannelResponse":{"type":"object","properties":{"channel":{"$ref":"#/components/schemas/Channel"}},"required":["channel"]},"UpdateChannelBody":{"type":"object","properties":{"type":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"provider":{"type":"string","enum":["INFOBIP","SINCH","SIGNALMASH","SYNIVERSE"]},"apiKey":{"type":"string"},"baseUrl":{"type":"string","format":"uri"},"rcsAgent":{"type":"string"},"projectId":{"type":"string"},"phoneNumberId":{"type":"string"},"shortCode":{"type":"string"}}},"DeleteChannelResponse":{"type":"object","properties":{"success":{"type":"boolean"},"deletedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"channel":{"$ref":"#/components/schemas/Channel"}},"required":["success","deletedAt","channel"]},"RcsSenderStatus":{"type":"string","enum":["READY_FOR_TESTING","IN_TESTING","PENDING_LAUNCH","LIVE","SUSPENDED","UNKNOWN"]},"RcsSender":{"type":"object","properties":{"senderName":{"type":"string"},"status":{"$ref":"#/components/schemas/RcsSenderStatus"},"senderStatus":{"$ref":"#/components/schemas/RcsSenderStatus"},"brand":{"anyOf":[{"type":"string"},{"type":"object","properties":{"brandName":{"type":"string"}}}]},"displayName":{"type":"string"},"description":{"type":"string"},"logoUrl":{"type":"string"},"bannerUrl":{"type":"string"},"color":{"type":"string"},"billingCategory":{"type":"string","enum":["NON_CONVERSATIONAL","CONVERSATIONAL"]},"useCase":{"type":"string","enum":["OTP","TRANSACTIONAL","PROMOTIONAL","MULTI_USE"]},"phone":{"type":"string"},"email":{"type":"string"},"website":{"type":"string"},"phones":{"type":"array","items":{"type":"object","properties":{"phoneNumber":{"type":"string"},"label":{"type":"string"}}}},"emails":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string"},"label":{"type":"string"}}}},"websites":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"}}}},"privacyUrl":{"type":"string"},"termsOfServiceUrl":{"type":"string"},"privacy":{"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"}}},"termsOfService":{"type":"object","properties":{"url":{"type":"string"},"label":{"type":"string"}}}},"required":["senderName"]},"ListRcsSendersResponse":{"type":"object","properties":{"senders":{"type":"array","items":{"$ref":"#/components/schemas/RcsSender"}}},"required":["senders"]},"RcsSenderResponse":{"type":"object","properties":{"sender":{"$ref":"#/components/schemas/RcsSender"}},"required":["sender"]},"CreateRcsSenderBody":{"type":"object","properties":{"senderName":{"type":"string"},"brand":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"logoUrl":{"type":"string"},"bannerUrl":{"type":"string"},"color":{"type":"string"},"billingCategory":{"type":"string","enum":["NON_CONVERSATIONAL","CONVERSATIONAL"]},"useCase":{"type":"string","enum":["OTP","TRANSACTIONAL","PROMOTIONAL","MULTI_USE"]},"hostingRegion":{"type":"string"},"phone":{"type":"string"},"phoneLabel":{"type":"string"},"email":{"type":"string"},"emailLabel":{"type":"string"},"website":{"type":"string"},"websiteLabel":{"type":"string"},"privacyUrl":{"type":"string"},"privacyLabel":{"type":"string"},"termsOfServiceUrl":{"type":"string"},"termsOfServiceLabel":{"type":"string"}},"required":["senderName","brand","displayName","description","logoUrl","bannerUrl","color","billingCategory","useCase"]},"RcsSenderTestDevice":{"type":"object","properties":{"phoneNumber":{"type":"string"},"status":{"type":"string","enum":["PENDING","WAITING_FOR_TESTER_ACCEPTANCE","APPROVED","ACCEPTED","DECLINED","EXPIRED","UNSUPPORTED","REJECTED","COMPLETED","UNKNOWN"]},"requestStatus":{"type":"string"},"updatedAt":{"type":"string"}},"required":["phoneNumber","status"]},"RcsTestDeviceResponse":{"type":"object","properties":{"device":{"$ref":"#/components/schemas/RcsSenderTestDevice"}},"required":["device"]},"AddRcsTestDeviceBody":{"type":"object","properties":{"phoneNumber":{"type":"string","pattern":"^\\+\\d{7,15}$"}},"required":["phoneNumber"]},"ListRcsTestDevicesResponse":{"type":"object","properties":{"devices":{"type":"array","items":{"$ref":"#/components/schemas/RcsSenderTestDevice"}}},"required":["devices"]},"LaunchSenderIdResponse":{"type":"object","properties":{"senderId":{"$ref":"#/components/schemas/SenderId"},"launch":{"type":"object","properties":{"status":{"type":"string","enum":["launch_pending"]}},"required":["status"]}},"required":["senderId","launch"]},"SubmitSenderIdResponse":{"type":"object","properties":{"senderId":{"$ref":"#/components/schemas/SenderId"},"submission":{"type":"object","properties":{"status":{"type":"string","enum":["submitted"]}},"required":["status"]}},"required":["senderId","submission"]},"SubmitSenderIdBody":{"type":"object","properties":{"resubmit":{"type":"boolean","description":"Explicit re-push of an already-submitted toll-free campaign that is still in carrier review. Ignored for first-time submits."}}},"RefreshSenderIdStatusResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"changed":{"type":"boolean"},"senderId":{"$ref":"#/components/schemas/SenderId"}},"required":["changed","senderId"]}},"required":["data"]},"RegisterSenderBrandResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SenderId"}},"required":["data"]},"RegisterSenderBrandBody":{"type":"object","properties":{"companyName":{"type":"string","minLength":1},"ein":{"type":"string","minLength":1},"einCountry":{"type":"string","minLength":2,"maxLength":2},"companyType":{"type":"string","minLength":1},"vertical":{"type":"string","minLength":1},"website":{"type":"string"},"address":{"type":"object","properties":{"street":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"state":{"type":"string","minLength":1},"postalCode":{"type":"string","minLength":1},"country":{"type":"string","minLength":2}},"required":["street","city","state","postalCode","country"]},"contactEmail":{"type":"string","format":"email"},"contactPhone":{"type":"string","minLength":1}},"required":["companyName","ein","einCountry","companyType","vertical","address","contactEmail","contactPhone"]},"SenderBrandStatusResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"allOf":[{"$ref":"#/components/schemas/SenderIdRegistrationStatus"},{"type":"string"}]},"brand":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]}},"required":["status","brand"]}},"required":["data"]},"RegisterSenderCampaignResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SenderId"}},"required":["data"]},"RegisterSenderCampaignBody":{"type":"object","properties":{"useCase":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"sampleMessages":{"type":"array","items":{"type":"string"},"minItems":1},"messageFlow":{"type":"string","minLength":1},"optInKeywords":{"type":"array","items":{"type":"string"},"minItems":1},"optOutKeywords":{"type":"array","items":{"type":"string"},"minItems":1},"helpKeywords":{"type":"array","items":{"type":"string"},"minItems":1},"billingPackageCode":{"type":["string","null"],"minLength":1,"description":"Optional 10DLC billing-package mapping by per-org billing package code. null clears the mapping; a non-empty string sets it."}},"required":["useCase","description","sampleMessages","messageFlow","optInKeywords","optOutKeywords","helpKeywords"]},"SenderCampaignStatusResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"allOf":[{"$ref":"#/components/schemas/SenderIdRegistrationStatus"},{"type":"string"}]},"campaign":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]}},"required":["status","campaign"]}},"required":["data"]},"ProgramBrand":{"type":"object","properties":{"id":{"type":"string"},"number":{"type":["string","null"]},"label":{"type":["string","null"]},"status":{"type":"string"},"currentSubmission":{"type":["object","null"],"properties":{"id":{"type":"string"},"number":{"type":["string","null"]},"kind":{"type":"string"},"status":{"type":"string"},"displayName":{"type":["string","null"]},"companyName":{"type":["string","null"]},"vertical":{"type":["string","null"]},"rejectionReason":{"type":["string","null"]},"rejectionCode":{"type":["string","null"]},"submittedAt":{"$ref":"#/components/schemas/DateTime"},"approvedAt":{"$ref":"#/components/schemas/DateTime"},"rejectedAt":{"$ref":"#/components/schemas/DateTime"},"updatedAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","number","kind","status","displayName","companyName","vertical","rejectionReason","rejectionCode","submittedAt","approvedAt","rejectedAt","updatedAt"]}},"required":["id","number","label","status","currentSubmission"]},"ProgramCampaign":{"type":"object","properties":{"id":{"type":"string"},"number":{"type":["string","null"]},"label":{"type":["string","null"]},"status":{"type":"string"},"currentSubmission":{"type":["object","null"],"properties":{"id":{"type":"string"},"number":{"type":["string","null"]},"kind":{"type":"string"},"status":{"type":"string"},"usecase":{"type":["string","null"]},"description":{"type":["string","null"]},"messageFlow":{"type":["string","null"]},"sampleMessages":{"type":"array","items":{"type":"string"}},"helpKeyword":{"type":["string","null"]},"optOutKeyword":{"type":["string","null"]},"rejectionReason":{"type":["string","null"]},"rejectionCode":{"type":["string","null"]},"submittedAt":{"$ref":"#/components/schemas/DateTime"},"approvedAt":{"$ref":"#/components/schemas/DateTime"},"rejectedAt":{"$ref":"#/components/schemas/DateTime"},"updatedAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","number","kind","status","usecase","description","messageFlow","sampleMessages","helpKeyword","optOutKeyword","rejectionReason","rejectionCode","submittedAt","approvedAt","rejectedAt","updatedAt"]}},"required":["id","number","label","status","currentSubmission"]},"ProgramSender":{"type":"object","properties":{"id":{"type":"string"},"senderId":{"type":"string"},"identifier":{"type":"string"},"senderType":{"type":"string"},"senderStatus":{"type":"string"},"displayName":{"type":["string","null"]},"registrationStatus":{"type":["string","null"]},"role":{"type":"string","enum":["PRIMARY","FALLBACK","TEST","LEGACY"]},"channelType":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"protocolType":{"type":["string","null"],"enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"attachmentStatus":{"type":"string","enum":["PENDING","ACTIVE","DETACHED"]},"protocols":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"enabled":{"type":"boolean"}},"required":["type","enabled"]}},"attachedAt":{"$ref":"#/components/schemas/DateTime"},"detachedAt":{"$ref":"#/components/schemas/DateTime"},"updatedAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","senderId","identifier","senderType","senderStatus","displayName","registrationStatus","role","channelType","protocolType","attachmentStatus","protocols","attachedAt","detachedAt","updatedAt"]},"MessagingProgram":{"type":"object","properties":{"id":{"type":"string"},"number":{"type":["string","null"]},"label":{"type":["string","null"]},"status":{"type":"string","enum":["DRAFT","ACTIVE","ARCHIVED"]},"readiness":{"type":"string","enum":["READY","ACTION_REQUIRED"]},"brand":{"$ref":"#/components/schemas/ProgramBrand"},"campaign":{"$ref":"#/components/schemas/ProgramCampaign"},"senders":{"type":"array","items":{"$ref":"#/components/schemas/ProgramSender"}},"senderSummary":{"type":"object","properties":{"total":{"type":"integer","minimum":0},"active":{"type":"integer","minimum":0},"pending":{"type":"integer","minimum":0}},"required":["total","active","pending"]},"requiredActions":{"type":"array","items":{"type":"string"}},"nextAction":{"type":["string","null"]},"createdAt":{"$ref":"#/components/schemas/DateTime"},"updatedAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","number","label","status","readiness","brand","campaign","senders","senderSummary","requiredActions","nextAction","createdAt","updatedAt"]},"Pagination":{"type":"object","properties":{"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1,"maximum":100},"total":{"type":"integer","minimum":0}},"required":["page","limit","total"]},"ProgramListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MessagingProgram"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"]},"ProgramResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MessagingProgram"}},"required":["data"]},"MessagingProgramStatus":{"type":"object","properties":{"id":{"type":"string"},"number":{"type":["string","null"]},"status":{"type":"string","enum":["DRAFT","ACTIVE","ARCHIVED"]},"readiness":{"type":"string","enum":["READY","ACTION_REQUIRED"]},"brandStatus":{"type":"string"},"brandSubmissionStatus":{"type":["string","null"]},"campaignSubmissionStatus":{"type":["string","null"]},"senderSummary":{"type":"object","properties":{"total":{"type":"integer","minimum":0},"active":{"type":"integer","minimum":0},"pending":{"type":"integer","minimum":0}},"required":["total","active","pending"]},"requiredActions":{"type":"array","items":{"type":"string"}},"nextAction":{"type":["string","null"]},"updatedAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","number","status","readiness","brandStatus","brandSubmissionStatus","campaignSubmissionStatus","senderSummary","requiredActions","nextAction","updatedAt"]},"ProgramStatusResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MessagingProgramStatus"}},"required":["data"]},"AttachProgramSenderResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProgramSender"}},"required":["data"]},"AttachProgramSenderBody":{"type":"object","properties":{"senderId":{"type":"string","minLength":1},"role":{"type":"string","enum":["PRIMARY","FALLBACK","TEST"],"default":"PRIMARY"},"channelType":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"protocolType":{"type":"string","enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"metadata":{"allOf":[{"$ref":"#/components/schemas/JsonObject"},{"type":"object"}]}},"required":["senderId"]},"DetachProgramSenderResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"]},"BlastListItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["DRAFT","SCHEDULED","SENDING","DISPATCHED","SENT","FAILED","CANCELED"]},"channelId":{"type":"string"},"segmentId":{"type":["string","null"]},"scheduledAt":{"$ref":"#/components/schemas/DateTime"},"sentAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","name","status","channelId","segmentId","scheduledAt","sentAt"]},"BlastListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BlastListItem"}},"total":{"type":"integer"},"page":{"type":"integer"},"limit":{"type":"integer"}},"required":["items","total","page","limit"]},"BlastFallbackStep":{"type":"object","properties":{"senderIdId":{"type":"string"},"protocolType":{"type":"string","enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"condition":{"type":"string","enum":["DELIVERY_FAILED","NOT_DELIVERED","NOT_READ"]},"waitMinutes":{"type":"number","minimum":0,"maximum":1440}},"required":["senderIdId","protocolType","condition","waitMinutes"]},"BlastTextContent":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"text":{"type":"string"}},"required":["type","text"]},"BlastMediaAsset":{"type":"object","properties":{"url":{"type":"string"},"type":{"type":"string","enum":["image","video","audio","file"]},"mimeType":{"type":"string"},"thumbnail":{"type":"string"}},"required":["url","type"]},"BlastMediaContent":{"type":"object","properties":{"type":{"type":"string","enum":["media"]},"media":{"$ref":"#/components/schemas/BlastMediaAsset"},"text":{"type":"string"}},"required":["type","media"]},"BlastContent":{"anyOf":[{"$ref":"#/components/schemas/BlastTextContent"},{"$ref":"#/components/schemas/BlastMediaContent"},{"type":"null"}]},"Blast":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["DRAFT","SCHEDULED","SENDING","DISPATCHED","SENT","FAILED","CANCELED"]},"channelId":{"type":"string"},"senderIdId":{"type":["string","null"]},"protocolType":{"type":["string","null"],"enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"audienceType":{"type":["string","null"],"enum":["list","segment","manual"]},"segmentId":{"type":["string","null"]},"listId":{"type":["string","null"]},"contactIds":{"type":"array","items":{"type":"string"}},"botId":{"type":["string","null"]},"fallbackChannelIds":{"type":"array","items":{"type":"string"}},"fallbackConfig":{"type":"array","items":{"$ref":"#/components/schemas/BlastFallbackStep"}},"contentJson":{"$ref":"#/components/schemas/BlastContent"},"totalRecipients":{"type":"integer"},"scheduledAt":{"$ref":"#/components/schemas/DateTime"},"sentAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","name","status","channelId","senderIdId","protocolType","audienceType","segmentId","listId","contactIds","botId","fallbackChannelIds","fallbackConfig","contentJson","totalRecipients","scheduledAt","sentAt"]},"BlastVariant":{"type":"object","properties":{"key":{"type":"string","minLength":1,"description":"Unique arm identifier within the blast."},"contentJson":{"allOf":[{"$ref":"#/components/schemas/BlastContent"},{"anyOf":[{"$ref":"#/components/schemas/BlastTextContent"},{"$ref":"#/components/schemas/BlastMediaContent"}]}]},"weightPct":{"type":"number","exclusiveMinimum":0,"description":"Relative share of the audience; weights need not sum to 100."}},"required":["key","contentJson","weightPct"]},"BlastRecurringConfig":{"type":["object","null"],"properties":{"frequency":{"type":"string","enum":["daily","weekly","monthly"]},"interval":{"type":"integer","minimum":1,"description":"Number of frequency units between occurrences."},"endAfterCount":{"type":"integer","minimum":1,"description":"Stop the series after this many occurrences."},"endAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"description":"Stop the series once the next occurrence would fall after this timestamp."}]}},"required":["frequency","interval"],"description":"When set, the blast recurs; the scheduler clones the next occurrence each time it fires."},"BlastCreateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"channelId":{"type":"string","minLength":1},"senderIdId":{"type":["string","null"]},"protocolType":{"type":["string","null"],"enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"],"description":"Requires senderIdId when set."},"segmentId":{"type":"string","minLength":1},"contactIds":{"type":"array","items":{"type":"string","minLength":1}},"botId":{"type":["string","null"],"description":"Exactly one content source: botId, contentJson, or variants."},"fallbackChannelIds":{"type":"array","items":{"type":"string","minLength":1}},"contentJson":{"allOf":[{"$ref":"#/components/schemas/BlastContent"},{"description":"Exactly one content source: botId, contentJson, or variants."}]},"variants":{"type":["array","null"],"items":{"$ref":"#/components/schemas/BlastVariant"},"minItems":2,"description":"A/B test arms (≥2). Recipients are split across arms and each sends its arm's content instead of contentJson."},"recurringConfig":{"$ref":"#/components/schemas/BlastRecurringConfig"}},"required":["name","channelId"]},"BlastStats":{"type":"object","properties":{"blastId":{"type":"string"},"total":{"type":"integer"},"queued":{"type":"integer"},"sent":{"type":"integer"},"delivered":{"type":"integer"},"failed":{"type":"integer"},"seen":{"type":"integer"}},"required":["blastId","total","queued","sent","delivered","failed","seen"]},"BlastDetail":{"allOf":[{"$ref":"#/components/schemas/Blast"},{"type":"object","properties":{"stats":{"$ref":"#/components/schemas/BlastStats"}},"required":["stats"]}]},"BlastUpdateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"channelId":{"type":"string","minLength":1},"senderIdId":{"type":["string","null"]},"protocolType":{"type":["string","null"],"enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"segmentId":{"type":["string","null"],"minLength":1},"contactIds":{"type":"array","items":{"type":"string","minLength":1}},"botId":{"type":["string","null"]},"fallbackChannelIds":{"type":"array","items":{"type":"string","minLength":1}},"fallbackConfig":{"type":["array","null"],"items":{"$ref":"#/components/schemas/BlastFallbackStep"},"maxItems":3,"description":"Up to 3 fallback steps in strictly descending richness (RCS → MMS → SMS)."},"contentJson":{"$ref":"#/components/schemas/BlastContent"}}},"BlastContentRequest":{"type":"object","properties":{"type":{"type":"string","enum":["bot","custom"]},"botId":{"type":["string","null"],"description":"Required when type is \"bot\"."},"content":{"allOf":[{"$ref":"#/components/schemas/BlastContent"},{"description":"Required when type is \"custom\"."}]}},"required":["type"]},"BlastAudienceRequest":{"type":"object","properties":{"type":{"type":"string","enum":["list","segment","manual"]},"listId":{"type":["string","null"],"minLength":1,"description":"Required when type is \"list\"."},"segmentId":{"type":["string","null"],"minLength":1,"description":"Required when type is \"segment\"."},"contactIds":{"type":"array","items":{"type":"string","minLength":1},"description":"Required when type is \"manual\"."}},"required":["type"]},"BlastEstimate":{"type":"object","properties":{"recipientCount":{"type":"integer"},"estimatedMessages":{"type":"integer"},"costPerMessageCents":{"type":"number"},"costPerMessageMicros":{"type":"number"},"totalCostCents":{"type":"number"},"smsSegmentEstimate":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string","enum":["primary","fallback"]},"protocolType":{"type":"string","enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"label":{"type":"string"},"characters":{"type":"integer"},"segmentsPerRecipient":{"type":"integer"},"estimatedRecipients":{"type":"integer"},"estimatedSegments":{"type":"integer"},"unitPriceCents":{"type":"number"},"totalCostCents":{"type":"number"}},"required":["source","protocolType","label","characters","segmentsPerRecipient","estimatedRecipients","estimatedSegments","unitPriceCents","totalCostCents"]}},"fallbackEstimate":{"type":"array","items":{"type":"object","properties":{"protocolType":{"type":"string","enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"estimatedMessages":{"type":"integer"},"costPerMessageCents":{"type":"number"},"totalCostCents":{"type":"number"}},"required":["protocolType","estimatedMessages","costPerMessageCents","totalCostCents"]}},"breakdown":{"type":"array","items":{"type":"object","properties":{"billingType":{"type":"string"},"label":{"type":"string"},"quantity":{"type":"integer"},"unitPriceCents":{"type":"number"},"unitPriceMicros":{"type":"number"},"totalCents":{"type":"number"},"unpriced":{"type":"boolean","description":"The SKU has no rate on the org's plan (rates in negotiation). Render \"Contact us\", never a firm $0 (#1783 G3)."}},"required":["billingType","label","quantity","unitPriceCents","unitPriceMicros","totalCents"]}},"conversationalNote":{"type":"string","description":"Present when the blast rides a CONVERSATIONAL RCS agent (#1783 G3): billing is per-conversation and provider-confirmed sessions supersede the per-message charges. The total is an upper bound."}},"required":["recipientCount","estimatedMessages","costPerMessageCents","costPerMessageMicros","totalCostCents","breakdown"]},"BlastTestResponse":{"type":"object","properties":{"messageId":{"type":"string"},"status":{"type":"string"}},"required":["messageId","status"]},"BlastTestRequest":{"type":"object","properties":{"phoneNumber":{"type":"string","description":"E.164 phone number to send the test message to. Max 5 test sends per blast."}},"required":["phoneNumber"]},"BlastLaunchResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["DRAFT","SCHEDULED","SENDING","DISPATCHED","SENT","FAILED","CANCELED"]},"scheduledAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","status","scheduledAt"]},"BlastProgress":{"type":"object","properties":{"status":{"type":"string","enum":["DRAFT","SCHEDULED","SENDING","DISPATCHED","SENT","FAILED","CANCELED"]},"total":{"type":"integer"},"sent":{"type":"integer"},"delivered":{"type":"integer"},"read":{"type":"integer"},"failed":{"type":"integer"},"fallbackTriggered":{"type":"integer"},"percentComplete":{"type":"number"},"estimatedCompletionAt":{"$ref":"#/components/schemas/DateTime"},"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string"},"count":{"type":"integer"}},"required":["message","count"]}},"failedRecipients":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"phone":{"type":"string"},"reason":{"type":["string","null"]},"failedAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","phone","reason","failedAt"]},"description":"Most-recent failed recipients with why they failed (capped at 50)."},"variantStats":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"total":{"type":"integer"},"sent":{"type":"integer"},"delivered":{"type":"integer"},"read":{"type":"integer"},"failed":{"type":"integer"},"clicks":{"type":"integer","description":"Tracked link/button clicks attributed to this arm (#1337 per-recipient attribution)."}},"required":["key","total","sent","delivered","read","failed","clicks"]},"description":"Per-arm delivery breakdown for A/B blasts; present only when the blast has variants (#1341)."}},"required":["status","total","sent","delivered","read","failed","fallbackTriggered","percentComplete","estimatedCompletionAt","errors","failedRecipients"]},"BlastTransitionResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["DRAFT","SCHEDULED","SENDING","DISPATCHED","SENT","FAILED","CANCELED"]}},"required":["id","status"]},"BlastScheduleResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["DRAFT","SCHEDULED","SENDING","DISPATCHED","SENT","FAILED","CANCELED"]},"scheduledAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","status","scheduledAt"]},"BlastScheduleRequest":{"type":"object","properties":{"scheduledAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string","description":"Future ISO timestamp to dispatch the blast at."}]}},"required":["scheduledAt"]},"BotListItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"channelId":{"type":["string","null"]},"publishedAt":{"$ref":"#/components/schemas/DateTime"},"status":{"type":"string","enum":["DRAFT","PUBLISHED","MODIFIED"]},"version":{"type":"integer"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","name","channelId","publishedAt","status","version","createdAt","updatedAt"]},"BotListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/BotListItem"}},"total":{"type":"integer"},"page":{"type":"integer"},"limit":{"type":"integer"}},"required":["items","total","page","limit"]},"BotFlow":{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"object","additionalProperties":{}}},"edges":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"additionalProperties":{}},"Bot":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"channelId":{"type":["string","null"]},"flowJson":{"$ref":"#/components/schemas/BotFlow"},"publishedFlowJson":{"allOf":[{"$ref":"#/components/schemas/BotFlow"},{"type":["object","null"]}]},"publishedAt":{"$ref":"#/components/schemas/DateTime"},"status":{"type":"string","enum":["DRAFT","PUBLISHED","MODIFIED"]},"version":{"type":"integer"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","name","channelId","flowJson","publishedFlowJson","publishedAt","status","version","createdAt","updatedAt"]},"BotCreateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"channelId":{"type":["string","null"]},"flowJson":{"$ref":"#/components/schemas/BotFlow"}},"required":["name"]},"BotUpdateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"channelId":{"type":["string","null"]},"flowJson":{"$ref":"#/components/schemas/BotFlow"}}},"BotValidationResponse":{"type":"object","properties":{"valid":{"type":"boolean"},"errors":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string"},"label":{"type":"string"},"field":{"type":["string","null"]},"message":{"type":"string"}},"required":["nodeId","label","field","message"]}}},"required":["valid","errors"]},"BotRevisionListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"integer"},"flowJson":{"$ref":"#/components/schemas/BotFlow"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","version","flowJson","createdAt"]}}},"required":["items"]},"BotRcsSender":{"type":["object","null"],"properties":{"id":{"type":"string"},"provider":{"type":"string"},"identifier":{"type":"string"},"brandAgentName":{"type":["string","null"]},"canInviteTestDevices":{"type":"boolean"}},"required":["id","provider","identifier","brandAgentName","canInviteTestDevices"]},"BotTester":{"type":"object","properties":{"id":{"type":"string"},"contactId":{"type":"string"},"contact":{"type":"object","properties":{"id":{"type":"string"},"phone":{"type":"string"},"name":{"type":["string","null"]},"attributesJson":{"type":["object","null"],"additionalProperties":{}}},"required":["id","phone","name","attributesJson"]},"addedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"addedById":{"type":["string","null"]},"note":{"type":["string","null"]},"rcsTestDevice":{"type":["object","null"],"additionalProperties":{}}},"required":["id","contactId","contact","addedAt","addedById","note","rcsTestDevice"]},"BotTesterListResponse":{"type":"object","properties":{"lifecycleStage":{"type":"string"},"rcsSender":{"$ref":"#/components/schemas/BotRcsSender"},"testers":{"type":"array","items":{"$ref":"#/components/schemas/BotTester"}}},"required":["lifecycleStage","rcsSender","testers"]},"BotTesterAddResponse":{"type":"object","properties":{"rcsSender":{"$ref":"#/components/schemas/BotRcsSender"},"invite":{"type":"object","properties":{"attempted":{"type":"boolean"},"status":{"type":"string","enum":["sent","not_sent","failed"]},"warning":{"type":["string","null"]}},"required":["attempted","status","warning"]},"rcsInviteWarning":{"type":["string","null"]},"tester":{"$ref":"#/components/schemas/BotTester"}},"required":["rcsSender","invite","rcsInviteWarning","tester"]},"BotTesterAddRequest":{"type":"object","properties":{"contactId":{"type":"string"},"phone":{"type":"string","description":"E.164 format, for example +15551234567."},"name":{"type":"string"},"note":{"type":["string","null"]},"sendRcsInvite":{"type":"boolean","description":"Defaults to true."}}},"Intent":{"type":"object","properties":{"id":{"type":"string"},"value":{"type":"string","description":"Normalized postback value (trimmed, lowercased). Immutable after creation."},"label":{"type":["string","null"]},"description":{"type":["string","null"]},"categoryId":{"type":["string","null"]},"category":{"type":["string","null"],"description":"Resolved managed-folder name, falling back to the deprecated free-text category."},"isActive":{"type":"boolean"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","value","label","description","categoryId","category","isActive","createdAt","updatedAt"]},"IntentListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Intent"}},"total":{"type":"integer"}},"required":["data","total"]},"IntentResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Intent"}},"required":["data"]},"IntentCreateRequest":{"type":"object","properties":{"value":{"type":"string","minLength":1,"maxLength":100,"description":"Postback value. Normalized to trimmed, single-spaced lowercase."},"label":{"type":["string","null"],"maxLength":120},"description":{"type":["string","null"],"maxLength":500},"category":{"type":["string","null"],"maxLength":60,"description":"Deprecated free-text category; prefer categoryId."},"categoryId":{"type":["string","null"],"description":"Managed dictionary-folder id (must belong to your org). Null or empty string clears it."},"isActive":{"type":"boolean","description":"Defaults to true."}},"required":["value"]},"IntentUpdateRequest":{"type":"object","properties":{"label":{"type":["string","null"],"maxLength":120},"description":{"type":["string","null"],"maxLength":500},"category":{"type":["string","null"],"maxLength":60},"categoryId":{"type":["string","null"]},"isActive":{"type":"boolean"}}},"DictionaryUsageBot":{"type":"object","properties":{"botId":{"type":"string"},"name":{"type":"string"},"nodes":{"type":"integer","description":"Distinct nodes referencing the entry across draft and published flows."}},"required":["botId","name","nodes"]},"IntentUsageResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"value":{"type":"string"},"bots":{"type":"array","items":{"$ref":"#/components/schemas/DictionaryUsageBot"}},"totalBots":{"type":"integer"},"totalNodes":{"type":"integer"}},"required":["value","bots","totalBots","totalNodes"]}},"required":["data"]},"DictionaryRewriteResult":{"type":"object","properties":{"data":{"type":"object","properties":{"botsUpdated":{"type":"integer"},"nodesUpdated":{"type":"integer"}},"required":["botsUpdated","nodesUpdated"]}},"required":["data"]},"IntentRewriteRequest":{"type":"object","properties":{"newValue":{"type":"string","minLength":1}},"required":["newValue"]},"VariableDefinition":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","description":"Snake_cased capture token (lowercased). Immutable after creation."},"label":{"type":["string","null"]},"type":{"type":"string","enum":["text","number","date","boolean","list"]},"description":{"type":["string","null"]},"validationType":{"type":["string","null"],"enum":["email","phone","number","text","regex"]},"validationPattern":{"type":["string","null"]},"items":{"type":["array","null"],"items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"description":{"type":["string","null"]}},"required":["id","label","description"]},"description":"Option set for list variables; null for scalar types."},"categoryId":{"type":["string","null"]},"category":{"type":["string","null"],"description":"Resolved managed-folder name, falling back to the deprecated free-text category."},"isActive":{"type":"boolean"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","name","label","type","description","validationType","validationPattern","items","categoryId","category","isActive","createdAt","updatedAt"]},"VariableDefinitionListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/VariableDefinition"}},"total":{"type":"integer"}},"required":["data","total"]},"VariableDefinitionResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/VariableDefinition"}},"required":["data"]},"VariableListItem":{"type":"object","properties":{"id":{"type":"string","maxLength":120,"description":"Value the selection resolves to; defaults to the label. Must be unique within the list."},"label":{"type":"string","minLength":1,"maxLength":120},"description":{"type":["string","null"],"maxLength":240}},"required":["label"]},"VariableDefinitionCreateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Capture token. Normalized to snake_case lowercase."},"label":{"type":["string","null"],"maxLength":120},"type":{"type":"string","enum":["text","number","date","boolean","list"],"description":"Defaults to text."},"description":{"type":["string","null"],"maxLength":500},"validationType":{"type":["string","null"],"enum":["email","phone","number","text","regex"]},"validationPattern":{"type":["string","null"],"maxLength":500},"items":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VariableListItem"},"maxItems":100,"description":"Option set; only allowed when type is 'list'."},"category":{"type":["string","null"],"maxLength":60,"description":"Deprecated free-text category; prefer categoryId."},"categoryId":{"type":["string","null"],"description":"Managed dictionary-folder id (must belong to your org)."},"isActive":{"type":"boolean","description":"Defaults to true."}},"required":["name"]},"VariableDefinitionUpdateRequest":{"type":"object","properties":{"label":{"type":["string","null"],"maxLength":120},"type":{"type":"string","enum":["text","number","date","boolean","list"]},"description":{"type":["string","null"],"maxLength":500},"validationType":{"type":["string","null"],"enum":["email","phone","number","text","regex"]},"validationPattern":{"type":["string","null"],"maxLength":500},"items":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VariableListItem"},"maxItems":100},"category":{"type":["string","null"],"maxLength":60},"categoryId":{"type":["string","null"]},"isActive":{"type":"boolean"}}},"VariableUsageResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string"},"bots":{"type":"array","items":{"$ref":"#/components/schemas/DictionaryUsageBot"}},"totalBots":{"type":"integer"},"totalNodes":{"type":"integer"}},"required":["name","bots","totalBots","totalNodes"]}},"required":["data"]},"VariableRewriteRequest":{"type":"object","properties":{"newName":{"type":"string","minLength":1}},"required":["newName"]},"DictionaryCategory":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"sortOrder":{"type":"integer"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","name","sortOrder","createdAt","updatedAt"]},"DictionaryCategoryListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DictionaryCategory"}},"total":{"type":"integer"}},"required":["data","total"]},"DictionaryCategoryResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DictionaryCategory"}},"required":["data"]},"DictionaryCategoryCreateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60},"sortOrder":{"type":"integer","minimum":0}},"required":["name"]},"DictionaryCategoryUpdateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60},"sortOrder":{"type":"integer","minimum":0}}},"DictionaryCategoryReorderRequest":{"type":"object","properties":{"ids":{"type":"array","items":{"type":"string"}}},"required":["ids"]},"VoiceForwardingConfig":{"type":["object","null"],"properties":{"id":{"type":"string"},"senderIdId":{"type":"string"},"enabled":{"type":"boolean"},"forwardToNumber":{"type":["string","null"]},"syncStatus":{"type":"string","enum":["PENDING","SYNCED","FAILED"]},"lastSyncError":{"type":["string","null"]},"lastSyncedAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","senderIdId","enabled","forwardToNumber","syncStatus","lastSyncError","lastSyncedAt"]},"VoiceForwardingResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/VoiceForwardingConfig"}},"required":["data"]},"VoiceForwardingSetRequest":{"type":"object","properties":{"forwardToNumber":{"type":"string","minLength":1,"maxLength":20}},"required":["forwardToNumber"]},"McpConfig":{"type":["object","null"],"properties":{"id":{"type":"string"},"label":{"type":["string","null"]},"baseUrl":{"type":"string"},"apiKeyConfigured":{"type":"boolean","description":"True when an API key is stored. The key itself is never returned."},"isDefault":{"type":"boolean"},"healthStatus":{"type":["string","null"]},"lastHealthCheck":{"$ref":"#/components/schemas/DateTime"}},"required":["id","label","baseUrl","apiKeyConfigured","isDefault","healthStatus","lastHealthCheck"]},"McpConfigStatusResponse":{"type":"object","properties":{"configured":{"type":"boolean"},"data":{"$ref":"#/components/schemas/McpConfig"}},"required":["configured","data"]},"McpConfigResponse":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/McpConfig"},{"type":"object"}]}},"required":["data"]},"McpConfigSaveRequest":{"type":"object","properties":{"baseUrl":{"type":"string","format":"uri","description":"https base URL of the MCP server."},"apiKey":{"type":"string","minLength":1}},"required":["baseUrl","apiKey"]},"McpTestResponse":{"type":"object","properties":{"data":{"type":"object","additionalProperties":{"type":"object","properties":{"ok":{"type":"boolean"},"latencyMs":{"type":"integer"},"error":{"type":"string"}},"required":["ok","latencyMs"]},"description":"Keyed by channel type (RCS, WHATSAPP, SMS)."}},"required":["data"]},"McpTestRequest":{"type":"object","properties":{"channelType":{"type":"string","enum":["RCS","WHATSAPP","SMS","WA"]}}},"ContactTagSummary":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contactCount":{"type":"integer"}},"required":["id","name","contactCount"]},"ContactSubscription":{"type":"object","properties":{"id":{"type":"string"},"listId":{"type":"string"},"listName":{"type":"string"},"listType":{"type":"string","enum":["MARKETING","TRANSACTIONAL","SERVICE"]},"status":{"type":"string","enum":["SUBSCRIBED","UNSUBSCRIBED","PENDING"]},"consentType":{"type":["string","null"],"enum":["EXPRESS_WRITTEN","KEYWORD","WEB_FORM","IMPORTED","ADMIN_OVERRIDE"]},"consentDate":{"$ref":"#/components/schemas/DateTime"},"optInDate":{"$ref":"#/components/schemas/DateTime"},"optOutDate":{"$ref":"#/components/schemas/DateTime"}},"required":["id","listId","listName","listType","status","consentType","consentDate","optInDate","optOutDate"]},"Contact":{"type":"object","properties":{"id":{"type":"string"},"orgId":{"type":"string"},"phone":{"type":"string"},"name":{"type":["string","null"]},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"rcsCap":{"type":"boolean"},"attributes":{"type":["object","null"],"additionalProperties":{},"description":"Freeform custom attributes for this contact."},"lifecycleStatus":{"type":"string","enum":["PARTICIPANT","PENDING_SUBSCRIBER","SUBSCRIBER","OPTED_OUT"]},"tags":{"type":"array","items":{"$ref":"#/components/schemas/ContactTagSummary"}},"subscriptions":{"type":"array","items":{"$ref":"#/components/schemas/ContactSubscription"}},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","orgId","phone","name","rcsCap","attributes","lifecycleStatus","tags","subscriptions","createdAt"]},"ContactListResponse":{"type":"object","properties":{"contacts":{"type":"array","items":{"$ref":"#/components/schemas/Contact"}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"totalPages":{"type":"integer"}},"required":["page","limit","total","totalPages"]}},"required":["contacts","pagination"]},"ContactAttributeKeysResponse":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"string"}}},"required":["keys"]},"ContactCreateRequest":{"type":"object","properties":{"phone":{"type":"string"},"name":{"type":["string","null"],"description":"Legacy single-field name — still accepted and split into firstName/lastName."},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"attributes":{"type":["object","null"],"additionalProperties":{}}},"required":["phone"]},"ContactConsentSummary":{"type":"object","properties":{"contactId":{"type":"string"},"lifecycleStatus":{"type":"string","enum":["PARTICIPANT","PENDING_SUBSCRIBER","SUBSCRIBER","OPTED_OUT"]},"isDnc":{"type":"boolean"},"subscriptions":{"type":"array","items":{"type":"object","properties":{"listId":{"type":"string"},"listName":{"type":"string"},"listType":{"type":"string","enum":["MARKETING","TRANSACTIONAL","SERVICE"]},"status":{"type":"string","enum":["SUBSCRIBED","UNSUBSCRIBED","PENDING"]},"consentType":{"type":["string","null"],"enum":["EXPRESS_WRITTEN","KEYWORD","WEB_FORM","IMPORTED","ADMIN_OVERRIDE"]},"consentDate":{"$ref":"#/components/schemas/DateTime"}},"required":["listId","listName","listType","status","consentType","consentDate"]}},"activeOverrides":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"listId":{"type":["string","null"]},"reason":{"type":"string"},"expiresAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"createdBy":{"type":"string"}},"required":["id","listId","reason","expiresAt","createdBy"]}}},"required":["contactId","lifecycleStatus","isDnc","subscriptions","activeOverrides"]},"ContactUpdateRequest":{"type":"object","properties":{"phone":{"type":"string"},"name":{"type":["string","null"]},"firstName":{"type":["string","null"]},"lastName":{"type":["string","null"]},"attributes":{"type":["object","null"],"additionalProperties":{}}}},"ContactDeleteResponse":{"type":"object","properties":{"success":{"type":"boolean"},"deletedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["success","deletedAt"]},"ContactRcsCheckResponse":{"type":"object","properties":{"contactId":{"type":"string"},"phone":{"type":"string"},"isRcsCapable":{"type":"boolean"},"provider":{"type":"string","enum":["INFOBIP","SINCH"]},"checkedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"cached":{"type":"boolean"}},"required":["contactId","phone","isRcsCapable","provider","checkedAt","cached"]},"ContactBulkTagSyncResponse":{"type":"object","properties":{"success":{"type":"boolean"},"assignedCount":{"type":"integer"}},"required":["success","assignedCount"]},"ContactBulkTagJob":{"type":"object","properties":{"jobId":{"type":"string"},"status":{"type":"string"},"operation":{"type":"string"},"tagId":{"type":"string"},"progress":{"type":"object","properties":{"total":{"type":"integer"},"processed":{"type":"integer"},"tagged":{"type":"integer"},"skipped":{"type":"integer"},"errors":{"type":"array","items":{"type":"object","properties":{"contactId":{"type":"string"},"error":{"type":"string"}},"required":["contactId","error"]}}},"required":["total","processed","tagged","skipped","errors"]}},"required":["jobId","status","operation","tagId","progress"]},"ContactBulkTagRequest":{"type":"object","properties":{"contactIds":{"type":"array","items":{"type":"string"}},"tagId":{"type":"string"}},"required":["contactIds","tagId"]},"ContactBulkUntagResponse":{"type":"object","properties":{"success":{"type":"boolean"},"removedCount":{"type":"integer"}},"required":["success","removedCount"]},"ContactImportJob":{"type":"object","properties":{"jobId":{"type":"string"},"status":{"type":"string"},"progress":{"type":"object","properties":{"total":{"type":"integer"},"processed":{"type":"integer"},"created":{"type":"integer"},"updated":{"type":"integer"},"skipped":{"type":"integer"},"errors":{"type":"array","items":{"type":"object","properties":{"row":{"type":"integer"},"field":{"type":"string"},"value":{"type":"string"},"error":{"type":"string"}},"required":["row","field","value","error"]}}},"required":["total","processed","created","updated","skipped","errors"]}},"required":["jobId","status","progress"]},"Tag":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contactCount":{"type":"integer"}},"required":["id","name","contactCount"]},"TagListResponse":{"type":"object","properties":{"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}},"required":["tags"]},"TagCreateResponse":{"type":"object","properties":{"id":{"type":"string"},"orgId":{"type":"string"},"name":{"type":"string"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","orgId","name","createdAt"]},"TagCreateRequest":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"]},"TagDeleteResponse":{"type":"object","properties":{"success":{"type":"boolean"},"deletedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["success","deletedAt"]},"SegmentPreviewResponse":{"type":"object","properties":{"contacts":{"type":"array","items":{"type":"object","additionalProperties":{}},"description":"Sample of matching contacts (up to 5)."},"count":{"type":"integer"}},"required":["contacts","count"]},"SegmentQueryRequest":{"type":"object","properties":{"logic":{"type":"string","enum":["AND","OR"]},"rules":{"type":"array","items":{"type":"object","additionalProperties":{}},"description":"Segment rules; each rule targets a contact field, tag, or attribute with an operator and value."}},"required":["logic","rules"]},"SegmentResolveResponse":{"type":"object","properties":{"contactIds":{"type":"array","items":{"type":"string"}}},"required":["contactIds"]},"DncEntry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"orgId":{"$ref":"#/components/schemas/Id"},"phone":{"type":"string"},"reason":{"type":["string","null"]},"addedBy":{"type":["string","null"]},"source":{"type":"string","enum":["MANUAL","IMPORT","CARRIER","LEGAL"]},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","orgId","phone","reason","addedBy","source","createdAt"]},"DncListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DncEntry"}},"total":{"type":"integer","minimum":0},"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1}},"required":["data","total","page","limit"]},"DncCreateResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DncEntry"}},"required":["data"]},"DncCreateRequest":{"type":"object","properties":{"phone":{"type":"string","minLength":1,"description":"E.164 phone number."},"reason":{"type":"string","minLength":1},"source":{"type":"string","enum":["MANUAL","IMPORT","CARRIER","LEGAL"],"default":"MANUAL"}},"required":["phone","reason"]},"DncBatchResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"added":{"type":"integer"},"duplicates":{"type":"integer"}},"required":["added","duplicates"]}},"required":["data"]},"DncBatchRequest":{"type":"object","properties":{"phones":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":10000},"reason":{"type":"string","minLength":1},"source":{"type":"string","enum":["MANUAL","IMPORT","CARRIER","LEGAL"],"default":"MANUAL"}},"required":["phones","reason"]},"ComplianceOverrideResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"overrideId":{"type":"string"},"expiresAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["overrideId","expiresAt"]}},"required":["data"]},"ComplianceOverrideRequest":{"type":"object","properties":{"contactId":{"$ref":"#/components/schemas/Id"},"listId":{"type":"string"},"blastId":{"type":"string"},"reason":{"type":"string","minLength":20}},"required":["contactId","reason"]},"ComplianceTcpaUpdateResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"tcpaConsent":{"type":"boolean"},"tcpaConsentDate":{"$ref":"#/components/schemas/DateTime"},"tcpaConsentProof":{"type":["string","null"]},"isDoNotContact":{"type":"boolean"}},"required":["tcpaConsent","tcpaConsentDate","tcpaConsentProof","isDoNotContact"]}},"required":["data"]},"ComplianceTcpaUpdateRequest":{"type":"object","properties":{"tcpaConsent":{"type":"boolean"},"consentProof":{"type":"string"}},"required":["tcpaConsent"]},"ComplianceContentRule":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"orgId":{"type":["string","null"]},"pattern":{"type":"string"},"patternType":{"type":"string","enum":["keyword","regex"]},"action":{"type":"string","enum":["block","flag"]},"channelTypes":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"isActive":{"type":"boolean"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","orgId","pattern","patternType","action","channelTypes","description","isActive","createdAt","updatedAt"]},"ContentRuleListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceContentRule"}},"total":{"type":"integer","minimum":0},"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1}},"required":["data","total","page","limit"]},"ContentRuleResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceContentRule"}},"required":["data"]},"ComplianceChannelType":{"type":"string","enum":["RCS","SMS","MMS","WA"]},"ContentRuleCreateRequest":{"type":"object","properties":{"pattern":{"type":"string","minLength":1,"maxLength":500},"patternType":{"type":"string","enum":["keyword","regex"]},"action":{"type":"string","enum":["block","flag"]},"channelTypes":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceChannelType"}},"description":{"type":"string","maxLength":1000},"isActive":{"type":"boolean","default":true}},"required":["pattern","patternType","action"]},"ContentRuleUpdateRequest":{"type":"object","properties":{"pattern":{"type":"string","minLength":1,"maxLength":500},"patternType":{"type":"string","enum":["keyword","regex"]},"action":{"type":"string","enum":["block","flag"]},"channelTypes":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceChannelType"}},"description":{"type":"string","maxLength":1000},"isActive":{"type":"boolean"}}},"ComplianceKeywordRule":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"keyword":{"type":"string"},"action":{"type":"string","enum":["opt_out","opt_in","help","custom"]},"autoReplyText":{"type":["string","null"]},"channelTypes":{"type":"array","items":{"type":"string"}},"isActive":{"type":"boolean"},"source":{"type":"string","enum":["global","custom","override"]},"overrides":{"type":"string","description":"Id of the global rule this org rule overrides."},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","keyword","action","autoReplyText","channelTypes","isActive","source","createdAt","updatedAt"]},"KeywordRuleListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceKeywordRule"}},"total":{"type":"integer","minimum":0}},"required":["data","total"]},"KeywordRuleResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceKeywordRule"}},"required":["data"]},"KeywordRuleCreateRequest":{"type":"object","properties":{"keyword":{"type":"string","minLength":1,"maxLength":50,"description":"Letters, numbers, and spaces only. Normalized to uppercase."},"action":{"type":"string","enum":["opt_out","opt_in","help","custom"]},"autoReplyText":{"type":["string","null"],"maxLength":500},"channelTypes":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceChannelType"}},"isActive":{"type":"boolean","default":true}},"required":["keyword","action"]},"KeywordRuleUpdateRequest":{"type":"object","properties":{"keyword":{"type":"string","minLength":1,"maxLength":50},"action":{"type":"string","enum":["opt_out","opt_in","help","custom"]},"autoReplyText":{"type":["string","null"],"maxLength":500},"channelTypes":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceChannelType"}},"isActive":{"type":"boolean"}}},"WhatsAppTemplateList":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["data"]},"Conversation":{"type":"object","properties":{"id":{"type":"string"},"contactId":{"type":"string"},"channelId":{"type":"string"},"botId":{"type":["string","null"]},"status":{"type":"string","enum":["BOT","HUMAN","CLOSED"]},"assignedUserId":{"type":["string","null"]},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","contactId","channelId","botId","status","assignedUserId","createdAt"]},"ConversationListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Conversation"}},"total":{"type":"integer"},"page":{"type":"integer"},"limit":{"type":"integer"}},"required":["items","total","page","limit"]},"ConversationDetail":{"allOf":[{"$ref":"#/components/schemas/Conversation"},{"type":"object","properties":{"contact":{"type":["object","null"],"properties":{"id":{"type":"string"},"name":{"type":["string","null"]},"phone":{"type":"string"}},"required":["id","name","phone"]},"channel":{"type":["object","null"],"properties":{"id":{"type":"string"},"type":{"type":"string"},"provider":{"type":"string"},"status":{"type":"string"}},"required":["id","type","provider","status"]},"assignedUser":{"type":["object","null"],"properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"}},"required":["id","email","role"]}},"required":["contact","channel","assignedUser"]}]},"ConversationMessageItem":{"type":"object","properties":{"id":{"type":"string"},"direction":{"type":"string"},"contentJson":{"description":"The stored message payload (object, string, or null)."},"status":{"type":"string"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","direction","status","createdAt"]},"ConversationMessagesResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ConversationMessageItem"}},"hasMore":{"type":"boolean"}},"required":["items","hasMore"]},"ConversationSessionRecord":{"type":["object","null"],"properties":{"id":{"type":"string"},"conversationId":{"type":"string"},"orgId":{"type":"string"},"senderIdId":{"type":"string"},"consumerPhone":{"type":"string"},"sessionStart":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"sessionEnd":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"state":{"type":"string","enum":["CANDIDATE","INTERACTIVE_ESTIMATED","PROVIDER_CONFIRMED","EXPIRED"]},"isActive":{"type":"boolean"},"messageCount":{"type":"integer"},"a2pCount":{"type":"integer"},"p2aCount":{"type":"integer"},"totalRcsCount":{"type":"integer"},"firstMessageAt":{"$ref":"#/components/schemas/DateTime"},"lastMessageAt":{"$ref":"#/components/schemas/DateTime"},"source":{"type":["string","null"]},"sourceDetail":{"type":["string","null"]},"entryPointId":{"type":["string","null"]},"entryPointName":{"type":["string","null"]},"qrKeyword":{"type":["string","null"]},"botId":{"type":["string","null"]},"inboxQueueId":{"type":["string","null"]},"providerConversationId":{"type":["string","null"]},"providerConversationType":{"type":["string","null"]},"providerTrafficType":{"type":["string","null"]},"providerSessionStart":{"$ref":"#/components/schemas/DateTime"},"providerSessionEnd":{"$ref":"#/components/schemas/DateTime"},"billedAt":{"$ref":"#/components/schemas/DateTime"},"billingResolution":{"type":["string","null"],"enum":["SESSION","MESSAGE_FALLBACK"]},"billingResolvedAt":{"$ref":"#/components/schemas/DateTime"},"billingResolutionReason":{"type":["string","null"]},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","conversationId","orgId","senderIdId","consumerPhone","sessionStart","sessionEnd","isActive","messageCount","source","sourceDetail","billedAt","createdAt"]},"ConversationSessionInfo":{"type":"object","properties":{"session":{"$ref":"#/components/schemas/ConversationSessionRecord"},"state":{"type":"string","enum":["REGULAR_RCS","CONVERSATIONAL_ELIGIBLE","CANDIDATE","INTERACTIVE_ESTIMATED","PROVIDER_CONFIRMED","EXPIRED"]},"isActive":{"type":"boolean"},"remainingMinutes":{"type":["number","null"]},"canSendFreeform":{"type":"boolean"},"canSendTemplate":{"type":"boolean"},"source":{"type":["string","null"]},"sourceDetail":{"type":["string","null"]},"entryPoint":{"type":["object","null"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"code":{"type":["string","null"]}},"required":["id","name","code"]},"providerConversationId":{"type":["string","null"]},"providerTrafficType":{"type":["string","null"]},"providerSessionStart":{"$ref":"#/components/schemas/DateTime"},"providerSessionEnd":{"$ref":"#/components/schemas/DateTime"},"billingMode":{"type":["string","null"],"enum":["CONVERSATIONAL","NON_CONVERSATIONAL"]}},"required":["session","isActive","remainingMinutes","canSendFreeform","canSendTemplate","source","sourceDetail"]},"ConversationSource":{"type":"object","properties":{"source":{"type":["string","null"]},"sourceDetail":{"type":["string","null"]},"firstMessageAt":{"$ref":"#/components/schemas/DateTime"}},"required":["source","sourceDetail","firstMessageAt"]},"ConversationHandoffResponse":{"type":"object","properties":{"conversationId":{"type":"string"},"status":{"type":"string","enum":["HUMAN"]},"assignedUserId":{"type":["string","null"]},"assignedUser":{"type":["object","null"],"properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"}},"required":["id","email","role"]},"handoffTimestamp":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"systemMessage":{"type":"object","additionalProperties":{},"description":"The system message row created for the handoff (omitted when the conversation was already HUMAN)."}},"required":["conversationId","status","assignedUserId","assignedUser","handoffTimestamp"]},"ConversationHandoffRequest":{"type":"object","properties":{"reason":{"type":"string"},"botNodeId":{"type":"string"},"autoAssign":{"type":"boolean","description":"Defaults to true: auto-assign the next available agent."}}},"ConversationSendMessageResponse":{"type":"object","properties":{"messageId":{"type":"string"},"status":{"type":"string"}},"required":["messageId","status"]},"ConversationSendMessageRequest":{"type":"object","properties":{"botId":{"type":"string"},"botNodeId":{"type":"string"},"isTemplate":{"type":"boolean"},"content":{"type":"object","additionalProperties":{},"description":"Message content payload (same shape as SendMessageContent)."}}},"SendMessageResponse":{"type":"object","properties":{"messageId":{"type":"string"},"conversationId":{"type":"string"},"status":{"type":"string"},"billingType":{"type":"string"},"providerMessageId":{"type":"string"},"fallbackUsed":{"type":"string","enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"fallbackChannelId":{"type":"string"}},"required":["messageId","conversationId","status","billingType","providerMessageId"]},"SendMessageContent":{"type":"object","properties":{"type":{"type":"string","description":"Content type, e.g. \"text\", \"card\", \"carousel\", \"media\", \"location\"."},"text":{"type":"string"},"card":{"type":"object","additionalProperties":{},"description":"RCS rich card payload (when type is \"card\")."},"carousel":{"type":"object","additionalProperties":{},"description":"RCS carousel payload (when type is \"carousel\")."},"media":{"type":"object","additionalProperties":{},"description":"Media payload (when type is \"media\")."},"location":{"type":"object","additionalProperties":{},"description":"Location payload (when type is \"location\")."},"actions":{"type":"array","items":{"type":"object","additionalProperties":{}},"description":"Suggested replies / actions attached to the message."}},"required":["type"]},"SendMessageRequest":{"type":"object","properties":{"contactId":{"type":"string","description":"The contact to message. Required."},"channelId":{"type":"string","description":"Channel to send through. Omit to route via senderIdId or channelType."},"senderIdId":{"type":"string","description":"Sender ID to send from."},"channelType":{"type":"string","enum":["RCS","WA","MMS","SMS"],"description":"When neither channelId nor senderIdId is given, route via the org's configured channel for this type."},"protocolType":{"type":"string","enum":["SMS","MMS","RCS_RICH","RCS_MULTIMEDIA"]},"conversationId":{"type":"string","description":"Existing conversation to append to."},"botId":{"type":"string"},"botNodeId":{"type":"string"},"isTemplate":{"type":"boolean"},"fallbackToSms":{"type":"boolean"},"messageType":{"type":"string","enum":["MARKETING","TRANSACTIONAL","SERVICE"],"description":"Defaults to MARKETING (strictest consent gates) when omitted."},"listId":{"type":"string"},"content":{"$ref":"#/components/schemas/SendMessageContent"}},"required":["contactId"]},"PreviewMessageResponse":{"type":"object","properties":{"billingType":{"type":"string"},"rendered":{"type":"object","properties":{"rcs":{"type":"object","additionalProperties":{}},"whatsapp":{"type":"object","additionalProperties":{}},"sms":{"type":"string"},"mms":{"type":"object","additionalProperties":{}}}},"characterCount":{"type":"integer","description":"Present for SMS previews."},"segmentCount":{"type":"integer","description":"Present for SMS previews."}},"required":["billingType","rendered"]},"PreviewMessageRequest":{"type":"object","properties":{"channelType":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"content":{"$ref":"#/components/schemas/SendMessageContent"}},"required":["channelType","content"]},"RevokeMessageResponse":{"type":"object","properties":{"messageId":{"type":"string"},"revokedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"revokedBy":{"type":"string"},"status":{"type":"string","enum":["revoked"]}},"required":["messageId","revokedAt","revokedBy","status"]},"AnalyticsIntentsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"taps":{"type":"integer"},"conversations":{"type":"integer","description":"Distinct conversations the intent was tapped in."}},"required":["value","taps","conversations"]}}},"required":["data"]},"AnalyticsSessionsResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"totalSessions":{"type":"integer"},"avgMessagesPerSession":{"type":"number"},"bySource":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"count":{"type":"integer"},"percentage":{"type":"number"}},"required":["source","count","percentage"]}},"timeline":{"type":"array","items":{"type":"object","additionalProperties":{}},"description":"Daily series of { date, sessions }, or the bySource breakdown when groupBy=source."}},"required":["totalSessions","avgMessagesPerSession","bySource","timeline"]}},"required":["data"]},"AnalyticsOverviewResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"totalMessages":{"type":"integer"},"totalDelivered":{"type":"integer"},"totalRead":{"type":"integer"},"totalFailed":{"type":"integer"},"deliveryRate":{"type":"number"},"readRate":{"type":"number"},"activeContacts":{"type":"integer"},"activeBots":{"type":"integer"},"totalCostCents":{"type":"integer"},"trends":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"date":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"protocol":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"count":{"type":"integer"}},"required":["date","protocol","count"]}},"delivery":{"type":"array","items":{"type":"object","properties":{"date":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"sent":{"type":"integer"},"delivered":{"type":"integer"},"read":{"type":"integer"},"failed":{"type":"integer"}},"required":["date","sent","delivered","read","failed"]}},"contacts":{"type":"array","items":{"type":"object","properties":{"date":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"newContacts":{"type":"integer"},"optOuts":{"type":"integer"}},"required":["date","newContacts","optOuts"]}}},"required":["messages","delivery","contacts"]}},"required":["totalMessages","totalDelivered","totalRead","totalFailed","deliveryRate","readRate","activeContacts","activeBots","totalCostCents","trends"]}},"required":["data"]},"AnalyticsSenderSummary":{"type":"object","properties":{"senderIdId":{"type":"string"},"identifier":{"type":"string"},"type":{"type":"string"},"totalSent":{"type":"integer"},"totalDelivered":{"type":"integer"},"totalRead":{"type":"integer"},"totalFailed":{"type":"integer"},"deliveryRate":{"type":"number"},"readRate":{"type":"number"},"costCents":{"type":"integer"}},"required":["senderIdId","identifier","type","totalSent","totalDelivered","totalRead","totalFailed","deliveryRate","readRate","costCents"]},"AnalyticsSenderListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnalyticsSenderSummary"}}},"required":["data"]},"AnalyticsSenderDetailResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"senderIdId":{"type":"string"},"identifier":{"type":"string"},"type":{"type":"string"},"granularity":{"type":"string","enum":["hour","day","week","month"]},"metrics":{"$ref":"#/components/schemas/AnalyticsSenderSummary"},"timeSeries":{"type":"array","items":{"type":"object","properties":{"date":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"sent":{"type":"integer"},"delivered":{"type":"integer"},"read":{"type":"integer"},"failed":{"type":"integer"}},"required":["date","sent","delivered","read","failed"]}},"topBots":{"type":"array","items":{"type":"object","properties":{"botId":{"type":"string"},"name":{"type":"string"},"messageCount":{"type":"integer"}},"required":["botId","name","messageCount"]}},"topBlasts":{"type":"array","items":{"type":"object","properties":{"blastId":{"type":"string"},"name":{"type":"string"},"recipientCount":{"type":"integer"},"deliveryRate":{"type":"number"}},"required":["blastId","name","recipientCount","deliveryRate"]}}},"required":["senderIdId","identifier","type","granularity","metrics","timeSeries","topBots","topBlasts"]}},"required":["data"]},"AnalyticsProtocolsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"protocol":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"totalSent":{"type":"integer"},"totalDelivered":{"type":"integer"},"totalRead":{"type":"integer"},"deliveryRate":{"type":"number"},"readRate":{"type":"number"},"avgCostPerMessage":{"type":"number"},"comparisonToSms":{"type":["object","null"],"properties":{"deliveryRateDiff":{"type":"number"},"readRateDiff":{"type":"number"},"costDiff":{"type":"number"}},"required":["deliveryRateDiff","readRateDiff","costDiff"]}},"required":["protocol","totalSent","totalDelivered","totalRead","deliveryRate","readRate","avgCostPerMessage","comparisonToSms"]}}},"required":["data"]},"AnalyticsBotFunnelResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"botId":{"type":"string"},"botName":{"type":"string"},"totalConversations":{"type":"integer"},"completionRate":{"type":"number"},"avgDurationSeconds":{"type":"number"},"funnel":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string"},"nodeType":{"type":"string"},"nodeLabel":{"type":"string"},"entered":{"type":"integer"},"exited":{"type":"integer"},"dropOff":{"type":"integer"}},"required":["nodeId","nodeType","nodeLabel","entered","exited","dropOff"],"additionalProperties":{}}},"actionClicks":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string"},"actionLabel":{"type":"string"},"clicks":{"type":"integer"},"clickRate":{"type":"number"}},"required":["nodeId","actionLabel","clicks","clickRate"]}}},"required":["botId","botName","totalConversations","completionRate","avgDurationSeconds","funnel","actionClicks"]}},"required":["data"]},"AnalyticsBotSummaryResponse":{"type":"object","properties":{"botId":{"type":"string"},"botName":{"type":"string"},"messageCount":{"type":"integer"},"conversationCount":{"type":"integer"},"avgMessagesPerConversation":{"type":"number"}},"required":["botId","botName","messageCount","conversationCount","avgMessagesPerConversation"]},"AnalyticsBlastResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"blastId":{"type":"string"},"blastName":{"type":"string"},"status":{"type":"string"},"sentAt":{"$ref":"#/components/schemas/DateTime"},"channelType":{"type":"string"},"summary":{"type":"object","properties":{"total":{"type":"integer"},"sent":{"type":"integer"},"delivered":{"type":"integer"},"read":{"type":"integer"},"clicked":{"type":"integer"},"failed":{"type":"integer"},"rates":{"type":"object","properties":{"deliveryRate":{"type":"number"},"readRate":{"type":"number"},"clickRate":{"type":"number"},"failureRate":{"type":"number"}},"required":["deliveryRate","readRate","clickRate","failureRate"]}},"required":["total","sent","delivered","read","clicked","failed","rates"]},"fallbackTriggered":{"type":"boolean"},"fallbackRate":{"type":"number"},"costCents":{"type":"integer"},"costBreakdown":{"type":"array","items":{"type":"object","properties":{"billingType":{"type":"string"},"quantity":{"type":"integer"},"unitPriceCents":{"type":"number"},"unitPriceMicros":{"type":"integer"},"totalCents":{"type":"number"}},"required":["billingType","quantity","unitPriceCents","unitPriceMicros","totalCents"]}},"timeSeries":{"type":"array","items":{"type":"object","properties":{"time":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"sent":{"type":"integer"},"delivered":{"type":"integer"},"read":{"type":"integer"},"failed":{"type":"integer"}},"required":["time","sent","delivered","read","failed"]}},"timelineInterval":{"type":"string","enum":["minute","hour"]},"inProgress":{"type":"boolean"}},"required":["blastId","blastName","status","sentAt","channelType","summary","fallbackTriggered","fallbackRate","costCents","costBreakdown","timeSeries","timelineInterval","inProgress"]}},"required":["data"]},"AnalyticsUsageResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"totalCostCents":{"type":"number"},"granularity":{"type":"string","enum":["day","month"]},"breakdown":{"type":"array","items":{"type":"object","additionalProperties":{},"description":"Per billing-type usage row including percentOfSpend."}},"timeSeries":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["totalCostCents","granularity","breakdown","timeSeries"]}},"required":["data"]},"AnalyticsExportResponse":{"type":"object","properties":{"exportId":{"type":"string"},"downloadUrl":{"type":"string"},"expiresAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["exportId","downloadUrl","expiresAt"]},"AnalyticsExportRequest":{"type":"object","properties":{"type":{"type":"string","enum":["overview","sender_id","protocol","bot","blast","usage"]},"startDate":{"type":"string"},"endDate":{"type":"string"},"filters":{"type":"object","additionalProperties":{},"description":"Type-specific filters, e.g. { \"botId\": \"...\" } for bot exports or { \"blastId\": \"...\" } for blast exports."}},"required":["type"]},"AnalyticsReport":{"type":"object","properties":{"id":{"type":"string"},"orgId":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["sender_id","protocol","bot","blast","usage"]},"frequency":{"type":"string","enum":["WEEKLY","MONTHLY"]},"dayOfWeek":{"type":["integer","null"]},"dayOfMonth":{"type":["integer","null"]},"recipients":{"type":"array","items":{"type":"string"}},"configJson":{"type":["object","null"],"additionalProperties":{}},"lastSentAt":{"$ref":"#/components/schemas/DateTime"},"isActive":{"type":"boolean"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","orgId","name","type","frequency","dayOfWeek","dayOfMonth","recipients","configJson","lastSentAt","isActive","createdAt"]},"AnalyticsReportListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AnalyticsReport"}}},"required":["data"]},"AnalyticsReportResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnalyticsReport"}},"required":["data"]},"AnalyticsReportCreateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["sender_id","protocol","bot","blast","usage"]},"frequency":{"type":"string","enum":["WEEKLY","MONTHLY"]},"dayOfWeek":{"type":"integer","minimum":0,"maximum":6,"description":"Required when frequency is WEEKLY."},"dayOfMonth":{"type":"integer","minimum":1,"maximum":28,"description":"Required when frequency is MONTHLY."},"recipients":{"type":"array","items":{"type":"string","format":"email"},"minItems":1,"maxItems":10},"configJson":{"type":["object","null"],"additionalProperties":{}},"isActive":{"type":"boolean","description":"Defaults to true."}},"required":["name","type","frequency","recipients"]},"AnalyticsReportUpdateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","enum":["sender_id","protocol","bot","blast","usage"]},"frequency":{"type":"string","enum":["WEEKLY","MONTHLY"]},"dayOfWeek":{"type":"integer","minimum":0,"maximum":6},"dayOfMonth":{"type":"integer","minimum":1,"maximum":28},"recipients":{"type":"array","items":{"type":"string","format":"email"},"minItems":1,"maxItems":10},"configJson":{"type":["object","null"],"additionalProperties":{}},"isActive":{"type":"boolean"}}},"AnalyticsTrendsResponse":{"type":"object","properties":{"period":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD"},"channelType":{"type":"string","enum":["RCS","WA","MMS","SMS"]},"count":{"type":"integer"}},"required":["date","channelType","count"]}}},"required":["period","data"]},"AnalyticsTopResponse":{"type":"object","properties":{"bots":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"messageCount":{"type":"integer"}},"required":["id","name","messageCount"]}},"blasts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"},"sentAt":{"$ref":"#/components/schemas/DateTime"},"totalRecipients":{"type":"integer"},"delivered":{"type":"integer"}},"required":["id","name","status","sentAt","totalRecipients","delivered"]}}},"required":["bots","blasts"]},"MessageReportRow":{"type":"object","properties":{"id":{"type":"string"},"eventType":{"type":"string","enum":["MO","MDR","MT"]},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"receiptAt":{"$ref":"#/components/schemas/DateTime"},"direction":{"type":"string","enum":["IN","OUT"]},"primaryChannel":{"type":"string","enum":["RCS","SMS","MMS","WA"]},"channel":{"type":"string","enum":["RCS","SMS","MMS","WA"]},"actualChannel":{"type":"string","enum":["RCS","SMS","MMS","WA"]},"fallbackReason":{"type":"string"},"deliveryAttemptCount":{"type":"integer","minimum":0},"wireless":{"type":"string"},"senderId":{"type":"string"},"senderType":{"type":"string"},"brand":{"type":"string"},"programId":{"type":["string","null"]},"campaign":{"type":"string"},"contact":{"type":"string"},"phone":{"type":"string"},"status":{"type":"string"},"normalizedFailureReason":{"type":"string"},"carrierReceipt":{"type":"string"},"deliveryReceiptAvailable":{"type":"boolean"},"messagePreview":{"type":"string"},"conversationId":{"type":"string"},"threadId":{"type":"string"}},"required":["id","eventType","createdAt","receiptAt","direction","primaryChannel","channel","actualChannel","fallbackReason","deliveryAttemptCount","wireless","senderId","senderType","brand","programId","campaign","contact","phone","status","normalizedFailureReason","carrierReceipt","deliveryReceiptAvailable","messagePreview","conversationId","threadId"]},"MessageReportResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MessageReportRow"}},"meta":{"type":"object","properties":{"count":{"type":"number"},"limit":{"type":"number"},"scopedToOrg":{"type":"boolean","enum":[true]}},"required":["count","limit","scopedToOrg"]}},"required":["data","meta"]},"WebhookEndpoint":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"}},"isActive":{"type":"boolean"},"consecutiveFailures":{"type":"integer"},"lastSuccessAt":{"$ref":"#/components/schemas/DateTime"},"lastFailAt":{"$ref":"#/components/schemas/DateTime"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","url","events","isActive","consecutiveFailures","lastSuccessAt","lastFailAt","createdAt"]},"ListWebhookEndpointsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"}}},"required":["data"]},"CreateWebhookEndpointResponse":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/WebhookEndpoint"},{"type":"object","properties":{"secret":{"type":"string"}},"required":["secret"]}]}},"required":["data"]},"CreateWebhookEndpointBody":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"},"minItems":1}},"required":["url","events"]},"UpdateWebhookEndpointBody":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"},"minItems":1},"isActive":{"type":"boolean"}}},"WebhookTestResult":{"type":"object","properties":{"statusCode":{"type":"integer"},"responseTime":{"type":"integer"},"success":{"type":"boolean"}},"required":["statusCode","responseTime","success"]},"TestWebhookBody":{"type":"object","properties":{"event":{"type":"string","description":"Event type to simulate. Defaults to \"message.received\" when omitted or invalid."}}},"WebhookDelivery":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"statusCode":{"type":["integer","null"]},"success":{"type":"boolean"},"attempts":{"type":"integer"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","event","statusCode","success","attempts","createdAt"]},"ListWebhookDeliveriesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDelivery"}},"pagination":{"$ref":"#/components/schemas/Pagination"}},"required":["data","pagination"]},"ApiKeyAccessScope":{"type":"string","enum":["read_only","messaging","full"]},"ApiKey":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"prefix":{"type":"string"},"scope":{"type":"string"},"accessScope":{"$ref":"#/components/schemas/ApiKeyAccessScope"},"lastUsedAt":{"$ref":"#/components/schemas/DateTime"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"expiresAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","name","prefix","scope","accessScope","lastUsedAt","createdAt","expiresAt"]},"ListApiKeysResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ApiKey"}}},"required":["data"]},"ApiKeySecret":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"},"accessScope":{"$ref":"#/components/schemas/ApiKeyAccessScope"},"expiresAt":{"$ref":"#/components/schemas/DateTime"}},"required":["id","name","key","accessScope","expiresAt"]},"CreateApiKeyResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ApiKeySecret"}},"required":["data"]},"CreateApiKeyBody":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"accessScope":{"allOf":[{"$ref":"#/components/schemas/ApiKeyAccessScope"},{"description":"Defaults to \"messaging\" when omitted."}]},"expiresAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string","description":"Optional expiry; must be in the future and within 10 years."}]}},"required":["name"]},"RotateApiKeyResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ApiKeySecret"}},"required":["data"]},"EventResult":{"type":"object","properties":{"eventLogId":{"type":"string"},"status":{"type":"string","enum":["SENT","SKIPPED","FAILED"]},"messageId":{"type":"string"},"reason":{"type":"string"}},"required":["eventLogId","status"]},"EventTriggerRequest":{"type":"object","properties":{"event_type":{"type":"string","minLength":1},"data":{"type":"object","additionalProperties":{}},"channel":{"type":"string","enum":["RCS","SMS","MMS","WHATSAPP"]}},"required":["event_type","data"]},"EventBatchResponse":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/EventResult"}},"total":{"type":"integer"},"sent":{"type":"integer"},"skipped":{"type":"integer"},"failed":{"type":"integer"}},"required":["results","total","sent","skipped","failed"]},"EventBatchRequest":{"type":"object","properties":{"events":{"type":"array","items":{"$ref":"#/components/schemas/EventTriggerRequest"},"minItems":1,"maxItems":100}},"required":["events"]},"AcquisitionEnrollStatus":{"type":"string","enum":["subscribed","pending_confirmation","already_subscribed"]},"AcquisitionEnrollResponse":{"type":"object","properties":{"personId":{"type":"string"},"status":{"$ref":"#/components/schemas/AcquisitionEnrollStatus"},"campaignId":{"type":"string"},"listId":{"type":"string"}},"required":["personId","status","campaignId","listId"]},"AcquisitionEnrollRequest":{"type":"object","properties":{"phone":{"type":"string","minLength":1,"description":"E.164 phone number."},"firstName":{"type":["string","null"],"maxLength":100},"lastName":{"type":["string","null"],"maxLength":100},"email":{"type":["string","null"]},"metadata":{"type":["object","null"],"additionalProperties":{}},"channelId":{"type":["string","null"]}},"required":["phone"]},"AcquisitionCampaignType":{"type":"string","enum":["KEYWORD","WEB_FORM","QR_CODE","API"]},"AcquisitionCampaignStatus":{"type":"string","enum":["ACTIVE","PAUSED","ARCHIVED"]},"AcquisitionCampaignSummary":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"name":{"type":"string"},"listId":{"$ref":"#/components/schemas/Id"},"listName":{"type":"string"},"type":{"$ref":"#/components/schemas/AcquisitionCampaignType"},"status":{"$ref":"#/components/schemas/AcquisitionCampaignStatus"},"keyword":{"type":["string","null"]},"shortcode":{"type":["string","null"]},"doubleOptIn":{"type":"boolean"},"enrolledCount":{"type":"integer"},"subscribedCount":{"type":"integer"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]}},"required":["id","name","listId","listName","type","status","keyword","shortcode","doubleOptIn","enrolledCount","subscribedCount","createdAt"]},"AcquisitionCampaignListResponse":{"type":"object","properties":{"campaigns":{"type":"array","items":{"$ref":"#/components/schemas/AcquisitionCampaignSummary"}}},"required":["campaigns"]},"AcquisitionCampaign":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"orgId":{"$ref":"#/components/schemas/Id"},"name":{"type":"string"},"listId":{"$ref":"#/components/schemas/Id"},"type":{"$ref":"#/components/schemas/AcquisitionCampaignType"},"status":{"$ref":"#/components/schemas/AcquisitionCampaignStatus"},"keyword":{"type":["string","null"]},"shortcode":{"type":["string","null"]},"welcomeMessage":{"type":["string","null"]},"doubleOptIn":{"type":"boolean"},"confirmationMessage":{"type":["string","null"]},"webFormConfig":{"type":["object","null"],"additionalProperties":{}},"qrCodeUrl":{"type":["string","null"]},"enrolledCount":{"type":"integer"},"subscribedCount":{"type":"integer"},"createdAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"updatedAt":{"allOf":[{"$ref":"#/components/schemas/DateTime"},{"type":"string"}]},"list":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/Id"},"name":{"type":"string"},"type":{"type":"string","enum":["MARKETING","TRANSACTIONAL","SERVICE"]},"isActive":{"type":"boolean"}},"required":["id","name","type","isActive"]}},"required":["id","orgId","name","listId","type","status","keyword","shortcode","welcomeMessage","doubleOptIn","confirmationMessage","webFormConfig","qrCodeUrl","enrolledCount","subscribedCount","createdAt","updatedAt","list"]},"AcquisitionCampaignCreateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"listId":{"$ref":"#/components/schemas/Id"},"type":{"$ref":"#/components/schemas/AcquisitionCampaignType"},"keyword":{"type":"string","description":"Required for KEYWORD campaigns."},"shortcode":{"type":"string","description":"Required for KEYWORD campaigns."},"welcomeMessage":{"type":"string","maxLength":320},"doubleOptIn":{"type":"boolean","default":true},"confirmationMessage":{"type":"string","maxLength":320},"webFormConfig":{"type":"object","additionalProperties":{},"description":"Only for WEB_FORM and QR_CODE campaigns."}},"required":["name","listId","type"]},"AcquisitionCampaignDetail":{"allOf":[{"$ref":"#/components/schemas/AcquisitionCampaignSummary"},{"type":"object","properties":{"welcomeMessage":{"type":["string","null"]},"confirmationMessage":{"type":["string","null"]},"webFormConfig":{"type":["object","null"],"additionalProperties":{}},"qrCodeUrl":{"type":["string","null"]},"conversionRate":{"type":["number","null"]}},"required":["welcomeMessage","confirmationMessage","webFormConfig","qrCodeUrl","conversionRate"]}]},"AcquisitionCampaignUpdateRequest":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"welcomeMessage":{"type":["string","null"],"maxLength":320},"doubleOptIn":{"type":"boolean"},"confirmationMessage":{"type":["string","null"],"maxLength":320},"status":{"$ref":"#/components/schemas/AcquisitionCampaignStatus"},"webFormConfig":{"type":["object","null"],"additionalProperties":{}}}},"AcquisitionCampaignQrResponse":{"type":"object","properties":{"qrCodeUrl":{"type":"string"}},"required":["qrCodeUrl"]},"AcquisitionPublicEnrollResponse":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/AcquisitionEnrollStatus"},"message":{"type":"string"}},"required":["status","message"]}},"parameters":{}},"paths":{"/health":{"get":{"tags":["Common"],"summary":"Health check","security":[],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/health', {\n  method: 'GET'\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/health'\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/health"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/landing-page-templates":{"get":{"tags":["Common"],"summary":"List landing page templates","description":"Returns the platform-provided landing page template catalog.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-page-templates', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/landing-page-templates'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/landing-page-templates \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandingPageTemplateListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/landing-pages":{"get":{"tags":["Common"],"summary":"List landing pages","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-pages', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/landing-pages'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/landing-pages \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/LandingPageStatus"},"required":false,"name":"status","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandingPageListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Common"],"summary":"Create a landing page","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-pages', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/landing-pages'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/landing-pages \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandingPageCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandingPageResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/landing-pages/{id}":{"get":{"tags":["Common"],"summary":"Get a landing page","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-pages/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/landing-pages/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/landing-pages/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/LandingPage"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Common"],"summary":"Update a landing page","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-pages/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/landing-pages/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/landing-pages/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandingPageUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/LandingPage"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Common"],"summary":"Delete a landing page","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-pages/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/landing-pages/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/landing-pages/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/landing-pages/{id}/publish":{"post":{"tags":["Common"],"summary":"Publish a landing page","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-pages/{id}/publish', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/landing-pages/{id}/publish'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/landing-pages/{id}/publish \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/LandingPage"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/landing-pages/{id}/unpublish":{"post":{"tags":["Common"],"summary":"Unpublish a landing page","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-pages/{id}/unpublish', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/landing-pages/{id}/unpublish'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/landing-pages/{id}/unpublish \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/LandingPage"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/landing-pages/{id}/submissions":{"get":{"tags":["Common"],"summary":"List landing page submissions","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/landing-pages/{id}/submissions', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/landing-pages/{id}/submissions'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/landing-pages/{id}/submissions \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"},{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandingPageSubmissionListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/assets":{"get":{"tags":["Common"],"summary":"List assets","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/assets', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/assets'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/assets \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"Filter by folder. Pass the literal string 'null' for unfiled assets."},"required":false,"description":"Filter by folder. Pass the literal string 'null' for unfiled assets.","name":"folderId","in":"query"},{"schema":{"$ref":"#/components/schemas/AssetType"},"required":false,"name":"type","in":"query"},{"schema":{"type":"string"},"required":false,"name":"search","in":"query"},{"schema":{"type":"string","enum":["true","false"]},"required":false,"name":"includeErrors","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":24},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","enum":["name","size_bytes","created_at"],"default":"created_at"},"required":false,"name":"sort","in":"query"},{"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"required":false,"name":"order","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/assets/upload":{"post":{"tags":["Common"],"summary":"Upload an asset","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/assets/upload \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -F 'file=@./logo.png'"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/AssetUploadRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/assets/upload/batch":{"post":{"tags":["Common"],"summary":"Upload assets in batch","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/assets/upload/batch \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -F 'files=@./logo.png' -F 'files=@./hero.jpg'"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/AssetBatchUploadRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetBatchUploadResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/assets/{id}":{"get":{"tags":["Common"],"summary":"Get an asset","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/assets/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/assets/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/assets/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Asset"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Common"],"summary":"Update asset metadata","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/assets/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/assets/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/assets/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Asset"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Common"],"summary":"Delete an asset","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/assets/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/assets/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/assets/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/assets/{id}/crop":{"post":{"tags":["Common"],"summary":"Crop an asset","description":"Creates a new derived image asset from the crop region. Image and GIF assets only.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/assets/{id}/crop', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/assets/{id}/crop'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/assets/{id}/crop \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetCropRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Asset"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/assets/{id}/resize":{"post":{"tags":["Common"],"summary":"Resize an asset","description":"Creates a new derived JPEG asset at the requested dimensions. Image and GIF assets only.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/assets/{id}/resize', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/assets/{id}/resize'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/assets/{id}/resize \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetResizeRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Asset"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/assets/{id}/variant/{variant}":{"get":{"tags":["Common"],"summary":"Fetch an asset variant","description":"Streams the binary content of a processed asset variant (e.g. a thumbnail).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/assets/{id}/variant/{variant}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/assets/{id}/variant/{variant}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/assets/{id}/variant/{variant} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"variant","in":"path"}],"responses":{"200":{"description":"Binary variant content (content type matches the stored file).","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Variant not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/asset-folders":{"get":{"tags":["Common"],"summary":"List asset folders","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/asset-folders', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/asset-folders'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/asset-folders \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"Filter by parent folder. Pass the literal string 'null' for root folders."},"required":false,"description":"Filter by parent folder. Pass the literal string 'null' for root folders.","name":"parentId","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetFolderListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Common"],"summary":"Create an asset folder","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/asset-folders', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/asset-folders'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/asset-folders \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetFolderCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetFolderResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/asset-folders/{id}":{"patch":{"tags":["Common"],"summary":"Update an asset folder","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/asset-folders/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/asset-folders/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/asset-folders/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetFolderUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssetFolder"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Common"],"summary":"Delete an asset folder","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/asset-folders/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/asset-folders/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/asset-folders/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids":{"get":{"tags":["Sender IDs"],"summary":"List sender IDs","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/sender-ids'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/sender-ids \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/SenderIdType"},"required":false,"name":"type","in":"query"},{"schema":{"$ref":"#/components/schemas/SenderIdStatus"},"required":false,"name":"status","in":"query"},{"schema":{"$ref":"#/components/schemas/SenderIdProvider"},"required":false,"name":"provider","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSenderIdsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Sender IDs"],"summary":"Create a sender ID","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSenderIdBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}":{"get":{"tags":["Sender IDs"],"summary":"Get a sender ID","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/sender-ids/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Sender IDs"],"summary":"Update a sender ID","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/sender-ids/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSenderIdBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Sender IDs"],"summary":"Delete a sender ID","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/sender-ids/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/activate":{"post":{"tags":["Sender IDs"],"summary":"Activate a sender ID","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/activate', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/activate'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/activate \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/suspend":{"post":{"tags":["Sender IDs"],"summary":"Suspend a sender ID","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/suspend', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/suspend'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/suspend \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/reactivate":{"post":{"tags":["Sender IDs"],"summary":"Reactivate a sender ID","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/reactivate', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/reactivate'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/reactivate \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/numbers/search":{"post":{"tags":["Sender IDs"],"summary":"Search sender ID numbers","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/numbers/search', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/numbers/search'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/numbers/search \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdNumberSearchBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdNumberSearchResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/numbers/purchase":{"post":{"tags":["Sender IDs"],"summary":"Purchase a sender ID number","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/numbers/purchase', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/numbers/purchase'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/numbers/purchase \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdPurchaseNumberBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseSenderIdNumberResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/numbers/import":{"post":{"tags":["Sender IDs"],"summary":"Import an owned sender ID number","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/numbers/import', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/numbers/import'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/numbers/import \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderIdImportNumberBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportSenderIdNumberResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/numbers/{id}/release":{"delete":{"tags":["Sender IDs"],"summary":"Release a sender ID number","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/numbers/{id}/release', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/sender-ids/numbers/{id}/release'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/sender-ids/numbers/{id}/release \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/numbers":{"get":{"tags":["Sender IDs"],"summary":"List purchased sender ID numbers","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/numbers', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/sender-ids/numbers'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/sender-ids/numbers \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"integer","minimum":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","enum":["INFOBIP","SIGNALMASH"]},"required":false,"name":"provider","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSenderIdNumbersResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/protocols":{"get":{"tags":["Sender IDs"],"summary":"List sender protocols","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/protocols', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/protocols'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/sender-ids/{id}/protocols \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListSenderProtocolsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Sender IDs"],"summary":"Enable a sender protocol","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/protocols', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/protocols'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/protocols \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnableSenderProtocolBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderProtocolResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/protocols/{type}":{"patch":{"tags":["Sender IDs"],"summary":"Update sender protocol config","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/protocols/{type}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/protocols/{type}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/sender-ids/{id}/protocols/{type} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"},{"schema":{"$ref":"#/components/schemas/SenderProtocolType"},"required":true,"name":"type","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSenderProtocolBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderProtocolResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Sender IDs"],"summary":"Disable a sender protocol","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/protocols/{type}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/protocols/{type}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/sender-ids/{id}/protocols/{type} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"},{"schema":{"$ref":"#/components/schemas/SenderProtocolType"},"required":true,"name":"type","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderProtocolResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/channels":{"get":{"tags":["Sender IDs"],"summary":"List channels","description":"Deprecated in favor of /v1/sender-ids (Sunset: 2026-09-01).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/channels'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/channels \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListChannelsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Sender IDs"],"summary":"Create a channel","description":"Deprecated in favor of /v1/sender-ids (Sunset: 2026-09-01).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/channels'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/channels \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateChannelBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelWithHealthResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/channels/{id}":{"get":{"tags":["Sender IDs"],"summary":"Get a channel","description":"Deprecated in favor of /v1/sender-ids (Sunset: 2026-09-01).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/channels/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/channels/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["Sender IDs"],"summary":"Update a channel","description":"Deprecated in favor of /v1/sender-ids (Sunset: 2026-09-01).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{id}', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/v1/channels/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/v1/channels/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChannelBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelWithHealthResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Sender IDs"],"summary":"Delete a channel","description":"Deprecated in favor of /v1/sender-ids (Sunset: 2026-09-01).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/channels/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/channels/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteChannelResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/channels/{id}/test":{"post":{"tags":["Sender IDs"],"summary":"Test a channel","description":"Deprecated in favor of /v1/sender-ids (Sunset: 2026-09-01).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{id}/test', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/channels/{id}/test'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/channels/{id}/test \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChannelHealth"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/channels/{channelId}/rcs/senders":{"get":{"tags":["Sender IDs"],"summary":"List RCS senders","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"channelId","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRcsSendersResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Sender IDs"],"summary":"Create an RCS sender","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"channelId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRcsSenderBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RcsSenderResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/channels/{channelId}/rcs/senders/{senderName}":{"get":{"tags":["Sender IDs"],"summary":"Get an RCS sender","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"channelId","in":"path"},{"schema":{"type":"string"},"required":true,"name":"senderName","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"sender":{"$ref":"#/components/schemas/RcsSender"}},"required":["sender"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices":{"post":{"tags":["Sender IDs"],"summary":"Add an RCS sender test device","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"channelId","in":"path"},{"schema":{"type":"string"},"required":true,"name":"senderName","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddRcsTestDeviceBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RcsTestDeviceResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"get":{"tags":["Sender IDs"],"summary":"List RCS sender test devices","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"channelId","in":"path"},{"schema":{"type":"string"},"required":true,"name":"senderName","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListRcsTestDevicesResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices/{phone}":{"delete":{"tags":["Sender IDs"],"summary":"Delete an RCS sender test device","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices/{phone}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices/{phone}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/channels/{channelId}/rcs/senders/{senderName}/test-devices/{phone} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"channelId","in":"path"},{"schema":{"type":"string"},"required":true,"name":"senderName","in":"path"},{"schema":{"type":"string"},"required":true,"name":"phone","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/launch":{"post":{"tags":["Submissions"],"summary":"Promote a tested RCS agent to go-live (LAUNCH_PENDING)","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/launch', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/launch'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/launch \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"The audited go-live gate: promotes an RCS agent from TESTING to LAUNCH_PENDING so it can then be submitted to the carrier. Idempotent if already LAUNCH_PENDING. Replies 400 for a non-RCS sender and 409 if the agent is not in the TESTING phase.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchSenderIdResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/submit":{"post":{"tags":["Submissions"],"summary":"Submit a sender ID for regulatory vetting","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/submit', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/submit'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/submit \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitSenderIdBody"}}}},"responses":{"200":{"description":"Submission accepted. On an upstream submission failure the route replies 502 with { senderId, submission: { status: \"failed\", error } }.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmitSenderIdResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/refresh-status":{"post":{"tags":["Submissions"],"summary":"Refresh submission status from the upstream registry","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/refresh-status', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/refresh-status'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/refresh-status \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshSenderIdStatusResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/brand/register":{"post":{"tags":["Submissions"],"summary":"Register a sender brand","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/brand/register', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/brand/register'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/brand/register \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterSenderBrandBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterSenderBrandResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/brand/status":{"get":{"tags":["Submissions"],"summary":"Get sender brand registration status","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/brand/status', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/brand/status'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/sender-ids/{id}/brand/status \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderBrandStatusResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/campaign/register":{"post":{"tags":["Submissions"],"summary":"Register a sender campaign","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/campaign/register', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/campaign/register'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/sender-ids/{id}/campaign/register \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterSenderCampaignBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterSenderCampaignResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/campaign/status":{"get":{"tags":["Submissions"],"summary":"Get sender campaign registration status","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/campaign/status', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/campaign/status'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/sender-ids/{id}/campaign/status \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderCampaignStatusResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/programs":{"get":{"tags":["Programs"],"summary":"List messaging programs","description":"Returns customer-safe brand/campaign program summaries, sender attachments, readiness, and next action without exposing provider names or internal routing identifiers.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/programs', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/programs'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/programs \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","enum":["DRAFT","ACTIVE","ARCHIVED"]},"required":false,"name":"status","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/programs/{id}":{"get":{"tags":["Programs"],"summary":"Get a messaging program","description":"Returns a customer-safe messaging program detail with current brand/campaign submission state and attached sender summary.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/programs/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/programs/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/programs/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/programs/{id}/status":{"get":{"tags":["Programs"],"summary":"Get messaging program status","description":"Returns readiness, required actions, next action, and current customer-visible status for a messaging program.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/programs/{id}/status', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/programs/{id}/status'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/programs/{id}/status \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProgramStatusResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/programs/{id}/senders":{"post":{"tags":["Programs"],"summary":"Attach a sender to a messaging program","description":"Attaches a same-account sender ID to a program as PRIMARY, FALLBACK, or TEST, validating protocol compatibility and preventing duplicate active attachments.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/programs/{id}/senders', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/programs/{id}/senders'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/programs/{id}/senders \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachProgramSenderBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachProgramSenderResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/programs/{id}/senders/{senderId}":{"delete":{"tags":["Programs"],"summary":"Detach a sender from a messaging program","description":"Detaches an active sender attachment from a messaging program while preserving the audit trail.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/programs/{id}/senders/{senderId}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/programs/{id}/senders/{senderId}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/programs/{id}/senders/{senderId} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"},{"schema":{"type":"string"},"required":true,"name":"senderId","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetachProgramSenderResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts":{"get":{"tags":["Blasts"],"summary":"List blasts","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/blasts'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/blasts \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","enum":["DRAFT","SCHEDULED","SENDING","DISPATCHED","SENT","FAILED","CANCELED"]},"required":false,"name":"status","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Blasts"],"summary":"Create a blast","description":"Creates a DRAFT blast. Provide exactly one content source (botId, contentJson, or variants), and at least one of segmentId or contactIds.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/blasts'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/blasts \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blast"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}":{"get":{"tags":["Blasts"],"summary":"Get a blast","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/blasts/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/blasts/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastDetail"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["Blasts"],"summary":"Update a blast","description":"Only DRAFT and SCHEDULED blasts can be edited.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/v1/blasts/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/v1/blasts/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blast"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Blasts"],"summary":"Delete a blast","description":"Only DRAFT blasts can be deleted.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/blasts/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/blasts/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"204":{"description":"Blast deleted (no content)"},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/content":{"put":{"tags":["Blasts"],"summary":"Update blast content","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/content', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/v1/blasts/{id}/content'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/v1/blasts/{id}/content \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastContentRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Blast"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/audience":{"put":{"tags":["Blasts"],"summary":"Update blast audience","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/audience', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/v1/blasts/{id}/audience'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/v1/blasts/{id}/audience \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastAudienceRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Blast"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/estimate":{"get":{"tags":["Blasts"],"summary":"Estimate blast delivery cost","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/estimate', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/blasts/{id}/estimate'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/blasts/{id}/estimate \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BlastEstimate"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/test":{"post":{"tags":["Blasts"],"summary":"Send a blast test message","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/test', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/blasts/{id}/test'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/blasts/{id}/test \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastTestRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BlastTestResponse"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/launch":{"post":{"tags":["Blasts"],"summary":"Launch a blast","description":"Launches a DRAFT blast: schedules it when scheduledAt is in the future, otherwise starts sending immediately.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/launch', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/blasts/{id}/launch'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/blasts/{id}/launch \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BlastLaunchResponse"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/progress":{"get":{"tags":["Blasts"],"summary":"Get blast progress","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/progress', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/blasts/{id}/progress'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/blasts/{id}/progress \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BlastProgress"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/send":{"post":{"tags":["Blasts"],"summary":"Send a blast immediately","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/send', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/blasts/{id}/send'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/blasts/{id}/send \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastTransitionResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/schedule":{"post":{"tags":["Blasts"],"summary":"Schedule a blast","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/schedule', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/blasts/{id}/schedule'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/blasts/{id}/schedule \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastScheduleRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastScheduleResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/cancel":{"post":{"tags":["Blasts"],"summary":"Cancel a blast","description":"Cancels a SCHEDULED, SENDING, or DISPATCHED blast.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/cancel', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/blasts/{id}/cancel'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/blasts/{id}/cancel \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastTransitionResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/blasts/{id}/stats":{"get":{"tags":["Blasts"],"summary":"Get blast statistics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/blasts/{id}/stats', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/blasts/{id}/stats'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/blasts/{id}/stats \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlastStats"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/bots":{"get":{"tags":["Bots"],"summary":"List bots","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/bots'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/bots \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"search","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Bots"],"summary":"Create a bot","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/bots'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/bots \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bot"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/bots/{id}":{"get":{"tags":["Bots"],"summary":"Get a bot","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/bots/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/bots/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bot"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["Bots"],"summary":"Update a bot","description":"Updates name, channel, or the draft flow. A changed draft flow bumps the version and records a revision; status transitions between PUBLISHED and MODIFIED based on whether the draft matches the published flow.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots/{id}', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/v1/bots/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/v1/bots/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bot"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Bots"],"summary":"Delete a bot","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/bots/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/bots/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"204":{"description":"Bot deleted"},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Bot not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/bots/{id}/publish":{"post":{"tags":["Bots"],"summary":"Publish a bot","description":"Validates the draft flow (must have nodes and a Start node and pass content validation) and copies it to the published flow. Validation failures return 400 with a validationErrors array.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots/{id}/publish', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/bots/{id}/publish'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/bots/{id}/publish \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Bot"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/bots/{id}/validate":{"post":{"tags":["Bots"],"summary":"Validate a bot flow","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots/{id}/validate', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/bots/{id}/validate'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/bots/{id}/validate \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotValidationResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/bots/{id}/revisions":{"get":{"tags":["Bots"],"summary":"List bot revisions","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots/{id}/revisions', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/bots/{id}/revisions'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/bots/{id}/revisions \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotRevisionListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/bots/{id}/testers":{"get":{"tags":["Bots"],"summary":"List bot testers and RCS invite status","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots/{id}/testers', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/bots/{id}/testers'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/bots/{id}/testers \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotTesterListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Bots"],"summary":"Add a bot tester and optionally send RCS opt-in invite","description":"Provide either contactId (existing contact) or phone (E.164; a contact is created or reused). When the bot is linked to a provider-managed RCS sender, an RCS test-device opt-in invite is sent unless sendRcsInvite is false.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/bots/{id}/testers', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/bots/{id}/testers'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/bots/{id}/testers \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotTesterAddRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotTesterAddResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/intents":{"get":{"tags":["Dictionaries"],"summary":"List intents","description":"Lists every intent in the organization, ordered by value.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/intents', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/intents'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/intents \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Dictionaries"],"summary":"Create an intent","description":"Creates a reusable postback intent. Returns 409 if the normalized value already exists for the organization.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/intents', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/intents'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/intents \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/intents/{id}":{"patch":{"tags":["Dictionaries"],"summary":"Update an intent","description":"Updates label, description, folder, or active state. The intent value (the postback token) is immutable after creation; attempting to change it returns 400 TOKEN_IMMUTABLE. Use the rewrite endpoint to rename a value across flows.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/intents/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/intents/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/intents/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Intent"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Dictionaries"],"summary":"Delete an intent","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/intents/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/intents/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/intents/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/intents/{id}/usage":{"get":{"tags":["Dictionaries"],"summary":"Get intent usage","description":"Where-used report: which bots and how many nodes reference this intent value across draft and published flows.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/intents/{id}/usage', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/intents/{id}/usage'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/intents/{id}/usage \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentUsageResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/intents/{id}/rewrite":{"post":{"tags":["Dictionaries"],"summary":"Rename an intent and rewrite flows","description":"Renames the intent value and rewrites every flow reference atomically. Returns 409 if another intent already uses the new value.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/intents/{id}/rewrite', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/intents/{id}/rewrite'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/intents/{id}/rewrite \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentRewriteRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryRewriteResult"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/variable-definitions":{"get":{"tags":["Dictionaries"],"summary":"List variable definitions","description":"Lists every variable definition in the organization, ordered by name.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/variable-definitions', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/variable-definitions'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/variable-definitions \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableDefinitionListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Dictionaries"],"summary":"Create a variable definition","description":"Creates a reusable data-capture variable. Returns 409 if the normalized name already exists for the organization.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/variable-definitions', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/variable-definitions'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/variable-definitions \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableDefinitionCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableDefinitionResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/variable-definitions/{id}":{"patch":{"tags":["Dictionaries"],"summary":"Update a variable definition","description":"Updates editable fields. The variable name (the capture token) is immutable after creation; attempting to change it returns 400 TOKEN_IMMUTABLE. Switching type away from list clears items.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/variable-definitions/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/variable-definitions/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/variable-definitions/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableDefinitionUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/VariableDefinition"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Dictionaries"],"summary":"Delete a variable definition","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/variable-definitions/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/variable-definitions/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/variable-definitions/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/variable-definitions/{id}/usage":{"get":{"tags":["Dictionaries"],"summary":"Get variable usage","description":"Where-used report: which bots and how many nodes capture into this variable across draft and published flows.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/variable-definitions/{id}/usage', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/variable-definitions/{id}/usage'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/variable-definitions/{id}/usage \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableUsageResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/variable-definitions/{id}/rewrite":{"post":{"tags":["Dictionaries"],"summary":"Rename a variable and rewrite flows","description":"Renames the variable and rewrites every data-capture node referencing it, atomically. Returns 409 if another variable already uses the new name.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/variable-definitions/{id}/rewrite', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/variable-definitions/{id}/rewrite'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/variable-definitions/{id}/rewrite \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariableRewriteRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryRewriteResult"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/dictionary-categories":{"get":{"tags":["Dictionaries"],"summary":"List dictionary folders","description":"Lists the org-wide folder taxonomy shared by the Intents and Variables dictionaries, ordered by sortOrder then name.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/dictionary-categories', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/dictionary-categories'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/dictionary-categories \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryCategoryListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Dictionaries"],"summary":"Create a dictionary folder","description":"Creates a folder. New folders sort to the end unless sortOrder is supplied. Returns 409 on a duplicate name.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/dictionary-categories', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/dictionary-categories'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/dictionary-categories \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryCategoryCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryCategoryResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/dictionary-categories/{id}":{"patch":{"tags":["Dictionaries"],"summary":"Update a dictionary folder","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/dictionary-categories/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/dictionary-categories/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/dictionary-categories/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryCategoryUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/DictionaryCategory"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Dictionaries"],"summary":"Delete a dictionary folder","description":"Deletes the folder and un-files its intents and variables (sets their categoryId to null). Never deletes the dictionary entries themselves.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/dictionary-categories/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/dictionary-categories/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/dictionary-categories/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/dictionary-categories/reorder":{"post":{"tags":["Dictionaries"],"summary":"Reorder dictionary folders","description":"Persists a new ordering in one transaction: sortOrder is rewritten to the array index. Ids not belonging to the organization are ignored. Returns the full reordered list.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/dictionary-categories/reorder', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/dictionary-categories/reorder'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/dictionary-categories/reorder \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryCategoryReorderRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DictionaryCategoryListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/sender-ids/{id}/voice-forwarding":{"get":{"tags":["Sender IDs"],"summary":"Get voice forwarding configuration","description":"Returns the inbound-voice call-forwarding configuration for a voice-capable sender ID. data is null when forwarding has never been configured.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"Sender ID id"},"required":true,"description":"Sender ID id","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceForwardingResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["Sender IDs"],"summary":"Set voice forwarding destination","description":"Enables inbound-call forwarding to the given destination number (US/CA destinations only) and syncs the change to the voice provider.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string","description":"Sender ID id"},"required":true,"description":"Sender ID id","name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceForwardingSetRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceForwardingResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Sender IDs"],"summary":"Disable voice forwarding","description":"Disables inbound-call forwarding for the sender ID and syncs the change to the voice provider. Returns the updated configuration.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/sender-ids/{id}/voice-forwarding \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"Sender ID id"},"required":true,"description":"Sender ID id","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceForwardingResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/mcp/config":{"get":{"tags":["MCP"],"summary":"Get MCP server configuration","description":"Returns the active MCP provider configuration for your platform. configured is false and data is null when no provider has been set up.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/mcp/config', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/mcp/config'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/mcp/config \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpConfigStatusResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["MCP"],"summary":"Save MCP server configuration","description":"Creates or updates the MCP provider configuration. baseUrl must be an https URL; credentials are encrypted at rest. Returns 422 when the organization has no platform mapping.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/mcp/config', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/v1/mcp/config'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/v1/mcp/config \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpConfigSaveRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpConfigResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/mcp/test":{"post":{"tags":["MCP"],"summary":"Test MCP server connectivity","description":"Runs a health check against the configured MCP server for one channel (when channelType is supplied) or all of RCS, WHATSAPP, and SMS. Returns 400 NOT_CONFIGURED when no provider is configured. WA is accepted as an alias for WHATSAPP.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/mcp/test', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/mcp/test'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/mcp/test \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpTestRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpTestResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts":{"get":{"tags":["Contacts"],"summary":"List contacts","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/contacts'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/contacts \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":["integer","null"]},"required":false,"name":"page","in":"query"},{"schema":{"type":["integer","null"]},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","description":"Match against contact name or phone."},"required":false,"description":"Match against contact name or phone.","name":"search","in":"query"},{"schema":{"type":"string","description":"Filter to contacts carrying this tag id."},"required":false,"description":"Filter to contacts carrying this tag id.","name":"tag","in":"query"},{"schema":{"type":"string","enum":["name","phone","createdAt"]},"required":false,"name":"sortBy","in":"query"},{"schema":{"type":"string","enum":["asc","desc"]},"required":false,"name":"sortOrder","in":"query"},{"schema":{"type":"string","enum":["true","false"],"description":"Filter by RCS capability."},"required":false,"description":"Filter by RCS capability.","name":"rcsCap","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Contacts"],"summary":"Create a contact","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/contacts'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/contacts \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contact"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/attribute-keys":{"get":{"tags":["Contacts"],"summary":"List distinct contact attribute keys","description":"Returns the distinct custom attribute keys present across the organization's contacts (capped at 500).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/attribute-keys', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/contacts/attribute-keys'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/contacts/attribute-keys \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactAttributeKeysResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/{id}":{"get":{"tags":["Contacts"],"summary":"Get a contact","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/contacts/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/contacts/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contact"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["Contacts"],"summary":"Update a contact","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/{id}', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/v1/contacts/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/v1/contacts/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Contact"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Contacts"],"summary":"Delete a contact","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/contacts/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/contacts/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactDeleteResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/{id}/consent":{"get":{"tags":["Contacts"],"summary":"Get contact consent history","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/{id}/consent', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/contacts/{id}/consent'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/contacts/{id}/consent \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ContactConsentSummary"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/{id}/rcs-check":{"get":{"tags":["Contacts"],"summary":"Check contact RCS capability","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/{id}/rcs-check', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/contacts/{id}/rcs-check'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/contacts/{id}/rcs-check \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactRcsCheckResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/bulk/tag":{"post":{"tags":["Contacts"],"summary":"Bulk-assign a tag to contacts","description":"Small batches are tagged synchronously (200). Large batches are queued as a background job (202).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/bulk/tag', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/contacts/bulk/tag'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/contacts/bulk/tag \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactBulkTagRequest"}}}},"responses":{"200":{"description":"Tag assigned synchronously","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactBulkTagSyncResponse"}}}},"202":{"description":"Background bulk tag job queued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactBulkTagJob"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Contacts"],"summary":"Bulk-remove a tag from contacts","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/bulk/tag', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/contacts/bulk/tag'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/contacts/bulk/tag \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactBulkTagRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactBulkUntagResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/bulk/tag/{jobId}":{"get":{"tags":["Contacts"],"summary":"Get bulk tag job status","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/bulk/tag/{jobId}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/contacts/bulk/tag/{jobId}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/contacts/bulk/tag/{jobId} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"jobId","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactBulkTagJob"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/import":{"post":{"tags":["Contacts"],"summary":"Create a contact import job","description":"Uploads a CSV (max 10MB) and queues a background import job.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/import', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/contacts/import'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/contacts/import \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"CSV file to import."},"columnMapping":{"type":"string","description":"JSON object mapping CSV columns: { \"phone\": \"<column>\", \"name\"?: \"<column>\", \"attributes\": { \"<key>\": \"<column>\" } }."},"duplicateStrategy":{"type":"string","enum":["skip","update","error"]}},"required":["file","columnMapping","duplicateStrategy"]}}}},"responses":{"202":{"description":"Import job queued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactImportJob"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/import/{jobId}":{"get":{"tags":["Contacts"],"summary":"Get a contact import job","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/import/{jobId}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/contacts/import/{jobId}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/contacts/import/{jobId} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"jobId","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactImportJob"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tags":{"get":{"tags":["Contacts"],"summary":"List contact tags","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/tags', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/tags'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/tags \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Contacts"],"summary":"Create a contact tag","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/tags', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/tags'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/tags \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagCreateResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/tags/{id}":{"delete":{"tags":["Contacts"],"summary":"Delete a contact tag","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/tags/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/tags/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/tags/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagDeleteResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/segments/preview":{"post":{"tags":["Contacts"],"summary":"Preview a segment audience","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/segments/preview', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/segments/preview'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/segments/preview \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentQueryRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentPreviewResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/segments/resolve":{"post":{"tags":["Contacts"],"summary":"Resolve a segment audience","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/segments/resolve', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/segments/resolve'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/segments/resolve \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentQueryRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SegmentResolveResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/compliance/dnc":{"get":{"tags":["Compliance"],"summary":"List DNC entries","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/compliance/dnc', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/compliance/dnc'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/compliance/dnc \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"Phone-number substring filter."},"required":false,"description":"Phone-number substring filter.","name":"search","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DncListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Compliance"],"summary":"Create a DNC entry","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/compliance/dnc', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/compliance/dnc'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/compliance/dnc \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DncCreateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DncCreateResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/compliance/dnc/batch":{"post":{"tags":["Compliance"],"summary":"Create DNC entries in batch","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/compliance/dnc/batch', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/compliance/dnc/batch'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/compliance/dnc/batch \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DncBatchRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DncBatchResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/compliance/dnc/{id}":{"delete":{"tags":["Compliance"],"summary":"Delete a DNC entry","description":"Requires brand admin or platform admin access.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/compliance/dnc/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/compliance/dnc/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/compliance/dnc/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/compliance/reports/{type}":{"get":{"tags":["Compliance"],"summary":"Generate a compliance report","description":"Downloads a consent, opt-outs, or DNC report as a CSV or JSON attachment.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/compliance/reports/{type}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/compliance/reports/{type}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/compliance/reports/{type} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","enum":["consent","opt-outs","dnc"]},"required":true,"name":"type","in":"path"},{"schema":{"type":"string"},"required":false,"name":"startDate","in":"query"},{"schema":{"type":"string"},"required":false,"name":"endDate","in":"query"},{"schema":{"type":"string","enum":["csv","json"],"default":"csv"},"required":false,"name":"format","in":"query"}],"responses":{"200":{"description":"Report file (Content-Disposition: attachment).","content":{"text/csv":{"schema":{"type":"string"}},"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":{}}}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Unknown report type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/compliance/override":{"post":{"tags":["Compliance"],"summary":"Create a compliance override","description":"Requires brand admin or platform admin access. Creates a 24-hour consent override and writes a ConsentAuditLog entry. DNC-listed contacts cannot be overridden (422).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/compliance/override', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/compliance/override'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/compliance/override \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceOverrideRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceOverrideResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/contacts/{id}/tcpa":{"patch":{"tags":["Compliance"],"summary":"Update TCPA settings for a contact","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/contacts/{id}/tcpa', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/contacts/{id}/tcpa'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/contacts/{id}/tcpa \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceTcpaUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceTcpaUpdateResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/content-rules":{"get":{"tags":["Compliance"],"summary":"List content rules","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/content-rules', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/content-rules'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/content-rules \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string"},"required":false,"name":"search","in":"query"},{"schema":{"type":"string","enum":["block","flag"]},"required":false,"name":"action","in":"query"},{"schema":{"type":"string","enum":["keyword","regex"]},"required":false,"name":"patternType","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRuleListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Compliance"],"summary":"Create a content rule","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/content-rules', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/content-rules'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/content-rules \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRuleCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRuleResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/content-rules/{id}":{"patch":{"tags":["Compliance"],"summary":"Update a content rule","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/content-rules/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/content-rules/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/content-rules/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRuleUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceContentRule"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Compliance"],"summary":"Delete a content rule","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/content-rules/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/content-rules/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/content-rules/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/keyword-rules":{"get":{"tags":["Compliance"],"summary":"List keyword rules","description":"Returns global rules merged with org-level custom rules and overrides. Not paginated.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/keyword-rules', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/keyword-rules'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/keyword-rules \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordRuleListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Compliance"],"summary":"Create a keyword rule","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/keyword-rules', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/keyword-rules'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/keyword-rules \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordRuleCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordRuleResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/keyword-rules/{id}":{"patch":{"tags":["Compliance"],"summary":"Update a keyword rule","description":"Global keyword rules cannot be edited directly (403).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/keyword-rules/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/keyword-rules/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/keyword-rules/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordRuleUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceKeywordRule"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Compliance"],"summary":"Delete a keyword rule","description":"Global keyword rules cannot be deleted (403).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/keyword-rules/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/keyword-rules/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/keyword-rules/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/whatsapp-templates":{"get":{"tags":["Templates"],"summary":"List approved WhatsApp message templates","description":"Lists templates registered for an active WhatsApp Business sender.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/whatsapp-templates', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/whatsapp-templates'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/whatsapp-templates \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"allOf":[{"$ref":"#/components/schemas/Id"},{"description":"Id of an ACTIVE WhatsApp Business sender."}]},"required":true,"description":"Id of an ACTIVE WhatsApp Business sender.","name":"senderId","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhatsAppTemplateList"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/conversations":{"get":{"tags":["Conversations"],"summary":"List conversations","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/conversations', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/conversations'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/conversations \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","enum":["BOT","HUMAN","CLOSED"]},"required":false,"name":"status","in":"query"},{"schema":{"type":"string"},"required":false,"name":"channelId","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/conversations/{id}":{"get":{"tags":["Conversations"],"summary":"Get a conversation","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/conversations/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/conversations/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/conversations/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDetail"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/conversations/{id}/messages":{"get":{"tags":["Conversations"],"summary":"List conversation messages","description":"Cursor-paginated, newest first. Pass `before` (a message id) to load older pages.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/conversations/{id}/messages', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/conversations/{id}/messages'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/conversations/{id}/messages \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":200,"default":50},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","description":"Message id to paginate backwards from."},"required":false,"description":"Message id to paginate backwards from.","name":"before","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationMessagesResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Conversations"],"summary":"Send a conversation message","description":"Sends a message into an existing conversation using its contact, channel, and sender ID.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/conversations/{id}/messages', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/conversations/{id}/messages'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/conversations/{id}/messages \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationSendMessageRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationSendMessageResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/conversations/{id}/session":{"get":{"tags":["Conversations"],"summary":"Get conversation session details","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/conversations/{id}/session', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/conversations/{id}/session'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/conversations/{id}/session \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ConversationSessionInfo"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/conversations/{id}/source":{"get":{"tags":["Conversations"],"summary":"Get conversation source","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/conversations/{id}/source', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/conversations/{id}/source'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/conversations/{id}/source \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ConversationSource"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/conversations/{id}/handoff":{"post":{"tags":["Conversations"],"summary":"Handoff a conversation","description":"Moves a BOT conversation to HUMAN and (by default) auto-assigns the next available agent.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/conversations/{id}/handoff', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/conversations/{id}/handoff'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/conversations/{id}/handoff \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationHandoffRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationHandoffResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/messages/send":{"post":{"tags":["Conversations"],"summary":"Send a direct message","description":"Sends an outbound message to a contact. Pass an optional `Idempotency-Key` header (printable ASCII, max 255 chars) to make retries replay the original response for 24h instead of double-sending. When `messageType` is omitted it defaults to MARKETING, which applies the strictest consent gates.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/messages/send', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/messages/send'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/messages/send \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string","description":"Optional idempotency key. Retries with the same key replay the original response for 24h."},"required":false,"description":"Optional idempotency key. Retries with the same key replay the original response for 24h.","name":"Idempotency-Key","in":"header"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageRequest"}}}},"responses":{"200":{"description":"Message accepted and dispatched","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Idempotency-Key conflict (in progress or reused with a different body)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/messages/preview":{"post":{"tags":["Conversations"],"summary":"Preview a rendered message","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/messages/preview', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/messages/preview'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/messages/preview \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewMessageRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewMessageResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/messages/{id}/revoke":{"post":{"tags":["Conversations"],"summary":"Revoke a sent message","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/messages/{id}/revoke', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/messages/{id}/revoke'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/messages/{id}/revoke \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeMessageResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/intents":{"get":{"tags":["Analytics"],"summary":"Get intent tap analytics","description":"Org-wide chip/postback tap counts per intent value over the range (default last 30 days), most-tapped first. Values are normalized (trimmed, lowercased) to line up with the Intents dictionary.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/intents', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/intents'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/intents \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"ISO date; defaults to 30 days before endDate."},"required":false,"description":"ISO date; defaults to 30 days before endDate.","name":"startDate","in":"query"},{"schema":{"type":"string","description":"ISO date; defaults to today (UTC)."},"required":false,"description":"ISO date; defaults to today (UTC).","name":"endDate","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsIntentsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/sessions":{"get":{"tags":["Analytics"],"summary":"Get session analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/sessions', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/sessions'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/sessions \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"ISO date; defaults to 30 days before endDate."},"required":false,"description":"ISO date; defaults to 30 days before endDate.","name":"startDate","in":"query"},{"schema":{"type":"string","description":"ISO date; defaults to today (UTC)."},"required":false,"description":"ISO date; defaults to today (UTC).","name":"endDate","in":"query"},{"schema":{"type":"string","enum":["source"],"description":"When set to source, timeline contains the per-source breakdown instead of the daily series."},"required":false,"description":"When set to source, timeline contains the per-source breakdown instead of the daily series.","name":"groupBy","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsSessionsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/overview":{"get":{"tags":["Analytics"],"summary":"Get analytics overview","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/overview', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/overview'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/overview \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"ISO date; defaults to 30 days before endDate."},"required":false,"description":"ISO date; defaults to 30 days before endDate.","name":"startDate","in":"query"},{"schema":{"type":"string","description":"ISO date; defaults to today (UTC)."},"required":false,"description":"ISO date; defaults to today (UTC).","name":"endDate","in":"query"},{"schema":{"type":"string","enum":["hour","day","week","month"],"description":"Trend bucket size; defaults to day. Hourly is limited to 7-day ranges, daily to 365-day ranges."},"required":false,"description":"Trend bucket size; defaults to day. Hourly is limited to 7-day ranges, daily to 365-day ranges.","name":"granularity","in":"query"},{"schema":{"type":"string","description":"Optional: narrow the overview to a single Brand within the caller org. Contacts and bot counts remain org-wide (no brand attribution)."},"required":false,"description":"Optional: narrow the overview to a single Brand within the caller org. Contacts and bot counts remain org-wide (no brand attribution).","name":"brandId","in":"query"},{"schema":{"type":"string","description":"Optional: narrow the overview to a single Campaign within the caller org. Contacts and bot counts remain org-wide (no campaign attribution)."},"required":false,"description":"Optional: narrow the overview to a single Campaign within the caller org. Contacts and bot counts remain org-wide (no campaign attribution).","name":"campaignId","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsOverviewResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/sender-ids":{"get":{"tags":["Analytics"],"summary":"List sender ID analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/sender-ids', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/sender-ids'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/sender-ids \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"ISO date; defaults to 30 days before endDate."},"required":false,"description":"ISO date; defaults to 30 days before endDate.","name":"startDate","in":"query"},{"schema":{"type":"string","description":"ISO date; defaults to today (UTC)."},"required":false,"description":"ISO date; defaults to today (UTC).","name":"endDate","in":"query"},{"schema":{"type":"string","description":"Optional: narrow sender ID summaries to a single Brand within the caller org."},"required":false,"description":"Optional: narrow sender ID summaries to a single Brand within the caller org.","name":"brandId","in":"query"},{"schema":{"type":"string","description":"Optional: narrow sender ID summaries to a single Campaign within the caller org."},"required":false,"description":"Optional: narrow sender ID summaries to a single Campaign within the caller org.","name":"campaignId","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsSenderListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/sender-ids/{id}":{"get":{"tags":["Analytics"],"summary":"Get sender ID analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/sender-ids/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/sender-ids/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/sender-ids/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","description":"ISO date; defaults to 30 days before endDate."},"required":false,"description":"ISO date; defaults to 30 days before endDate.","name":"startDate","in":"query"},{"schema":{"type":"string","description":"ISO date; defaults to today (UTC)."},"required":false,"description":"ISO date; defaults to today (UTC).","name":"endDate","in":"query"},{"schema":{"type":"string","enum":["hour","day","week","month"]},"required":false,"name":"granularity","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsSenderDetailResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/protocols":{"get":{"tags":["Analytics"],"summary":"Get protocol analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/protocols', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/protocols'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/protocols \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"ISO date; defaults to 30 days before endDate."},"required":false,"description":"ISO date; defaults to 30 days before endDate.","name":"startDate","in":"query"},{"schema":{"type":"string","description":"ISO date; defaults to today (UTC)."},"required":false,"description":"ISO date; defaults to today (UTC).","name":"endDate","in":"query"},{"schema":{"type":"string","description":"Optional: narrow protocol comparison to a single Brand within the caller org."},"required":false,"description":"Optional: narrow protocol comparison to a single Brand within the caller org.","name":"brandId","in":"query"},{"schema":{"type":"string","description":"Optional: narrow protocol comparison to a single Campaign within the caller org."},"required":false,"description":"Optional: narrow protocol comparison to a single Campaign within the caller org.","name":"campaignId","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsProtocolsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/bots/{id}/funnel":{"get":{"tags":["Analytics"],"summary":"Get bot funnel analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/bots/{id}/funnel', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/bots/{id}/funnel'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/bots/{id}/funnel \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","description":"ISO date; defaults to 30 days before endDate."},"required":false,"description":"ISO date; defaults to 30 days before endDate.","name":"startDate","in":"query"},{"schema":{"type":"string","description":"ISO date; defaults to today (UTC)."},"required":false,"description":"ISO date; defaults to today (UTC).","name":"endDate","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsBotFunnelResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/bots/{id}":{"get":{"tags":["Analytics"],"summary":"Get bot analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/bots/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/bots/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/bots/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsBotSummaryResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/blasts/{id}":{"get":{"tags":["Analytics"],"summary":"Get blast analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/blasts/{id}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/blasts/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/blasts/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"},{"schema":{"type":"string","enum":["minute","hour"],"description":"Timeline bucket size; defaults to hour."},"required":false,"description":"Timeline bucket size; defaults to hour.","name":"granularity","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsBlastResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/usage":{"get":{"tags":["Analytics"],"summary":"Get usage analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/usage', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/usage'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/usage \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","description":"ISO date; defaults to 30 days before endDate."},"required":false,"description":"ISO date; defaults to 30 days before endDate.","name":"startDate","in":"query"},{"schema":{"type":"string","description":"ISO date; defaults to today (UTC)."},"required":false,"description":"ISO date; defaults to today (UTC).","name":"endDate","in":"query"},{"schema":{"type":"string","enum":["day","month"],"description":"Time-series bucket size; defaults to day."},"required":false,"description":"Time-series bucket size; defaults to day.","name":"granularity","in":"query"},{"schema":{"type":"string","description":"Optional: narrow usage to a single Brand within the caller org."},"required":false,"description":"Optional: narrow usage to a single Brand within the caller org.","name":"brandId","in":"query"},{"schema":{"type":"string","description":"Optional: narrow usage to a single Campaign within the caller org."},"required":false,"description":"Optional: narrow usage to a single Campaign within the caller org.","name":"campaignId","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsUsageResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/export":{"post":{"tags":["Analytics"],"summary":"Create analytics export","description":"Starts an async CSV export (maximum 3 concurrent exports per organization; 429 when exceeded). Poll the returned downloadUrl: it responds 409 EXPORT_PENDING while the file is still being written.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/export', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/analytics/export'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/analytics/export \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsExportRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsExportResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/export/{id}/download":{"get":{"tags":["Analytics"],"summary":"Download analytics export","description":"Downloads the generated export as a CSV attachment. Responds 409 EXPORT_PENDING while the export is still processing and 404 once it expires.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/export/{id}/download', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/export/{id}/download'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/export/{id}/download \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"CSV file stream","content":{"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Export not found or expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Export is still processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/reports":{"get":{"tags":["Analytics"],"summary":"List analytics reports","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/reports', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/reports'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/reports \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsReportListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Analytics"],"summary":"Create analytics report","description":"Creates a scheduled email report (maximum 5 per organization). Weekly reports require dayOfWeek (0-6); monthly reports require dayOfMonth (1-28).","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/reports', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/analytics/reports'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/analytics/reports \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsReportCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsReportResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/reports/{id}":{"patch":{"tags":["Analytics"],"summary":"Update analytics report","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/reports/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/analytics/reports/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/analytics/reports/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsReportUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AnalyticsReport"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Analytics"],"summary":"Delete analytics report","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/reports/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/analytics/reports/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/analytics/reports/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string"},"required":true,"name":"id","in":"path"}],"responses":{"204":{"description":"Report deleted"},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Report not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/trends":{"get":{"tags":["Analytics"],"summary":"Get dashboard trend analytics","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/trends', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/trends'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/trends \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","enum":["7d","30d","90d"],"description":"Defaults to 30d."},"required":false,"description":"Defaults to 30d.","name":"period","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsTrendsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/analytics/top":{"get":{"tags":["Analytics"],"summary":"Get dashboard top performers","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/analytics/top', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/analytics/top'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/analytics/top \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsTopResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/reports/messages":{"get":{"tags":["Analytics"],"summary":"Export customer-scoped MO messages and MDR delivery receipts","description":"Returns customer-safe message report rows scoped to the API key organization. Use `format=csv` to download the same fields as a CSV. Backend provider names, DCA names, provider message IDs, and internal routing identifiers are not exposed.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/reports/messages', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/reports/messages'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/reports/messages \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"type":"string","enum":["all","mo","mdr"],"description":"Report slice. Use mdr for delivery receipts and mo for inbound mobile-originated messages."},"required":false,"description":"Report slice. Use mdr for delivery receipts and mo for inbound mobile-originated messages.","name":"kind","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","format":"date"}]},"required":false,"name":"start","in":"query"},{"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"string","format":"date"}]},"required":false,"name":"end","in":"query"},{"schema":{"type":"string","enum":["RCS","SMS","MMS","WA"]},"required":false,"name":"channel","in":"query"},{"schema":{"type":"string","enum":["RCS","SMS","MMS","WA"]},"required":false,"name":"actualChannel","in":"query"},{"schema":{"type":"string"},"required":false,"name":"status","in":"query"},{"schema":{"type":"string"},"required":false,"name":"senderId","in":"query"},{"schema":{"type":"string"},"required":false,"name":"carrier","in":"query"},{"schema":{"type":"string"},"required":false,"name":"brand","in":"query"},{"schema":{"type":"string","description":"Internal Campaign.id exposed as the customer-facing program identifier."},"required":false,"description":"Internal Campaign.id exposed as the customer-facing program identifier.","name":"programId","in":"query"},{"schema":{"type":"string"},"required":false,"name":"campaign","in":"query"},{"schema":{"type":"string","enum":["primary","fallback"]},"required":false,"name":"fallback","in":"query"},{"schema":{"type":"string","enum":["createdAt","receiptAt","direction","channel","actualChannel","fallbackReason","attemptCount","status","carrier","sender","contact","brand","program","campaign"]},"required":false,"name":"sort","in":"query"},{"schema":{"type":"string","enum":["asc","desc"]},"required":false,"name":"dir","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":1000},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","enum":["json","csv"]},"required":false,"name":"format","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageReportResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/webhook-endpoints":{"get":{"tags":["Webhooks"],"summary":"List webhook endpoints","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/webhook-endpoints', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/webhook-endpoints'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/webhook-endpoints \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWebhookEndpointsResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Webhooks"],"summary":"Create a webhook endpoint","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/webhook-endpoints', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"url\": \"https://example.com/webhooks/rcs\", \"events\": [\"message.received\"] })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/webhook-endpoints'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'url': 'https://example.com/webhooks/rcs', 'events': ['message.received'] }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/webhook-endpoints \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"url\": \"https://example.com/webhooks/rcs\", \"events\": [\"message.received\"] }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookEndpointBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookEndpointResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/webhook-endpoints/{id}":{"patch":{"tags":["Webhooks"],"summary":"Update a webhook endpoint","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/webhook-endpoints/{id}', {\n  method: 'PATCH',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"url\": \"https://example.com/webhooks/rcs\", \"events\": [\"message.received\"] })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.patch(\n    'https://api.simplyrcs.com/v1/webhook-endpoints/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'url': 'https://example.com/webhooks/rcs', 'events': ['message.received'] }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PATCH https://api.simplyrcs.com/v1/webhook-endpoints/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"url\": \"https://example.com/webhooks/rcs\", \"events\": [\"message.received\"] }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookEndpointBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WebhookEndpoint"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Webhooks"],"summary":"Delete a webhook endpoint","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/webhook-endpoints/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/webhook-endpoints/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/webhook-endpoints/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/webhook-endpoints/{id}/test":{"post":{"tags":["Webhooks"],"summary":"Send a test webhook delivery","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/webhook-endpoints/{id}/test', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"url\": \"https://example.com/webhooks/rcs\", \"events\": [\"message.received\"] })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/webhook-endpoints/{id}/test'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'url': 'https://example.com/webhooks/rcs', 'events': ['message.received'] }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/webhook-endpoints/{id}/test \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"url\": \"https://example.com/webhooks/rcs\", \"events\": [\"message.received\"] }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestWebhookBody"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WebhookTestResult"}},"required":["data"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/webhook-endpoints/{id}/deliveries":{"get":{"tags":["Webhooks"],"summary":"List webhook delivery attempts","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/webhook-endpoints/{id}/deliveries', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/webhook-endpoints/{id}/deliveries'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/webhook-endpoints/{id}/deliveries \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"},{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":20},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListWebhookDeliveriesResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/api-keys":{"get":{"tags":["API Keys"],"summary":"List API keys","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/api-keys', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/v1/api-keys'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/v1/api-keys \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListApiKeysResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["API Keys"],"summary":"Create an API key","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/api-keys', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Production integration\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/api-keys'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Production integration' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/api-keys \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Production integration\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyBody"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/api-keys/{id}":{"delete":{"tags":["API Keys"],"summary":"Revoke an API key","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/api-keys/{id}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/v1/api-keys/{id}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/v1/api-keys/{id} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/api-keys/{id}/rotate":{"post":{"tags":["API Keys"],"summary":"Rotate an API key secret","description":"Rotates the key secret in place: keeps the same id, name, access scope, and expiry. A new secret and prefix are minted and the old secret stops authenticating immediately. If an expiresAt was set at creation the rotated key inherits that expiry unchanged; to change expiry, revoke and create a new key.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/api-keys/{id}/rotate', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Production integration\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/api-keys/{id}/rotate'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Production integration' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/api-keys/{id}/rotate \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Production integration\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RotateApiKeyResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/events":{"post":{"tags":["Events"],"summary":"Create an event-triggered message","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/events', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/events'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/events \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventTriggerRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventResult"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/events/batch":{"post":{"tags":["Events"],"summary":"Create event-triggered messages in batch","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/events/batch', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/events/batch'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/events/batch \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventBatchRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventBatchResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/acquisition/{campaignId}/enroll":{"post":{"tags":["Events"],"summary":"Enroll a contact via acquisition campaign","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/v1/acquisition/{campaignId}/enroll', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/v1/acquisition/{campaignId}/enroll'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/v1/acquisition/{campaignId}/enroll \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"campaignId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionEnrollRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionEnrollResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/acquisition-campaigns":{"get":{"tags":["Events"],"summary":"List acquisition campaigns","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/acquisition-campaigns', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/acquisition-campaigns'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/acquisition-campaigns \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/AcquisitionCampaignStatus"},"required":false,"name":"status","in":"query"},{"schema":{"$ref":"#/components/schemas/AcquisitionCampaignType"},"required":false,"name":"type","in":"query"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionCampaignListResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Events"],"summary":"Create acquisition campaign","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/acquisition-campaigns', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/acquisition-campaigns'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/acquisition-campaigns \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionCampaignCreateRequest"}}}},"responses":{"201":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionCampaign"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/acquisition-campaigns/{campaignId}":{"get":{"tags":["Events"],"summary":"Get acquisition campaign","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/acquisition-campaigns/{campaignId}', {\n  method: 'GET',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.get(\n    'https://api.simplyrcs.com/acquisition-campaigns/{campaignId}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X GET https://api.simplyrcs.com/acquisition-campaigns/{campaignId} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"campaignId","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionCampaignDetail"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["Events"],"summary":"Update acquisition campaign","description":"type, listId, keyword, and shortcode are immutable.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/acquisition-campaigns/{campaignId}', {\n  method: 'PUT',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.put(\n    'https://api.simplyrcs.com/acquisition-campaigns/{campaignId}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X PUT https://api.simplyrcs.com/acquisition-campaigns/{campaignId} \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"campaignId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionCampaignUpdateRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionCampaign"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Events"],"summary":"Delete acquisition campaign","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/acquisition-campaigns/{campaignId}', {\n  method: 'DELETE',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY'\n  }\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.delete(\n    'https://api.simplyrcs.com/acquisition-campaigns/{campaignId}'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X DELETE https://api.simplyrcs.com/acquisition-campaigns/{campaignId} \\\n  -H 'Authorization: Bearer YOUR_API_KEY'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"campaignId","in":"path"}],"responses":{"204":{"description":"Campaign deleted (no content)."},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Campaign not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/acquisition-campaigns/{campaignId}/generate-qr":{"post":{"tags":["Events"],"summary":"Generate acquisition campaign QR code","description":"No request body.","security":[{"bearerAuth":[]},{"apiKeyAuth":[]}],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/acquisition-campaigns/{campaignId}/generate-qr', {\n  method: 'POST',\n  headers: {\n    'Authorization': 'Bearer YOUR_API_KEY',\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/acquisition-campaigns/{campaignId}/generate-qr'\n    headers={'Authorization': 'Bearer YOUR_API_KEY'}\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/acquisition-campaigns/{campaignId}/generate-qr \\\n  -H 'Authorization: Bearer YOUR_API_KEY' \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"campaignId","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionCampaignQrResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/public/acquisition/{campaignId}/enroll":{"post":{"tags":["Events"],"summary":"Public acquisition enrollment","description":"Public, CORS-enabled enrollment for web forms and QR codes. Rate limited to 10 requests/minute per IP.","security":[],"x-codeSamples":[{"lang":"JavaScript","label":"fetch","source":"const response = await fetch('https://api.simplyrcs.com/public/acquisition/{campaignId}/enroll', {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json'\n  },\n  body: JSON.stringify({ \"name\": \"Example request\" })\n});\nconst result = await response.json();"},{"lang":"Python","label":"requests","source":"import requests\n\nresponse = requests.post(\n    'https://api.simplyrcs.com/public/acquisition/{campaignId}/enroll'\n    json={ 'name': 'Example request' }\n)\nresult = response.json()"},{"lang":"cURL","label":"curl","source":"curl -X POST https://api.simplyrcs.com/public/acquisition/{campaignId}/enroll \\\n  -H 'Content-Type: application/json' \\\n  -d '{ \"name\": \"Example request\" }'"}],"parameters":[{"schema":{"$ref":"#/components/schemas/Id"},"required":true,"name":"campaignId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionEnrollRequest"}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcquisitionPublicEnrollResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"webhooks":{}}