/api/v1/tenants/{tenantId}/alerts/signalsSession onlySignal catalogue, for building the rule form
Responses
- 200
370 endpoints for one organization, generated from the running Coldfeet server rather than written by hand, so it cannot drift from what the API accepts.
/api/v1Prefix with your own Coldfeet host — the API answers on the same origin as this site.
Authorization: Bearer …An API token issued in the console, or a session token. See authentication and scopes.
Operations marked API token accept a token.
The rest need a signed-in session, so a token calling them is refused rather than silently limited.
/api/v1/tenants/{tenantId}/alerts/signalsSession onlySignal catalogue, for building the rule form
/api/v1/tenants/{tenantId}/alerts/rulesSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/alerts/rulesSession only| tenantIdrequired | string |
Body: CreateAlertRuleDto
/api/v1/tenants/{tenantId}/alerts/rules/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateAlertRuleDto
/api/v1/tenants/{tenantId}/alerts/rules/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/alerts/historySession onlyEvery alert this tenant has fired, newest first
| tenantIdrequired | string |
| eventrequired | string | |
| signalrequired | string | |
| severityrequired | string | |
| pagerequired | string | |
| pageSizerequired | string |
/api/v1/tenants/{tenantId}/alerts/notificationsSession onlyUnread (or all recent) alert events for this tenant
| tenantIdrequired | string |
| unreadrequired | string | |
| pagerequired | string | |
| pageSizerequired | string |
/api/v1/tenants/{tenantId}/alerts/notifications/{id}/readSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/alerts/notifications/read-allSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/archiveSession only| tenantIdrequired | string |
| qrequired | string | |
| limitrequired | string | |
| skiprequired | string | |
| pagerequired | string | |
| pageSizerequired | string |
/api/v1/tenants/{tenantId}/archive/exportSession only| tenantIdrequired | string |
| limitrequired | string | |
| formatrequired | string |
/api/v1/tenants/{tenantId}/archive/gdpr-exportSession only| tenantIdrequired | string |
| subjectrequired | string |
/api/v1/tenants/{tenantId}/archive/legal-hold/previewSession only| tenantIdrequired | string |
Body: LegalHoldQueryDto
/api/v1/tenants/{tenantId}/archive/legal-holdSession only| tenantIdrequired | string |
Body: LegalHoldQueryDto
/api/v1/tenants/{tenantId}/archive/{id}/legal-holdSession only| tenantIdrequired | string | |
| idrequired | string |
Body: LegalHoldDto
/api/v1/tenants/{tenantId}/archive/{id}/emlSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/auditSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/audit/verifySession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/audit/archivesSession onlyEvents removed by retention, and the file each was written to
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/audit/archives/{id}Session onlyDownload one audit archive
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/awareness/campaignsSession onlyEvery simulation campaign, with its result funnel
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/awareness/campaignsSession only| tenantIdrequired | string |
Body: CampaignDto
/api/v1/tenants/{tenantId}/awareness/campaigns/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/awareness/campaigns/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: CampaignDto
/api/v1/tenants/{tenantId}/awareness/campaigns/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/awareness/campaigns/{id}/launchSession onlyFreeze the audience and start sending
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/awareness/campaigns/{id}/cancelSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/awareness/audience/previewSession onlyWho a given audience selection would reach
| tenantIdrequired | string |
Body: AudienceDto
/api/v1/tenants/{tenantId}/awareness/templatesSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/awareness/templatesSession only| tenantIdrequired | string |
Body: TemplateDto
/api/v1/tenants/{tenantId}/awareness/templates/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/awareness/lessonsSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/awareness/trainingSession onlyAssigned lessons and who has finished them, outstanding first
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/awareness/training/assignSession onlyAssign a lesson to people and mail them the link
| tenantIdrequired | string |
Body: AssignTrainingDto
/api/v1/tenants/{tenantId}/awareness/training/{id}/resendSession onlySend an outstanding lesson link again
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/awareness/riskSession onlyPer-person risk, worst first
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/awareness/risk/historySession onlyHow the risk bands have moved, replayed from the campaign events
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/billingSession onlyRate, billing profile, status and when the next invoice is raised
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/billing/usageSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/billing/seatsSession onlyWhat the next invoice would be, and how the seat count was derived
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/billing/dunningSession onlyWhat has been sent about unpaid invoices, and what happens if they stay unpaid
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/billing/invoicesSession only| tenantIdrequired | string |
| limitrequired | string |
/api/v1/tenants/{tenantId}/billing/invoices/{invoiceId}Session only| tenantIdrequired | string | |
| invoiceIdrequired | string |
/api/v1/tenants/{tenantId}/billing/invoices/{invoiceId}/pdfSession only| tenantIdrequired | string | |
| invoiceIdrequired | string |
/api/v1/tenants/{tenantId}/billing/profileSession onlyWho the invoice is addressed to. Rate and cycle are operator-set.
| tenantIdrequired | string |
Body: UpdateProfileDto
/api/v1/tenants/{tenantId}/brandingSession onlyEffective branding for this tenant
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/brandingSession only| tenantIdrequired | string |
Body: TenantBrandingDto
/api/v1/tenants/{tenantId}/brandingSession onlyDrop tenant overrides and fall back to platform branding
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/branding/logoSession onlyUpload a logo as a base64 data URL
| tenantIdrequired | string |
Body: LogoUploadDto
/api/v1/tenants/{tenantId}/bulk-import/typesSession onlySupported import types and the CSV columns each expects
/api/v1/tenants/{tenantId}/bulk-import/{type}/exportSession onlyExport one entity type as CSV, in the columns the importer reads
Mailbox passwords are exported empty: what is stored is a bcrypt hash, and a hash is not a password. Personal safe-sender entries are left out of the list export, because the importer would read them back as rules over the whole organisation.
| tenantIdrequired | string | |
| typerequired | string |
/api/v1/tenants/{tenantId}/bulk-import/{type}/previewSession onlyDry-run validation of a CSV import — nothing is written
| tenantIdrequired | string | |
| typerequired | string |
Body: ImportCsvDto
/api/v1/tenants/{tenantId}/bulk-import/{type}/commitSession onlyCommit a CSV import — creates every valid row
| tenantIdrequired | string | |
| typerequired | string |
Body: ImportCsvDto
/api/v1/tenants/{tenantId}/campaignsSession onlyThreat campaigns for this tenant, most recently active first
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/campaigns/{id}Session onlyOne campaign, its worst-hit recipients and what is still in a mailbox
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/campaigns/{id}Session onlyMark a campaign contained, closed, or open again
| tenantIdrequired | string | |
| idrequired | string |
Body: CampaignStatusDto
/api/v1/tenants/{tenantId}/campaigns/{id}/messagesSession onlyThe messages clustered into this campaign
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/campaigns/{id}/remediateSession onlyClaw back every delivered copy in this campaign
Works through a batch of up to 100 messages and reports how many are left, so a large campaign is several presses rather than one request that times out halfway through.
| tenantIdrequired | string | |
| idrequired | string |
Body: CampaignRemediateDto
/api/v1/tenants/{tenantId}/certificates/authoritiesSession onlyCertificate authorities available to this tenant
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/certificates/authoritiesSession onlyCreate an internal certificate authority
| tenantIdrequired | string |
Body: CreateAuthorityDto
/api/v1/tenants/{tenantId}/certificates/authorities/{id}/retireSession onlyStop an authority issuing without invalidating its certificates
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/certificates/authorities/{id}/pemSession onlyThe root certificate, for correspondents to trust
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/certificates/expiringSession onlyCertificates due for renewal
| tenantIdrequired | string |
| daysrequired | string |
/api/v1/tenants/{tenantId}/certificates/importSession onlyStore a correspondent's certificate, or a keypair from a public CA
| tenantIdrequired | string |
Body: ImportCertificateDto
/api/v1/tenants/{tenantId}/certificatesSession only| tenantIdrequired | string |
| emailrequired | string | |
| statusrequired | string |
/api/v1/tenants/{tenantId}/certificatesSession onlyIssue an S/MIME certificate for a hosted address
| tenantIdrequired | string |
Body: IssueCertificateDto
/api/v1/tenants/{tenantId}/certificates/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/certificates/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/certificates/{id}/renewSession only| tenantIdrequired | string | |
| idrequired | string |
Body: RenewDto
/api/v1/tenants/{tenantId}/certificates/{id}/revokeSession only| tenantIdrequired | string | |
| idrequired | string |
Body: RevokeDto
/api/v1/tenants/{tenantId}/certificates/{id}/exportSession onlyDownload as PKCS#12 for import into a mail client
| tenantIdrequired | string | |
| idrequired | string |
Body: ExportDto
/api/v1/tenants/{tenantId}/pgp-keysSession only| tenantIdrequired | string |
| emailrequired | string |
/api/v1/tenants/{tenantId}/pgp-keysSession onlyGenerate a keypair for one of your own addresses
| tenantIdrequired | string |
Body: GenerateKeyDto
/api/v1/tenants/{tenantId}/pgp-keys/importSession onlyStore a correspondent's public key, or your own keypair
| tenantIdrequired | string |
Body: ImportKeyDto
/api/v1/tenants/{tenantId}/pgp-keys/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/encryption-policiesSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/encryption-policiesSession onlyCreate or replace the rule for one correspondent
| tenantIdrequired | string |
Body: UpsertPolicyDto
/api/v1/tenants/{tenantId}/encryption-policies/resolveSession onlyWhat would apply to one recipient, and which rule decided it
| tenantIdrequired | string |
| recipientrequired | string |
/api/v1/tenants/{tenantId}/encryption-policies/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/secure-delivery/secretsSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/secure-delivery/secretsSession onlySet or replace the passphrase for one correspondent
| tenantIdrequired | string |
Body: UpsertSecretDto
/api/v1/tenants/{tenantId}/secure-delivery/secrets/{id}/revealSession onlyShow a passphrase so it can be passed on out of band
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/secure-delivery/secrets/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/secure-delivery/messagesSession onlyMessages delivered as encrypted PDFs, and whether they were opened
| tenantIdrequired | string |
| pagerequired | string | |
| pageSizerequired | string |
/api/v1/tenants/{tenantId}/connectorsSession onlyWhether connector hardening is offered for this tenant, and where each domain stands
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/connectors/planSession onlyCompose the Exchange script
Changes nothing in the customer’s tenant. Returns what the script will create, the script, and the command that produces the output this install accepts as proof.
| tenantIdrequired | string |
Body: PlanDto
/api/v1/tenants/{tenantId}/connectors/read-backSession onlyRecord enforcement from Exchange’s own connector output
A domain reaches gateway_enforced only through here. Anything the output does not prove is recorded as unconfirmed, with the reason.
| tenantIdrequired | string |
Body: ReadBackDto
/api/v1/tenants/{tenantId}/connectors/enforcement/{domainId}Session onlyPut a domain back to MX-only without pasting output
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/continuity/statusSession onlyContinuity outage status for the tenant
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/continuitySession onlyEmergency inbox: messages held while MX is down
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/continuity/{id}/previewSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/continuity/{id}/emlSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/continuity/{id}/retrySession onlyRetry delivery for one held recipient now
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/continuity/drainSession onlyDrain this tenant's continuity spool immediately
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/dashboard/statsAPI token: messages:read| tenantIdrequired | string |
| daysrequired | string |
/api/v1/tenants/{tenantId}/dashboard/reportAPI token: messages:read| tenantIdrequired | string |
| daysrequired | string | |
| domainrequired | string |
/api/v1/tenants/{tenantId}/dashboard/trafficAPI token: messages:readInbound/outbound traffic strip for Message Trace (last N hours)
| tenantIdrequired | string |
| hoursrequired | string |
/api/v1/tenants/{tenantId}/dashboard/pipelineAPI token: messages:readSMTP accept / last relay failure pulse for Message Trace
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/dashboard/liveSession onlySSE stream of traffic + pipeline pulses (replaces 30s polling)
| tenantIdrequired | string |
| hoursrequired | string |
/api/v1/tenants/{tenantId}/dashboard/logsAPI token: messages:readSearch the message trace by sender, recipient, subject or message-id
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/dashboard/logs/exportAPI token: messages:readStream every message matching the filters as CSV, not just the current page
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/dashboard/trace/{logId}API token: messages:read| tenantIdrequired | string | |
| logIdrequired | string |
/api/v1/tenants/{tenantId}/dashboard/trace/{logId}/emlAPI token: mail:read| tenantIdrequired | string | |
| logIdrequired | string |
/api/v1/tenants/{tenantId}/dashboard/trace/{logId}/attemptsAPI token: messages:readEgress delivery attempts for one message (tenant-scoped)
| tenantIdrequired | string | |
| logIdrequired | string |
| pagerequired | string | |
| pageSizerequired | string |
/api/v1/tenants/{tenantId}/dashboard/trace/{logId}/retrySession onlyRe-enqueue delivery for bounced/deferred/parked recipients
| tenantIdrequired | string | |
| logIdrequired | string |
/api/v1/tenants/{tenantId}/dashboard/rejectionsAPI token: messages:readSMTP connection-level rejections for this tenant
| tenantIdrequired | string |
| pagerequired | string | |
| pageSizerequired | string | |
| clientIprequired | string | |
| stagerequired | string | |
| hoursrequired | string |
/api/v1/tenants/{tenantId}/dlp/rulesSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/dlp/rulesSession only| tenantIdrequired | string |
Body: DlpRuleDto
/api/v1/tenants/{tenantId}/dlp/rules/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: DlpRulePatchDto
/api/v1/tenants/{tenantId}/dlp/rules/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/dlp/rules/test-against-sampleSession onlyTry a rule (saved or draft) against a sample of text; omit the rule fields to test everything currently enabled
| tenantIdrequired | string |
Body: TestSampleDto
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarcSession only| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/trendSession onlyAligned and failing message volume per day, with a compliance percent
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/tls-trendSession onlySuccessful and failed TLS sessions per day, from RFC 8460 reports
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/tls-failuresSession onlyWhy TLS sessions failed, by result type and by host pair
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/feedbackSession onlyRFC 5965 feedback-loop reports, by type, with the recent ones
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/sourcesSession onlyEveryone sending as this domain, with alignment and a classification
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/journeySession onlyWhere this domain is between monitoring and enforcement
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/journeySession onlySet the DMARC policy this domain is working towards
| tenantIdrequired | string | |
| domainIdrequired | string |
Body: SetDmarcTargetDto
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/ingestSession only| tenantIdrequired | string | |
| domainIdrequired | string |
Body: IngestDmarcDto
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/reportsSession onlyUpload a raw DMARC aggregate report (XML, .xml.gz or .zip)
| tenantIdrequired | string | |
| domainIdrequired | string |
Body: UploadReportDto
/api/v1/tenants/{tenantId}/domains/{domainId}/dmarc/tls-reportsSession onlyUpload a raw RFC 8460 TLS report (JSON, .json.gz or .zip)
| tenantIdrequired | string | |
| domainIdrequired | string |
Body: UploadReportDto
/api/v1/tenants/{tenantId}/domainsAPI token: domains:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/domainsAPI token: domains:write| tenantIdrequired | string |
Body: CreateDomainDto
/api/v1/tenants/{tenantId}/domains/reverse-dnsSession only| freshrequired | string |
/api/v1/tenants/{tenantId}/domains/capabilitiesSession only/api/v1/tenants/{tenantId}/domains/inbound-relay-accountsSession only/api/v1/tenants/{tenantId}/domains/{id}API token: domains:read| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}API token: domains:write| tenantIdrequired | string | |
| idrequired | string |
| keepAtProviderrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/verifyAPI token: domains:write| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/dns-statusAPI token: domains:read| tenantIdrequired | string | |
| idrequired | string |
| freshrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/deletion-previewSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/integrationSession only| tenantIdrequired | string | |
| idrequired | string |
Body: IntegrationDto
/api/v1/tenants/{tenantId}/domains/{id}/delivery-modeAPI token: domains:write| tenantIdrequired | string | |
| idrequired | string |
Body: DeliveryModeDto
/api/v1/tenants/{tenantId}/domains/{id}/inbound-modeAPI token: domains:write| tenantIdrequired | string | |
| idrequired | string |
Body: InboundModeDto
/api/v1/tenants/{tenantId}/domains/{id}/dns-delegationAPI token: domains:read| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/dns-delegationAPI token: domains:write| tenantIdrequired | string | |
| idrequired | string |
Body: DnsDelegationDto
/api/v1/tenants/{tenantId}/domains/{id}/inbound-relay-forwardAPI token: domains:read| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/inbound-relay-forwardAPI token: domains:write| tenantIdrequired | string | |
| idrequired | string |
Body: InboundRelayForwardDto
/api/v1/tenants/{tenantId}/domains/{id}/relay-accountsSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/relay-accountsSession only| tenantIdrequired | string | |
| idrequired | string |
Body: SetRelayAccountsDto
/api/v1/tenants/{tenantId}/domains/{id}/relay-accounts/refreshSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/relay-accounts/{accountId}Session only| tenantIdrequired | string | |
| idrequired | string | |
| accountIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/dkimAPI token: domains:write| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/test-relaySession only| tenantIdrequired | string | |
| idrequired | string |
Body: TestRelayDto
/api/v1/tenants/{tenantId}/domains/{id}/detect-relaySession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/test-mailSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/onboarding-dnsAPI token: domains:read| tenantIdrequired | string | |
| idrequired | string |
| freshrequired | string |
/api/v1/tenants/{tenantId}/dns-panelsSession only/api/v1/tenants/{tenantId}/domains/{id}/dns-panel/inspectSession only| tenantIdrequired | string | |
| idrequired | string |
Body: InspectPanelDto
/api/v1/tenants/{tenantId}/domains/{id}/dns-panelSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/dns-panelSession only| tenantIdrequired | string | |
| idrequired | string |
Body: ConnectPanelDto
/api/v1/tenants/{tenantId}/domains/{id}/dns-panelSession only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdatePanelDto
/api/v1/tenants/{tenantId}/domains/{id}/dns-panelSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/dns-panel/verifySession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{id}/dns-panel/runSession only| tenantIdrequired | string | |
| idrequired | string |
Body: PanelRunDto
/api/v1/tenants/{tenantId}/domains/{id}/dns-panel/runsSession only| tenantIdrequired | string | |
| idrequired | string |
| limitrequired | string |
/api/v1/tenants/{tenantId}/ediscovery/casesSession only| tenantIdrequired | string |
| statusrequired | string |
/api/v1/tenants/{tenantId}/ediscovery/casesSession only| tenantIdrequired | string |
Body: CreateCaseDto
/api/v1/tenants/{tenantId}/ediscovery/cases/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/ediscovery/cases/{id}/itemsSession only| tenantIdrequired | string | |
| idrequired | string |
| takerequired | string | |
| skiprequired | string |
/api/v1/tenants/{tenantId}/ediscovery/cases/{id}/itemsSession only| tenantIdrequired | string | |
| idrequired | string |
Body: CaseItemsDto
/api/v1/tenants/{tenantId}/ediscovery/cases/{id}/items/querySession only| tenantIdrequired | string | |
| idrequired | string |
Body: CaseQueryDto
/api/v1/tenants/{tenantId}/ediscovery/cases/{id}/items/{itemId}Session only| tenantIdrequired | string | |
| idrequired | string | |
| itemIdrequired | string |
/api/v1/tenants/{tenantId}/ediscovery/cases/{id}/releaseSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/ediscovery/cases/{id}/reopenSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/ediscovery/exportsSession only| tenantIdrequired | string |
| takerequired | string |
/api/v1/tenants/{tenantId}/ediscovery/exportsSession only| tenantIdrequired | string |
Body: StartExportDto
/api/v1/tenants/{tenantId}/ediscovery/exports/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/ediscovery/exports/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/ediscovery/exports/{id}/downloadSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/efficacyAPI token: messages:readQuarantine overturn rate, per-policy hits and per-engine accuracy
| tenantIdrequired | string |
| daysrequired | string |
/api/v1/tenants/{tenantId}/evidenceSession onlyList generated evidence packs
| tenantIdrequired | string |
| takerequired | string |
/api/v1/tenants/{tenantId}/evidenceSession onlyGenerate an evidence pack for a period
| tenantIdrequired | string |
Body: BuildPackDto
/api/v1/tenants/{tenantId}/evidence/{id}/downloadSession onlyDownload one evidence pack
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/evidence/{id}Session onlyDelete an evidence pack
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/integrationsSession onlyMail platform connections for this tenant
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/integrations/consentSession onlyBegin admin consent, returning the URL to send an administrator to
| tenantIdrequired | string |
Body: ConnectProviderDto
/api/v1/tenants/{tenantId}/integrations/google_workspace/dwdSession onlyUpload a domain-wide-delegated service-account key for Google Workspace clawback
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/integrations/{provider}/verifySession onlyCall the provider and record whether the grant still works
| tenantIdrequired | string | |
| providerrequired | string |
/api/v1/tenants/{tenantId}/integrations/{provider}Session onlyForget the stored authorisation for this provider
| tenantIdrequired | string | |
| providerrequired | string |
/api/v1/tenants/{tenantId}/journal/endpointsSession onlyJournal endpoints for this tenant
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/journal/endpointsSession onlyCreate a journal endpoint
Returns the full URL, including the token, exactly once. It is stored as a SHA-256 and cannot be shown again.
| tenantIdrequired | string |
Body: CreateEndpointDto
/api/v1/tenants/{tenantId}/journal/endpoints/{id}/enabledSession onlyStop or resume accepting reports on this endpoint
| tenantIdrequired | string | |
| idrequired | string |
Body: SetEnabledDto
/api/v1/tenants/{tenantId}/journal/endpoints/{id}Session onlyDelete a journal endpoint and the token that reaches it
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/link-guard/settingsSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/link-guard/settingsSession only| tenantIdrequired | string |
Body: UpdateSettingsDto
/api/v1/tenants/{tenantId}/link-guard/entriesSession onlyNever rewrite, or always refuse, links to a host
| tenantIdrequired | string |
Body: AddEntryDto
/api/v1/tenants/{tenantId}/link-guard/entries/{entryId}Session only| tenantIdrequired | string | |
| entryIdrequired | string |
/api/v1/tenants/{tenantId}/link-guard/checkSession onlyWhat Link Guard would make of one address
| tenantIdrequired | string |
Body: CheckUrlDto
/api/v1/tenants/{tenantId}/link-guard/analyticsSession only| tenantIdrequired | string |
| daysrequired | string |
/api/v1/tenants/{tenantId}/link-guard/messages/{logId}Session onlyLinks rewritten in one message
| tenantIdrequired | string | |
| logIdrequired | string |
/api/v1/tenants/{tenantId}/listsAPI token: policy:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/listsAPI token: policy:write| tenantIdrequired | string |
Body: AddListDto
/api/v1/tenants/{tenantId}/lists/{id}API token: policy:write| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/my-listsSession onlyList the caller's own safe/blocked senders
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/my-listsSession only| tenantIdrequired | string |
Body: AddListDto
/api/v1/tenants/{tenantId}/my-lists/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/mail/mailboxSession onlyThe mailbox this session will act on, or null
| tenantIdrequired | string |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mail/foldersSession onlyFolder tree with message and unread counts
| tenantIdrequired | string |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mail/messagesSession onlyOne page of a folder, newest first
| tenantIdrequired | string |
| searchrequired | string | |
| unreadrequired | string | |
| flaggedrequired | string | |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mail/messagesSession onlyMove to Trash, or expunge when already there
| tenantIdrequired | string |
| mailboxIdrequired | string |
Body: MailDeleteDto
/api/v1/tenants/{tenantId}/mail/messages/{uid}Session onlyOne message, body sanitised for the reading pane
| tenantIdrequired | string | |
| uidrequired | string |
| imagesrequired | string | |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mail/messages/{uid}/parts/{partId}Session onlyDownload one MIME part
| tenantIdrequired | string | |
| uidrequired | string | |
| partIdrequired | string |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mail/messages/{uid}/sourceSession onlyThe original .eml
| tenantIdrequired | string | |
| uidrequired | string |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mail/imageSession onlyFetch a remote image on the reader’s behalf
| tenantIdrequired | string |
| urlrequired | string | |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mail/messages/flagsSession onlySet or clear flags on a selection
| tenantIdrequired | string |
| mailboxIdrequired | string |
Body: MailFlagsDto
/api/v1/tenants/{tenantId}/mail/messages/moveSession onlyMove a selection to another folder
| tenantIdrequired | string |
| mailboxIdrequired | string |
Body: MailMoveDto
/api/v1/tenants/{tenantId}/mail/sendSession onlySubmit a message through the install’s own listener
| tenantIdrequired | string |
| mailboxIdrequired | string |
Body: ComposeDto
/api/v1/tenants/{tenantId}/mail/draftsSession onlySave a draft, replacing the previous revision
| tenantIdrequired | string |
| mailboxIdrequired | string |
Body: ComposeDto
/api/v1/tenants/{tenantId}/mail/liveSession onlySSE stream of folder counts, so new mail appears
| tenantIdrequired | string |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mailboxesSession only| tenantIdrequired | string |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/mailboxesSession only| tenantIdrequired | string |
Body: CreateMailboxDto
/api/v1/tenants/{tenantId}/mailboxes/domain-summarySession onlyCommitted quota and usage per domain
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/aliasesSession only| tenantIdrequired | string |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/aliasesSession only| tenantIdrequired | string |
Body: CreateAliasDto
/api/v1/tenants/{tenantId}/mailboxes/aliases/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateMailboxDto
/api/v1/tenants/{tenantId}/mailboxes/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/{id}/client-settingsSession onlyHostnames and ports for setting up a mail client
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/{mailboxId}/sieveSession only| tenantIdrequired | string | |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/{mailboxId}/sieveSession only| tenantIdrequired | string | |
| mailboxIdrequired | string |
Body: RuleSetDto
/api/v1/tenants/{tenantId}/mailboxes/{mailboxId}/sieve/resyncSession only| tenantIdrequired | string | |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/shared-foldersSession only| tenantIdrequired | string |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/shared-foldersSession only| tenantIdrequired | string |
Body: ShareDto
/api/v1/tenants/{tenantId}/shared-folders/folders/{mailboxId}Session onlyThe IMAP folders a mailbox actually has
| tenantIdrequired | string | |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/shared-folders/{id}/effectiveSession onlyThe ACL as the mail store currently holds it
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/shared-folders/grants/{aclId}Session only| tenantIdrequired | string | |
| aclIdrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/{mailboxId}/app-passwordsSession only| tenantIdrequired | string | |
| mailboxIdrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/{mailboxId}/app-passwordsSession onlyCreate one; the password is returned once and never again
| tenantIdrequired | string | |
| mailboxIdrequired | string |
Body: CreateAppPasswordDto
/api/v1/tenants/{tenantId}/mailboxes/{mailboxId}/app-passwords/{id}/revokeSession only| tenantIdrequired | string | |
| mailboxIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/mailboxes/{mailboxId}/app-passwords/{id}Session only| tenantIdrequired | string | |
| mailboxIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/outbound-guardsSession onlyList throttled/suspended (or all) outbound senders for this tenant
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/outbound-guards/sendersSession onlySending habits per outbound sender — volume, correspondents, and hours
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/outbound-guards/senders/{identity}Session onlyOne sender: hour histogram, known correspondents, recent additions
| tenantIdrequired | string | |
| identityrequired | string |
/api/v1/tenants/{tenantId}/outbound-guards/{id}/releaseSession onlyClear a throttled/suspended sender and restore normal outbound sending
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/partner/summarySession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/partner/customersSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/partner/customers/{customerId}Session only| tenantIdrequired | string | |
| customerIdrequired | string |
/api/v1/tenants/{tenantId}/partner/invoicesSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/policies/vocabularyAPI token: policy:read/api/v1/tenants/{tenantId}/policies/templatesAPI token: policy:read/api/v1/tenants/{tenantId}/policies/templates/{templateId}API token: policy:write| tenantIdrequired | string | |
| templateIdrequired | string |
/api/v1/tenants/{tenantId}/policies/simulateAPI token: policy:read| tenantIdrequired | string |
Body: SimulateDto
/api/v1/tenants/{tenantId}/policiesAPI token: policy:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/policiesAPI token: policy:write| tenantIdrequired | string |
Body: CreatePolicyDto
/api/v1/tenants/{tenantId}/policies/{id}/rulesAPI token: policy:write| tenantIdrequired | string | |
| idrequired | string |
Body: AddRuleDto
/api/v1/tenants/{tenantId}/policies/{id}/rules/reorderAPI token: policy:write| tenantIdrequired | string | |
| idrequired | string |
Body: ReorderRulesDto
/api/v1/tenants/{tenantId}/policies/rules/{ruleId}API token: policy:write| tenantIdrequired | string | |
| ruleIdrequired | string |
Body: UpdateRuleDto
/api/v1/tenants/{tenantId}/policies/{id}API token: policy:write| tenantIdrequired | string | |
| idrequired | string |
Body: UpdatePolicyDto
/api/v1/tenants/{tenantId}/policies/{id}API token: policy:write| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/policies/{id}/scopeAPI token: policy:write| tenantIdrequired | string | |
| idrequired | string |
Body: ScopePolicyDto
/api/v1/tenants/{tenantId}/policies/{id}/historyAPI token: policy:read| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/policies/{id}/history/{version}/rollbackAPI token: policy:write| tenantIdrequired | string | |
| idrequired | string | |
| versionrequired | number |
/api/v1/tenants/{tenantId}/policies/{id}/rules/{ruleId}API token: policy:write| tenantIdrequired | string | |
| ruleIdrequired | string |
/api/v1/tenants/{tenantId}/quarantineAPI token: quarantine:readList held messages visible to the caller
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/quarantine/stats/trendAPI token: quarantine:readDaily quarantine inflow vs release counts, for the dashboard trend panel
| tenantIdrequired | string |
| daysrequired | string |
/api/v1/tenants/{tenantId}/quarantine/exportAPI token: quarantine:readStream every held message matching the filters as CSV, not just the current page
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/quarantine/{id}/previewAPI token: quarantine:read| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/quarantine/{id}/releaseAPI token: quarantine:write| tenantIdrequired | string | |
| idrequired | string |
Body: ReleaseDto
/api/v1/tenants/{tenantId}/quarantine/{id}/denyAPI token: quarantine:write| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/quarantine/{id}/reportAPI token: quarantine:writeReport a held message as a false positive (trains the filter)
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/quarantine/bulkAPI token: quarantine:writeRelease or deny many held messages in one request
| tenantIdrequired | string |
Body: BulkActionDto
/api/v1/tenants/{tenantId}/quarantine/portal-linksSession onlyLive passwordless quarantine links for one mailbox
| tenantIdrequired | string |
| emailrequired | string |
/api/v1/tenants/{tenantId}/quarantine/portal-links/revokeSession onlyWithdraw every passwordless quarantine link for one mailbox
| tenantIdrequired | string |
Body: RevokePortalLinksDto
/api/v1/tenants/{tenantId}/quarantine/{id}/emlAPI token: mail:read| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/my-preferencesSession onlyGet the caller's digest preferences
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/my-preferencesSession onlyUpdate the caller's digest preferences
| tenantIdrequired | string |
Body: UpdatePreferencesDto
/api/v1/tenants/{tenantId}/domains/{domainId}/recipientsSession onlyList valid recipients and the domain recipient mode
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/recipientsSession only| tenantIdrequired | string | |
| domainIdrequired | string |
Body: AddRecipientsDto
/api/v1/tenants/{tenantId}/domains/{domainId}/recipients/modeSession onlySwitch between catch-all and explicit recipient list
| tenantIdrequired | string | |
| domainIdrequired | string |
Body: SetModeDto
/api/v1/tenants/{tenantId}/domains/{domainId}/recipients/{id}Session only| tenantIdrequired | string | |
| domainIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/remediation/logs/bulkSession onlyQuarantine or expunge every delivered copy of many messages at once
| tenantIdrequired | string |
Body: BulkRemediateDto
/api/v1/tenants/{tenantId}/remediation/logs/{logId}Session onlyQuarantine or expunge every delivered copy of a message
Reaches mailboxes hosted here over IMAP, and mailboxes on a connected mail platform through its API. A copy removed through the platform reports `recoverable`: Microsoft 365 moves it to Recoverable Items, which an administrator can still restore.
| tenantIdrequired | string | |
| logIdrequired | string |
Body: RemediateDto
/api/v1/tenants/{tenantId}/abuse-forwardSession onlyThe address users forward suspicious mail to
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/abuse-forwardSession onlyClaim an abuse-forward address for this tenant
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/abuse-forwardSession onlyTurn the abuse-forward address on or off
| tenantIdrequired | string |
Body: EnabledDto
/api/v1/tenants/{tenantId}/abuse-forward/rotateSession onlyReplace the abuse-forward address
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/reports/queueSession onlyAbuse triage queue: reports with the reported message attached
| tenantIdrequired | string |
| statusrequired | string | |
| typerequired | string | |
| sourcerequired | string | |
| uncorrelatedrequired | string | |
| takerequired | string | |
| skiprequired | string |
/api/v1/tenants/{tenantId}/reports/queue/countsSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/reports/{id}/previewSession onlySanitised body of a reported message
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/reports/{id}/adjudicateSession onlyRecord a verdict on a report and act on it
| tenantIdrequired | string | |
| idrequired | string |
Body: AdjudicateDto
/api/v1/tenants/{tenantId}/reports/{logId}Session onlyReport a delivered message as phishing, spam or a false positive
| tenantIdrequired | string | |
| logIdrequired | string |
Body: ReportMessageDto
/api/v1/tenants/{tenantId}/reports/mineSession onlyThe caller's own reports and what was decided about them
| tenantIdrequired | string |
| pagerequired | string | |
| pageSizerequired | string |
/api/v1/tenants/{tenantId}/reportsSession onlyRecent user reports, for false-positive rate tracking
| tenantIdrequired | string |
| pagerequired | string | |
| pageSizerequired | string | |
| statusrequired | string |
/api/v1/tenants/{tenantId}/scheduled-reportsAPI token: reports:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/scheduled-reportsAPI token: reports:write| tenantIdrequired | string |
Body: CreateScheduledReportDto
/api/v1/tenants/{tenantId}/scheduled-reports/{id}API token: reports:write| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateScheduledReportDto
/api/v1/tenants/{tenantId}/scheduled-reports/{id}API token: reports:write| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/scheduled-reports/{id}/send-nowAPI token: reports:writeSend this report immediately, outside its regular cadence
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/scheduled-reports/{id}/deliveriesAPI token: reports:readPer-recipient outcome of recent sends of this report
| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/reputationSession onlyGoogle Postmaster samples for this domain
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/domains/{domainId}/reputation/refreshSession onlyRe-poll Postmaster Tools for this domain
| tenantIdrequired | string | |
| domainIdrequired | string |
/api/v1/tenants/{tenantId}/saved-searchesSession onlyThe caller's own saved searches, plus every shared search in the tenant
| tenantIdrequired | string |
| scoperequired | string |
/api/v1/tenants/{tenantId}/saved-searchesSession only| tenantIdrequired | string |
Body: CreateSavedSearchDto
/api/v1/tenants/{tenantId}/saved-searches/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateSavedSearchDto
/api/v1/tenants/{tenantId}/saved-searches/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/cdrSession onlyThe disarm setting for this tenant and the sidecar it depends on
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/breach-checkSession onlyThe sender-breach setting for this tenant and whether it can run
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/searchSession onlyGlobal search across domains, mailboxes, trace, quarantine, policies, audit and invoices (command palette)
| tenantIdrequired | string |
| limitrequired | string |
/api/v1/tenants/{tenantId}/siemSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/siemSession only| tenantIdrequired | string |
Body: CreateSiemDto
/api/v1/tenants/{tenantId}/siem/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateSiemDto
/api/v1/tenants/{tenantId}/siem/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/siem/{id}/testSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/siem/{id}/rotate-secretSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/smtp-credentialsSession onlyList submission credentials (never returns passwords)
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/smtp-credentialsSession onlyCreate a credential; the password is shown once and never again
| tenantIdrequired | string |
Body: CreateCredentialDto
/api/v1/tenants/{tenantId}/smtp-credentials/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/stationery/gallerySession onlyReady-made banners, signatures and disclaimers
| kindrequired | string |
/api/v1/tenants/{tenantId}/stationery/organisationSession onlyRegistered name and address, for disclaimers
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/stationery/organisationSession only| tenantIdrequired | string |
Body: OrgProfileDto
/api/v1/tenants/{tenantId}/stationery/previewSession onlyWhat mail from this sender would carry
| tenantIdrequired | string |
Body: PreviewSenderDto
/api/v1/tenants/{tenantId}/stationerySession only| tenantIdrequired | string |
| kindrequired | string | |
| scoperequired | string | |
| targetIdrequired | string |
/api/v1/tenants/{tenantId}/stationerySession only| tenantIdrequired | string |
Body: StationeryDto
/api/v1/tenants/{tenantId}/stationery/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateStationeryDto
/api/v1/tenants/{tenantId}/stationery/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/stationery/{id}/defaultSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/my-signaturesSession onlyThe caller's own signatures
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/my-signaturesSession only| tenantIdrequired | string |
Body: StationeryDto
/api/v1/tenants/{tenantId}/my-signatures/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateStationeryDto
/api/v1/tenants/{tenantId}/my-signatures/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/my-signatures/{id}/defaultSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/external-bannerSession onlyExternal-sender banner settings
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/external-bannerSession only| tenantIdrequired | string |
Body: BannerConfigDto
/api/v1/tenants/{tenantId}/external-banner/previewSession onlyWhat a message from this address would carry
| tenantIdrequired | string |
Body: PreviewSenderDto
/api/v1/tenants/{tenantId}/ticketsSession onlyThe signed-in user's support tickets
/api/v1/tenants/{tenantId}/tickets/{id}Session only| idrequired | string |
/api/v1/tenants/{tenantId}/tickets/{id}/replySession onlyWrite back on your own ticket
| idrequired | string |
Body: ReplyDto
/api/v1/tenants/{tenantId}/tickets/{id}/closeSession onlyClose your own ticket once it is resolved
| idrequired | string |
/api/v1/tenants/{tenantId}/tickets/{id}/reopenSession onlyReopen a closed ticket without writing a new message
| idrequired | string |
/api/v1/tenants/{tenantId}/suppressionsAPI token: suppression:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/suppressionsAPI token: suppression:write| tenantIdrequired | string |
Body: AddSuppressionDto
/api/v1/tenants/{tenantId}/suppressions/summaryAPI token: suppression:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/suppressions/{id}API token: suppression:write| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenantsSession only/api/v1/tenantsSession onlyBody: CreateTenantDto
/api/v1/tenants/{tenantId}Session only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/api-keysSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/api-keysSession only| tenantIdrequired | string |
Body: CreateApiKeyDto
/api/v1/tenants/{tenantId}/api-keys/scopesSession only/api/v1/tenants/{tenantId}/api-keys/{keyId}/rotateSession only| tenantIdrequired | string | |
| keyIdrequired | string |
Body: RotateApiKeyDto
/api/v1/tenants/{tenantId}/api-keys/{keyId}/enabledSession only| tenantIdrequired | string | |
| keyIdrequired | string |
Body: ApiKeyEnabledDto
/api/v1/tenants/{tenantId}/api-keys/{keyId}Session only| tenantIdrequired | string | |
| keyIdrequired | string |
/api/v1/tenants/{tenantId}/childrenAPI token: tenants:children| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/membersAPI token: members:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/membersAPI token: members:write| tenantIdrequired | string |
Body: AddMemberDto
/api/v1/tenants/{tenantId}/invitationsAPI token: members:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/invitations/resendAPI token: members:write| tenantIdrequired | string |
Body: ResendInviteDto
/api/v1/tenants/{tenantId}/invitations/{id}API token: members:write| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/members/{userId}API token: members:write| tenantIdrequired | string | |
| userIdrequired | string |
Body: UpdateMemberDto
/api/v1/tenants/{tenantId}/members/{userId}API token: members:write| tenantIdrequired | string | |
| userIdrequired | string |
/api/v1/tenants/{tenantId}/settingsAPI token: settings:read| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/settingsAPI token: settings:write| tenantIdrequired | string |
Body: TenantSettingsDto
/api/v1/tenants/{tenantId}/vip-entriesSession onlyThe VIP roster protected against impersonation
| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/vip-entriesSession only| tenantIdrequired | string |
Body: CreateVipDto
/api/v1/tenants/{tenantId}/vip-entries/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateVipDto
/api/v1/tenants/{tenantId}/vip-entries/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/lookalikesSession onlyLookalike domains seen in Certificate Transparency
| tenantIdrequired | string |
| allrequired | string |
/api/v1/tenants/{tenantId}/lookalikes/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateLookalikeDto
/api/v1/tenants/{tenantId}/webhooksSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/webhooksSession only| tenantIdrequired | string |
Body: CreateWebhookDto
/api/v1/tenants/{tenantId}/webhooks/eventsSession only/api/v1/tenants/{tenantId}/webhooks/deliveriesSession only| tenantIdrequired | string |
/api/v1/tenants/{tenantId}/webhooks/deliveries/{deliveryId}/retrySession only| tenantIdrequired | string | |
| deliveryIdrequired | string |
/api/v1/tenants/{tenantId}/webhooks/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
Body: UpdateWebhookDto
/api/v1/tenants/{tenantId}/webhooks/{id}Session only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/webhooks/{id}/rotate-secretSession only| tenantIdrequired | string | |
| idrequired | string |
/api/v1/tenants/{tenantId}/webhooks/{id}/testSession only| tenantIdrequired | string | |
| idrequired | string |