/api/v1/public/audiencesList audiences
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional |
Returns 200 with a page of AudienceDto in data, with pagination.
Loading…
Every public API operation, generated from the OpenAPI contract, version 1.3.1. Paths are relative to https://api.senpede.com. Every call needs an API key or OAuth token, and errors use the standard envelope.
/api/v1/public/audiences| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional |
Returns 200 with a page of AudienceDto in data, with pagination.
/api/v1/public/audiences| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Required | |
| description | string | Optional |
Returns 201 with AudienceDto in data.
/api/v1/public/audiences/{audienceId}| Name | Type | Required | Description |
|---|---|---|---|
| audienceId | string | Required |
Returns 200 with AudienceDto in data.
/api/v1/public/audiences/{audienceId}| Name | Type | Required | Description |
|---|---|---|---|
| audienceId | string | Required |
Returns 204 and no body.
/api/v1/public/audiences/{audienceId}/members| Name | Type | Required | Description |
|---|---|---|---|
| audienceId | string | Required | |
| page | number | Optional | |
| pageSize | number | Optional |
Returns 200 with a page of AudienceMemberDto in data, with pagination.
/api/v1/public/audiences/{audienceId}/membersBy Senpede id, your own externalRef, or both. Any unknown contact fails the whole call; contacts already in the audience are left as they are.
| Name | Type | Required | Description |
|---|---|---|---|
| audienceId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| contactIds | string[] | Optional | |
| externalRefs | string[] | Optional |
Returns 200 with AudienceMembersAddedDto in data.
/api/v1/public/audiences/{audienceId}/members/{contactId}| Name | Type | Required | Description |
|---|---|---|---|
| audienceId | string | Required | |
| contactId | string | Required |
Returns 204 and no body.
/api/v1/public/broadcasts| Name | Type | Required | Description |
|---|---|---|---|
| sendWindowMode | "ORGANIZATION" | "CUSTOM" | "NONE" | Optional | |
| sendWindow | SendWindowInputDto | null | Optional | |
| name | string | Required | |
| description | string | Optional | |
| type | "MARKETING" | "TRANSACTIONAL" | "INFORMATIONAL" | "OPERATIONAL" | "CUSTOMER_SUCCESS" | Optional | |
| channelId | string | Required | |
| templateId | string | Optional | |
| message | string | Required | |
| subject | string | Optional | |
| messageHtml | string | Optional | |
| recipients | BroadcastRecipientDto[] | Required |
Returns 201 with BroadcastDto in data.
/api/v1/public/campaigns| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional | |
| status | "DRAFT" | "PENDING_APPROVAL" | "APPROVED" | "SCHEDULED" | "EXECUTING" | "PAUSED" | … | Optional |
Returns 200 with a page of CampaignDto in data, with pagination.
/api/v1/public/campaigns| Name | Type | Required | Description |
|---|---|---|---|
| sendWindowMode | "ORGANIZATION" | "CUSTOM" | "NONE" | Optional | |
| sendWindow | SendWindowInputDto | null | Optional | |
| name | string | Required | |
| description | string | Optional | |
| type | "MARKETING" | "TRANSACTIONAL" | "INFORMATIONAL" | "OPERATIONAL" | "CUSTOMER_SUCCESS" | Optional | |
| audienceId | string | Required | |
| channelId | string | Optional | |
| templateId | string | Optional | |
| message | string | Required | |
| subject | string | Optional | |
| messageHtml | string | Optional | |
| trackLinks | boolean | Optional |
Returns 201 with CampaignDto in data.
/api/v1/public/campaigns/{campaignId}| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required |
Returns 200 with CampaignDetailDto in data.
/api/v1/public/campaigns/{campaignId}| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| sendWindowMode | "ORGANIZATION" | "CUSTOM" | "NONE" | Optional | |
| sendWindow | SendWindowInputDto | null | Optional | |
| name | string | Optional | |
| description | string | Optional | |
| type | "MARKETING" | "TRANSACTIONAL" | "INFORMATIONAL" | "OPERATIONAL" | "CUSTOMER_SUCCESS" | Optional | |
| audienceId | string | Optional | |
| channelId | string | Optional | |
| templateId | string | Optional | |
| message | string | Optional | |
| subject | string | Optional | |
| messageHtml | string | Optional | |
| trackLinks | boolean | Optional |
Returns 200 with CampaignDto in data.
/api/v1/public/campaigns/{campaignId}/cancel| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| reason | string | Optional |
Returns 200 with CampaignDto in data.
/api/v1/public/campaigns/{campaignId}/messages| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required | |
| page | number | Optional | |
| pageSize | number | Optional | |
| status | "PENDING" | "SENT" | "FAILED" | "SKIPPED" | Optional |
Returns 200 with a page of CampaignMessageDto in data, with pagination.
/api/v1/public/campaigns/{campaignId}/messages/{messageId}| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required | |
| messageId | string | Required |
Returns 200 with CampaignMessageDto in data.
/api/v1/public/campaigns/{campaignId}/pause| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| reason | string | Optional |
Returns 200 with CampaignDto in data.
/api/v1/public/campaigns/{campaignId}/resume| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required |
Returns 200 with CampaignDto in data.
/api/v1/public/campaigns/{campaignId}/schedule| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| scheduledAt | string | Required | |
| recurrence | object | Optional |
Returns 200 with CampaignDto in data.
/api/v1/public/campaigns/{campaignId}/submit| Name | Type | Required | Description |
|---|---|---|---|
| campaignId | string | Required |
Returns 200 with CampaignDto in data.
/api/v1/public/consent-assertionsEach item is resolved and recorded on its own; the response has one result per item. A GRANTED is refused (conflict) when the contact withdrew after capturedAt. Suppressions are never lifted and are listed in blockedBy.
| Name | Type | Required | Description |
|---|---|---|---|
| assertions | ConsentAssertionDto[] | Required |
Returns 200 with ConsentAssertionResultDto[] in data.
/api/v1/public/contacts/{contactId}/consent| Name | Type | Required | Description |
|---|---|---|---|
| contactId | string | Required |
Returns 200 with ContactConsentStateDto in data.
/api/v1/public/suppressions| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional |
Returns 200 with a page of SuppressionDto in data, with pagination.
/api/v1/public/contacts| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional | |
| status | "ACTIVE" | "ARCHIVED" | Optional | |
| q | string | Optional |
Returns 200 with a page of ContactDto in data, with pagination.
/api/v1/public/contacts| Name | Type | Required | Description |
|---|---|---|---|
| fullName | string | Required | |
string (email) | Optional | ||
| phone | string | Optional | |
| externalRef | string | Optional | |
| preferredLanguage | string | Optional | |
| timeZone | string | Optional | |
| tags | string[] | Optional | |
| customFields | object | Optional | |
| notes | string | Optional |
Returns 201 with ContactDto in data.
/api/v1/public/contacts/{contactId}| Name | Type | Required | Description |
|---|---|---|---|
| contactId | string | Required |
Returns 200 with ContactDto in data.
/api/v1/public/contacts/{contactId}| Name | Type | Required | Description |
|---|---|---|---|
| contactId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| fullName | string | Optional | |
string (email) | Optional | ||
| phone | string | Optional | |
| externalRef | string | Optional | |
| preferredLanguage | string | Optional | |
| timeZone | string | Optional | |
| tags | string[] | Optional | |
| customFields | object | Optional | |
| notes | string | Optional |
Returns 200 with ContactDto in data.
/api/v1/public/contacts/{contactId}Archived contacts are left out of audiences and sends but keep their history. Restore with POST …/restore. To remove personal data, request erasure instead.
| Name | Type | Required | Description |
|---|---|---|---|
| contactId | string | Required |
Returns 200 with ContactDto in data.
/api/v1/public/contacts/{contactId}/erasureSchedules anonymization after the grace period (30 days), during which a member can cancel it in the dashboard. Message history is kept without personal data.
| Name | Type | Required | Description |
|---|---|---|---|
| contactId | string | Required |
Returns 202 with ContactErasureDto in data.
/api/v1/public/contacts/{contactId}/restore| Name | Type | Required | Description |
|---|---|---|---|
| contactId | string | Required |
Returns 200 with ContactDto in data.
/api/v1/public/contacts/by-ref/{externalRef}Matches by externalRef, then by email (adopting a contact that has no reference yet). Sent fields replace stored ones; omitted fields are kept. 201 when created, 200 when updated. An archived contact is updated but stays archived. Inline `consent` is recorded like POST /public/consent-assertions and needs consent:write.
| Name | Type | Required | Description |
|---|---|---|---|
| externalRef | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| fullName | string | Optional | |
string (email) | Optional | ||
| phone | string | Optional | |
| preferredLanguage | string | Optional | |
| timeZone | string | Optional | |
| tags | string[] | Optional | |
| customFields | object | Optional | |
| notes | string | Optional | |
| consent | ConsentStatementDto[] | Optional |
Returns 200 with UpsertContactDto in data.
/api/v1/public/contacts/importsRows match existing contacts by externalRef, then email. UPSERT (default) updates matches; CREATE_ONLY skips them. Rows that fail are skipped with a reason; the rest are imported.
| Name | Type | Required | Description |
|---|---|---|---|
| rows | ContactImportRowDto[] | Required | |
| mode | "CREATE_ONLY" | "UPSERT" | Optional | |
| attestedAcceptableUse | boolean | Required |
Returns 202 with ContactImportDto in data.
/api/v1/public/contacts/imports/{importId}| Name | Type | Required | Description |
|---|---|---|---|
| importId | string | Required |
Returns 200 with ContactImportDto in data.
/api/v1/public/journey-enrollments/{enrollmentId}| Name | Type | Required | Description |
|---|---|---|---|
| enrollmentId | string | Required |
Returns 200 with JourneyEnrollmentDto in data.
/api/v1/public/journey-enrollments/{enrollmentId}/exitStops the enrollment before its next step. Exiting an enrollment that already exited returns it unchanged; a completed one cannot be exited (409). Messages a step already queued are not recalled.
| Name | Type | Required | Description |
|---|---|---|---|
| enrollmentId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| reason | string | Optional |
Returns 200 with JourneyEnrollmentDto in data.
/api/v1/public/journeys| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional | |
| status | "DRAFT" | "PUBLISHED" | "PAUSED" | "ARCHIVED" | Optional |
Returns 200 with a page of JourneyDto in data, with pagination.
/api/v1/public/journeys/{journeyId}| Name | Type | Required | Description |
|---|---|---|---|
| journeyId | string | Required |
Returns 200 with JourneyDto in data.
/api/v1/public/journeys/{journeyId}/enrollments| Name | Type | Required | Description |
|---|---|---|---|
| journeyId | string | Required | |
| page | number | Optional | |
| pageSize | number | Optional | |
| contactId | string | Optional | Only this contact’s enrollments. |
| status | "ACTIVE" | "COMPLETED" | "EXITED" | Optional |
Returns 200 with a page of JourneyEnrollmentDto in data, with pagination.
/api/v1/public/journeys/{journeyId}/enrollmentsThe journey must be PUBLISHED. Identify the contact by contactId, externalRef or email; archived contacts are not found. 201 when a new enrollment starts. 200 with the existing enrollment when the contact is already in the journey, or already finished it and the journey does not allow re-entry — safe to retry.
| Name | Type | Required | Description |
|---|---|---|---|
| journeyId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| contact | ContactReferenceDto | Required |
Returns 200 with EnrollContactResultDto in data.
/api/v1/public/messages| Name | Type | Required | Description |
|---|---|---|---|
| to | ContactReferenceDto | Required | |
| channelId | string | Required | |
| templateId | string | Optional | |
| message | string | Optional | |
| reference | string | Optional | |
| respectSendWindow | boolean | Optional |
Returns 201 with MessageDto in data.
/api/v1/public/messages/{messageId}| Name | Type | Required | Description |
|---|---|---|---|
| messageId | string | Required |
Returns 200 with MessageDto in data.
/api/v1/public/sandbox/messages| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional |
Returns 200 with a page of SandboxCapturedMessageDto in data, with pagination.
/api/v1/public/sandbox/messages/{messageId}/eventsThe event is handled like a real provider callback: the message status, the contact’s consent and your webhooks all change as they would live. `messageId` is a campaign message (`cmsg_…`) or single message (`cntf_…`) id.
| Name | Type | Required | Description |
|---|---|---|---|
| messageId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| type | "delivered" | "read" | "failed" | "replied" | "opted_out" | Required | |
| text | string | Optional | |
| failureReason | string | Optional |
Returns 202 with SandboxEventDto in data.
/api/v1/public/channels| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional |
Returns 200 with a page of ChannelDto in data, with pagination.
/api/v1/public/templates| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional | |
| status | "DRAFT" | "APPROVED" | "ARCHIVED" | Optional | |
| channelType | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | Optional |
Returns 200 with a page of TemplateDto in data, with pagination.
/api/v1/public/organizations| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional | |
| status | "ACTIVE" | "SUSPENDED" | "DEACTIVATED" | Optional | |
| externalRef | string | Optional | Find the tenant with this externalRef. |
Returns 200 with a page of TenantOrganizationDto in data, with pagination.
/api/v1/public/organizationsPartners only. 201 when created; 200 with the existing tenant when one with this externalRef already exists — safe to retry. The tenant bills through the partner, has no members, and starts one trust tier below the partner.
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Required | |
| externalRef | string | Optional | |
| country | string | Optional |
Returns 200 with CreateTenantOrganizationResultDto in data.
/api/v1/public/organizations/{organizationId}| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string | Required |
Returns 200 with TenantOrganizationDto in data.
/api/v1/public/organizations/{organizationId}| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Optional | |
| externalRef | string | null | Optional |
Returns 200 with TenantOrganizationDto in data.
/api/v1/public/organizations/{organizationId}/invitationsReturns an acceptUrl for you to send to them; Senpede does not email it. Any role but owner; defaults to admin.
| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| role | "admin" | "manager" | "campaign_manager" | "analyst" | "billing_manager" | "viewer" | Optional | |
string (email) | Required |
Returns 201 with TenantInvitationDto in data.
/api/v1/public/usageFigures come from the same ledger sends reserve against, so they include sends in progress (`pending`). Organizations without a plan (the free trial) have no allowances listed.
Returns 200 with UsageSummaryDto in data.
/api/v1/public/usage/tenantsHow much of the partner's shared allowance each tenant used, by usage type — the breakdown behind the partner's own totals. Tenants that used nothing are left out.
Returns 200 with TenantUsageSummaryDto in data.
/api/v1/public/webhook-endpointsReturns 200 with WebhookEndpointDto[] in data.
/api/v1/public/webhook-endpoints| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Required | |
| description | string | Optional | |
| eventTypes | "message.sent" | "message.delivered" | "message.read" | "message.replied" | "message.clicked" | "message.failed" | …[] | Required | |
| includeTenantEvents | boolean | Optional |
Returns 201 with WebhookEndpointWithSecretDto in data.
/api/v1/public/webhook-endpoints/{endpointId}| Name | Type | Required | Description |
|---|---|---|---|
| endpointId | string | Required |
Returns 200 with WebhookEndpointDto in data.
/api/v1/public/webhook-endpoints/{endpointId}| Name | Type | Required | Description |
|---|---|---|---|
| endpointId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Optional | |
| description | string | Optional | |
| eventTypes | "message.sent" | "message.delivered" | "message.read" | "message.replied" | "message.clicked" | "message.failed" | …[] | Optional | |
| enabled | boolean | Optional | |
| includeTenantEvents | boolean | Optional |
Returns 200 with WebhookEndpointDto in data.
/api/v1/public/webhook-endpoints/{endpointId}| Name | Type | Required | Description |
|---|---|---|---|
| endpointId | string | Required |
Returns 204 and no body.
/api/v1/public/webhook-endpoints/{endpointId}/deliveries| Name | Type | Required | Description |
|---|---|---|---|
| endpointId | string | Required | |
| page | number | Optional | |
| pageSize | number | Optional | |
| status | "PENDING" | "SUCCEEDED" | "FAILED" | "DEAD" | Optional |
Returns 200 with a page of WebhookDeliveryDto in data, with pagination.
/api/v1/public/webhook-endpoints/{endpointId}/deliveries/{deliveryId}/replay| Name | Type | Required | Description |
|---|---|---|---|
| endpointId | string | Required | |
| deliveryId | string | Required |
Returns 202 with WebhookDeliveryDto in data.
/api/v1/public/webhook-endpoints/{endpointId}/rotate-secret| Name | Type | Required | Description |
|---|---|---|---|
| endpointId | string | Required |
Returns 200 with WebhookEndpointWithSecretDto in data.
/api/v1/public/webhook-endpoints/{endpointId}/test| Name | Type | Required | Description |
|---|---|---|---|
| endpointId | string | Required |
Returns 202 with WebhookDeliveryDto in data.
/api/v1/oauth/tokenExchange an OAuth client’s client_id and client_secret for a bearer token for /public/* routes. Send `grant_type=client_credentials`, and optionally `scope` (space-separated) to narrow the token. Authenticate with HTTP Basic or with client_id and client_secret in the body.
objectNo fields.
Returns 200 with object in data.
The request and response shapes the operations above refer to.
| Name | Type | Required | Description |
|---|---|---|---|
| error | object | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| assertions | ConsentAssertionDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| type | "STATIC" | "DYNAMIC" | Required | STATIC audiences list their members; DYNAMIC ones match contacts by criteria and are read-only here. |
| criteria | object | null | Required | Matching rules of a DYNAMIC audience; null for STATIC. |
| id | string | Required | |
| name | string | Required | |
| description | string | null | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | AudienceDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | |
| fullName | string | Required | |
string | null | Required | ||
| phone | string | null | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | AudienceMemberDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| added | number | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | AudienceMembersAddedDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | AudienceDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| campaign | CampaignDto | Required | |
| audienceId | string | Required | |
| recipients | BroadcastRecipientResultDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| contactId | string | Optional | |
| externalRef | string | Optional | |
string (email) | Optional | ||
| phone | string | Optional | |
| fullName | string | Optional | |
| preferredLanguage | string | Optional | |
| timeZone | string | Optional | |
| customFields | object | Optional | |
| consent | ConsentStatementDto[] | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| resolution | "contactId" | "externalRef" | "email" | "created" | Required | |
| index | number | Required | |
| contactId | string | Required | |
| consent | ConsentAssertionResultDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | BroadcastDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| PENDING | number | Required | |
| SENT | number | Required | |
| FAILED | number | Required | |
| SKIPPED | number | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| type | "MARKETING" | "TRANSACTIONAL" | "INFORMATIONAL" | "OPERATIONAL" | "CUSTOMER_SUCCESS" | Required | |
| sendWindowMode | "ORGANIZATION" | "CUSTOM" | "NONE" | Required | |
| sendWindow | SendWindowInputDto | null | Required | |
| status | "DRAFT" | "PENDING_APPROVAL" | "APPROVED" | "SCHEDULED" | "EXECUTING" | "PAUSED" | … | Required | |
| recurrenceRule | object | null | Required | Recurrence rule when the campaign repeats; null for a one-off send. |
| id | string | Required | |
| name | string | Required | |
| description | string | null | Required | |
| audienceId | string | Required | |
| channelId | string | null | Required | |
| templateId | string | null | Required | |
| message | string | Required | |
| subject | string | null | Required | |
| messageHtml | string | null | Required | |
| trackLinks | boolean | Required | |
| scheduledAt | string (date-time) | null | Required | |
| approvedAt | string (date-time) | null | Required | |
| startedAt | string (date-time) | null | Required | |
| pausedAt | string (date-time) | null | Required | |
| completedAt | string (date-time) | null | Required | |
| cancelledAt | string (date-time) | null | Required | |
| cycleSeq | number | Required | |
| occurrenceCount | number | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required | |
| history | CampaignHistoryEntryDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | CampaignDetailDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| type | "MARKETING" | "TRANSACTIONAL" | "INFORMATIONAL" | "OPERATIONAL" | "CUSTOMER_SUCCESS" | Required | |
| sendWindowMode | "ORGANIZATION" | "CUSTOM" | "NONE" | Required | |
| sendWindow | SendWindowInputDto | null | Required | |
| status | "DRAFT" | "PENDING_APPROVAL" | "APPROVED" | "SCHEDULED" | "EXECUTING" | "PAUSED" | … | Required | |
| recurrenceRule | object | null | Required | Recurrence rule when the campaign repeats; null for a one-off send. |
| id | string | Required | |
| name | string | Required | |
| description | string | null | Required | |
| audienceId | string | Required | |
| channelId | string | null | Required | |
| templateId | string | null | Required | |
| message | string | Required | |
| subject | string | null | Required | |
| messageHtml | string | null | Required | |
| trackLinks | boolean | Required | |
| scheduledAt | string (date-time) | null | Required | |
| approvedAt | string (date-time) | null | Required | |
| startedAt | string (date-time) | null | Required | |
| pausedAt | string (date-time) | null | Required | |
| completedAt | string (date-time) | null | Required | |
| cancelledAt | string (date-time) | null | Required | |
| cycleSeq | number | Required | |
| occurrenceCount | number | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| fromStatus | "DRAFT" | "PENDING_APPROVAL" | "APPROVED" | "SCHEDULED" | "EXECUTING" | "PAUSED" | … | null | Required | |
| toStatus | "DRAFT" | "PENDING_APPROVAL" | "APPROVED" | "SCHEDULED" | "EXECUTING" | "PAUSED" | … | Required | |
| actorUserId | string | null | Required | |
| reason | string | null | Required | |
| createdAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | CampaignDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "PENDING" | "SENT" | "FAILED" | "SKIPPED" | Required | |
| id | string | Required | |
| contactId | string | Required | |
| channelId | string | Required | |
| detail | string | null | Required | |
| attempts | number | Required | |
| sentAt | string (date-time) | null | Required | |
| deliveredAt | string (date-time) | null | Required | |
| readAt | string (date-time) | null | Required | |
| repliedAt | string (date-time) | null | Required | |
| clickedAt | string (date-time) | null | Required | |
| heldUntil | string (date-time) | null | Required | |
| createdAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | CampaignMessageDto[] | Required | |
| pagination | PaginationDto | Required | |
| summary | CampaignMessageSummaryDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | CampaignMessageDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| byStatus | CampaignDeliveryCountsDto | Required | |
| receipts | CampaignReceiptCountsDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| delivered | number | Required | |
| read | number | Required | |
| replied | number | Required | |
| clicked | number | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | CampaignDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| estimatedRecipients | number | Required | |
| remainingAllowance | number | null | Required | |
| ceiling | number | null | Required | |
| sufficient | boolean | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| type | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | Required | |
| status | "ACTIVE" | "DISABLED" | "MIGRATING" | Required | |
| id | string | Required | |
| name | string | Required | |
| provider | string | Required | |
| healthStatus | string | Required | |
| createdAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | ChannelDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| channel | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | Required | |
| purpose | "MARKETING" | "TRANSACTIONAL" | "ALL" | Required | |
| status | "GRANTED" | "WITHDRAWN" | Required | |
| lawfulBasis | "CONSENT" | "CONTRACT" | "LEGAL_OBLIGATION" | "VITAL_INTEREST" | "PUBLIC_TASK" | "LEGITIMATE_INTEREST" | Required | |
| expiresAt | string | Optional | |
| evidenceRef | string | Required | |
| capturedAt | string | Required | |
| contact | ContactReferenceDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| result | "recorded" | "unchanged" | "conflict" | "not_found" | Required | recorded: stored. unchanged: the same status and evidenceRef were already stored. conflict: not stored, the contact withdrew after capturedAt. not_found: no active contact matches. |
| index | number | Required | |
| contactId | string | null | Required | |
| detail | string | null | Required | |
| blockedBy | ConsentBlockDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | ConsentAssertionResultDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| scope | "GLOBAL" | "CHANNEL" | "PURPOSE" | "CAMPAIGN" | Required | |
| channel | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | null | Required | |
| purpose | "MARKETING" | "TRANSACTIONAL" | "ALL" | null | Required | |
| source | string | Required | |
| suppressedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| channel | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | Required | |
| purpose | "MARKETING" | "TRANSACTIONAL" | "ALL" | Required | |
| status | "GRANTED" | "WITHDRAWN" | "EXPIRED" | "REVOKED" | "UNKNOWN" | Required | |
| lawfulBasis | "CONSENT" | "CONTRACT" | "LEGAL_OBLIGATION" | "VITAL_INTEREST" | "PUBLIC_TASK" | "LEGITIMATE_INTEREST" | null | Required | |
| metadata | object | null | Required | |
| id | string | Required | |
| organizationId | string | Required | |
| customerId | string | Required | |
| source | string | Required | |
| capturedByUserId | string | null | Required | |
| evidenceRef | string | null | Required | |
| grantedAt | string (date-time) | null | Required | |
| withdrawnAt | string (date-time) | null | Required | |
| expiresAt | string (date-time) | null | Required | |
| evidenceCapturedAt | string (date-time) | null | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| channel | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | Required | |
| purpose | "MARKETING" | "TRANSACTIONAL" | "ALL" | Required | |
| status | "GRANTED" | "WITHDRAWN" | Required | |
| lawfulBasis | "CONSENT" | "CONTRACT" | "LEGAL_OBLIGATION" | "VITAL_INTEREST" | "PUBLIC_TASK" | "LEGITIMATE_INTEREST" | Required | |
| expiresAt | string | Optional | |
| evidenceRef | string | Required | |
| capturedAt | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| records | ConsentRecordDto[] | Required | |
| activeSuppressions | SuppressionDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | ContactConsentStateDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "ACTIVE" | "ARCHIVED" | Required | |
| customFields | object | null | Required | |
| id | string | Required | |
| fullName | string | Required | |
string | null | Required | ||
| phone | string | null | Required | |
| externalRef | string | null | Required | |
| preferredLanguage | string | null | Required | |
| timeZone | string | null | Required | |
| tags | string[] | Required | |
| notes | string | null | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required | |
| isSuppressed | boolean | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "SCHEDULED" | "ANONYMIZED" | "CANCELLED" | Required | |
| id | string | Required | |
| requestedByUserId | string | Required | |
| requestedAt | string (date-time) | Required | |
| effectiveAt | string (date-time) | Required | |
| cancelledAt | string (date-time) | null | Required | |
| anonymizedAt | string (date-time) | null | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | ContactErasureDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED" | Required | |
| mode | "CREATE_ONLY" | "UPSERT" | Required | |
| id | string | Required | |
| totalRows | number | Required | |
| processedRows | number | Required | |
| createdCount | number | Required | |
| updatedCount | number | Required | |
| skippedCount | number | Required | |
| errors | ContactImportRowErrorDto[] | Required | |
| detail | string | null | Required | |
| startedAt | string (date-time) | null | Required | |
| completedAt | string (date-time) | null | Required | |
| createdAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | ContactImportDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| fullName | string | Optional | |
string (email) | Optional | ||
| phone | string | Optional | |
| externalRef | string | Optional | |
| preferredLanguage | string | Optional | |
| timeZone | string | Optional | |
| tags | string[] | Optional | |
| customFields | object | Optional | |
| notes | string | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| row | number | Required | |
| externalRef | string | null | Required | |
| reason | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | ContactDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| contactId | string | Optional | |
| externalRef | string | Optional | |
string (email) | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| data | ContactDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| sendWindowMode | "ORGANIZATION" | "CUSTOM" | "NONE" | Optional | |
| sendWindow | SendWindowInputDto | null | Optional | |
| name | string | Required | |
| description | string | Optional | |
| type | "MARKETING" | "TRANSACTIONAL" | "INFORMATIONAL" | "OPERATIONAL" | "CUSTOMER_SUCCESS" | Optional | |
| channelId | string | Required | |
| templateId | string | Optional | |
| message | string | Required | |
| subject | string | Optional | |
| messageHtml | string | Optional | |
| recipients | BroadcastRecipientDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| sendWindowMode | "ORGANIZATION" | "CUSTOM" | "NONE" | Optional | |
| sendWindow | SendWindowInputDto | null | Optional | |
| name | string | Required | |
| description | string | Optional | |
| type | "MARKETING" | "TRANSACTIONAL" | "INFORMATIONAL" | "OPERATIONAL" | "CUSTOMER_SUCCESS" | Optional | |
| audienceId | string | Required | |
| channelId | string | Optional | |
| templateId | string | Optional | |
| message | string | Required | |
| subject | string | Optional | |
| messageHtml | string | Optional | |
| trackLinks | boolean | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Required | |
| description | string | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Required | |
| externalRef | string | Optional | |
| country | string | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| data | CreateTenantOrganizationResultDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| created | boolean | Required | |
| organization | TenantOrganizationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Required | |
| description | string | Optional | |
| eventTypes | "message.sent" | "message.delivered" | "message.read" | "message.replied" | "message.clicked" | "message.failed" | …[] | Required | |
| includeTenantEvents | boolean | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| fullName | string | Required | |
string (email) | Optional | ||
| phone | string | Optional | |
| externalRef | string | Optional | |
| preferredLanguage | string | Optional | |
| timeZone | string | Optional | |
| tags | string[] | Optional | |
| customFields | object | Optional | |
| notes | string | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| contact | ContactReferenceDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | EnrollContactResultDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| created | boolean | Required | |
| enrollment | JourneyEnrollmentDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| reason | string | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| role | "admin" | "manager" | "campaign_manager" | "analyst" | "billing_manager" | "viewer" | Optional | |
string (email) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "DRAFT" | "PUBLISHED" | "PAUSED" | "ARCHIVED" | Required | |
| id | string | Required | |
| name | string | Required | |
| description | string | null | Required | |
| version | number | Required | |
| stepCount | number | Required | |
| allowReEntry | boolean | Required | |
| publishedAt | string (date-time) | null | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "ACTIVE" | "COMPLETED" | "EXITED" | Required | |
| id | string | Required | |
| journeyId | string | Required | |
| contactId | string | Required | |
| currentStepIndex | number | Required | |
| journeyVersion | number | Required | |
| source | string | Required | |
| exitReason | string | null | Required | |
| enrolledAt | string (date-time) | Required | |
| completedAt | string (date-time) | null | Required | |
| exitedAt | string (date-time) | null | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | JourneyEnrollmentDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | JourneyEnrollmentDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | JourneyDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | JourneyDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "PENDING" | "SENT" | "FAILED" | "SKIPPED" | Required | |
| id | string | Required | |
| customerId | string | Required | |
| channelId | string | Required | |
| templateId | string | null | Required | |
| recipientRef | string | null | Required | |
| providerMessageId | string | null | Required | |
| detail | string | null | Required | |
| attempts | number | Required | |
| triggerEvent | string | Required | |
| respectSendWindow | boolean | Required | |
| heldUntil | string (date-time) | null | Required | |
| sentAt | string (date-time) | null | Required | |
| createdAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | MessageDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | |
| pageSize | number | Optional | |
| totalItems | number | Optional | |
| totalPages | number | Optional | |
| hasNextPage | boolean | Required | |
| hasPreviousPage | boolean | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| contactIds | string[] | Optional | |
| externalRefs | string[] | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| channelType | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | Required | |
| scenario | "delivered" | "read" | "failed" | "replied" | "opted_out" | "no_receipt" | Required | |
| id | string | Required | |
| organizationId | string | Required | |
| channelId | string | Required | |
| messageId | string | null | Required | |
| recipientRef | string | Required | |
| subject | string | null | Required | |
| text | string | Required | |
| providerMessageId | string | Required | |
| createdAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | SandboxCapturedMessageDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| type | "delivered" | "read" | "failed" | "replied" | "opted_out" | Required | |
| messageId | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | SandboxEventDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| scheduledAt | string | Required | |
| recurrence | object | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| data | CampaignDto | Required | |
| capacityEstimate | CapacityEstimateDto | null | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| to | ContactReferenceDto | Required | |
| channelId | string | Required | |
| templateId | string | Optional | |
| message | string | Optional | |
| reference | string | Optional | |
| respectSendWindow | boolean | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| start | string | Required | Opening time, HH:mm (24-hour). |
| end | string | Required | Closing time, HH:mm. Earlier than start means the window runs past midnight. |
| days | 0 | 3 | 1 | 2 | 4 | 5 | …[] | Required | Days the window opens, 0 (Sunday) to 6 (Saturday). |
| timeZone | string | Required | IANA time zone used when a customer's own time zone isn't known. |
| Name | Type | Required | Description |
|---|---|---|---|
| rows | ContactImportRowDto[] | Required | |
| mode | "CREATE_ONLY" | "UPSERT" | Optional | |
| attestedAcceptableUse | boolean | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| scope | "GLOBAL" | "CHANNEL" | "PURPOSE" | "CAMPAIGN" | Required | |
| channel | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | null | Required | |
| purpose | "MARKETING" | "TRANSACTIONAL" | "ALL" | null | Required | |
| metadata | object | null | Required | |
| id | string | Required | |
| organizationId | string | Required | |
| customerId | string | Required | |
| campaignId | string | null | Required | |
| reason | string | Required | |
| source | string | Required | |
| suppressedByUserId | string | null | Required | |
| suppressedAt | string (date-time) | Required | |
| liftedAt | string (date-time) | null | Required | |
| liftedByUserId | string | null | Required | |
| evidenceRef | string | null | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | SuppressionDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| channelType | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | Required | |
| status | "DRAFT" | "APPROVED" | "ARCHIVED" | Required | |
| id | string | Required | |
| name | string | Required | |
| subject | string | null | Required | |
| body | string | Required | |
| variables | string[] | Required | |
| approvedAt | string (date-time) | null | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | TemplateDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | |
string | Required | ||
| role | string | Required | |
| status | string | Required | |
| expiresAt | string (date-time) | Required | |
| acceptUrl | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | TenantInvitationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "ACTIVE" | "SUSPENDED" | "DEACTIVATED" | Required | |
| trustTier | "NEW" | "VERIFIED" | "ESTABLISHED" | "REVIEW_REQUIRED" | "RESTRICTED" | "SUSPENDED" | Required | |
| id | string | Required | |
| name | string | Required | |
| externalRef | string | null | Required | |
| country | string | null | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | TenantOrganizationDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | TenantOrganizationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| organizationId | string | Required | |
| name | string | Required | |
| externalRef | string | null | Required | |
| usage | TenantUsageLineDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| usageType | string | Required | |
| unit | string | Required | |
| used | number | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| from | string (date-time) | Required | |
| to | string (date-time) | Required | |
| billingPeriodId | string | null | Required | |
| tenants | TenantUsageDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | TenantUsageSummaryDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| reason | string | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| type | "delivered" | "read" | "failed" | "replied" | "opted_out" | Required | |
| text | string | Optional | |
| failureReason | string | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| sendWindowMode | "ORGANIZATION" | "CUSTOM" | "NONE" | Optional | |
| sendWindow | SendWindowInputDto | null | Optional | |
| name | string | Optional | |
| description | string | Optional | |
| type | "MARKETING" | "TRANSACTIONAL" | "INFORMATIONAL" | "OPERATIONAL" | "CUSTOMER_SUCCESS" | Optional | |
| audienceId | string | Optional | |
| channelId | string | Optional | |
| templateId | string | Optional | |
| message | string | Optional | |
| subject | string | Optional | |
| messageHtml | string | Optional | |
| trackLinks | boolean | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| fullName | string | Optional | |
string (email) | Optional | ||
| phone | string | Optional | |
| externalRef | string | Optional | |
| preferredLanguage | string | Optional | |
| timeZone | string | Optional | |
| tags | string[] | Optional | |
| customFields | object | Optional | |
| notes | string | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Optional | |
| externalRef | string | null | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Optional | |
| description | string | Optional | |
| eventTypes | "message.sent" | "message.delivered" | "message.read" | "message.replied" | "message.clicked" | "message.failed" | …[] | Optional | |
| enabled | boolean | Optional | |
| includeTenantEvents | boolean | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| created | boolean | Required | |
| contact | ContactDto | Required | |
| consent | ConsentAssertionResultDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| fullName | string | Optional | |
string (email) | Optional | ||
| phone | string | Optional | |
| preferredLanguage | string | Optional | |
| timeZone | string | Optional | |
| tags | string[] | Optional | |
| customFields | object | Optional | |
| notes | string | Optional | |
| consent | ConsentStatementDto[] | Optional |
| Name | Type | Required | Description |
|---|---|---|---|
| data | UpsertContactDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| usageType | string | Required | |
| unit | string | Required | |
| scope | UsageAllowanceScopeDto | Required | |
| included | number | null | Required | |
| hardLimit | number | null | Required | |
| overageAllowed | boolean | Required | |
| used | number | Required | |
| pending | number | Required | |
| remaining | number | null | Required | |
| percentUsed | number | null | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| channelType | "SMS" | "EMAIL" | "WHATSAPP" | "TELEGRAM" | "PUSH" | "WEBHOOK" | … | null | Required | |
| ownershipMode | "BRING_YOUR_OWN_PROVIDER" | "SENPEDE_MANAGED" | "DEDICATED_MANAGED" | null | Required | |
| provider | string | null | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | |
| startAt | string (date-time) | Required | |
| endAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| code | string | Required | |
| name | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| plan | UsagePlanDto | null | Required | |
| status | string | Required | |
| billingPeriod | UsageBillingPeriodDto | null | Required | |
| allowances | UsageAllowanceDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | UsageSummaryDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| status | "PENDING" | "SUCCEEDED" | "FAILED" | "DEAD" | Required | |
| id | string | Required | |
| endpointId | string | Required | |
| eventId | string | Required | |
| eventType | string | Required | |
| attempts | number | Required | |
| lastStatusCode | number | null | Required | |
| lastError | string | null | Required | |
| nextAttemptAt | string (date-time) | null | Required | |
| deliveredAt | string (date-time) | null | Required | |
| createdAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | WebhookDeliveryDto[] | Required | |
| pagination | PaginationDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | WebhookDeliveryDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| eventTypes | "message.sent" | "message.delivered" | "message.read" | "message.replied" | "message.clicked" | "message.failed" | …[] | Required | |
| id | string | Required | |
| url | string | Required | |
| description | string | null | Required | |
| enabled | boolean | Required | |
| includeTenantEvents | boolean | Required | |
| secretPrefix | string | Required | |
| createdAt | string (date-time) | Required | |
| updatedAt | string (date-time) | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | WebhookEndpointDto[] | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | WebhookEndpointDto | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| endpoint | WebhookEndpointDto | Required | |
| secret | string | Required |
| Name | Type | Required | Description |
|---|---|---|---|
| data | WebhookEndpointWithSecretDto | Required |