API reference

Every operation in the Push API, grouped by what it works on. This page is generated from the same OpenAPI document the server is checked against, so a route that exists is listed here.

Authentication

Server routes take a server key in Authorization: Bearer. Device routes, such as receipts and the inbox, take the receipt token the installation got when it registered. A few routes are public, such as the plan list and the contract itself. Those carry a No key badge.

Operations

410 operations

Access

MethodPathWhat it does
GET/meGet caller
POST/apps/{id}/keysCreate app key
GET/rolesList roles
POST/rolesCreate custom role
PUT/roles/{id}Update custom role
DELETE/roles/{id}Delete custom role
PUT/role-assignmentsAssign custom role
DELETE/role-assignments/{id}Remove custom role assignment
PUT/member-app-accessReplace member app access
GET/sessionsList console sessions
DELETE/sessions/{id}Revoke console session

Analytics

MethodPathWhat it does
GET/apps/{id}/statsGet app stats
GET/apps/{id}/insightsGet app insights
GET/apps/{id}/revenueRevenue attributed to the messages that drove it (last touch, opened first, 7 days; journey goals credit their own run)
POST/conversionsRecord conversion
GET/apps/{id}/analytics-policyGet analytics policy
PUT/apps/{id}/analytics-policyPut analytics policy
GET/apps/{id}/attribution-modelsList attribution models
POST/attribution-modelsCreate attribution model
POST/attribution-models/{id}:publishPublish attribution model
GET/apps/{id}/reportsList report definitions
POST/reportsCreate report definition
POST/reports:runRun ad hoc report
POST/reports/{id}:runRun saved report
GET/apps/{id}/report-runsList report runs
GET/report-runs/{id}Get report run

Apps

MethodPathWhat it does
GET/projectsList projects
POST/projectsCreate project
GET/appsList apps
POST/appsCreate app
GET/apps/{id}Get app
PATCH/apps/{id}Update app
POST/apps/{id}:cloneClone environment

Audiences

MethodPathWhat it does
POST/subscriptionsUpsert subscription
GET/apps/{id}/topicsList topics
POST/apps/{id}/topicsUpsert topic
PUT/apps/{id}/topics/{key}/members/{user}Add topic member
DELETE/apps/{id}/topics/{key}/members/{user}Remove topic member
GET/segmentsList segments
POST/segmentsCreate segment
POST/segments:previewPreview segment
DELETE/segments/{id}Delete segment
GET/segments/{id}/membersWho matches the segment at this moment; behaviour rules are evaluated against the events received so far.
GET/segments/{id}/exportCSV of the current members (at most 100,000 rows); requires push:users:export and is audited.
GET/segments/{id}/members/{user}Check segment member
PUT/segments/{id}/members/{user}Add segment member
DELETE/segments/{id}/members/{user}Remove segment member

Campaigns

MethodPathWhat it does
GET/campaignsList campaigns
POST/campaignsCreate campaign
GET/campaigns/{id}Get campaign
POST/campaigns/{id}/versionsCreate campaign version
POST/campaigns/{id}/versions/{version}:previewPreview campaign version
POST/campaigns/{id}/versions/{version}:estimateEstimate campaign version
POST/campaigns/{id}/versions/{version}:request-approvalRequest campaign approval
POST/campaigns/{id}/versions/{version}:approveApprove campaign version
POST/campaigns/{id}/versions/{version}:publishPublish campaign version
POST/campaigns/{id}:launchLaunch campaign
GET/campaign-runs/{id}Get campaign run
POST/campaign-runs/{id}:pausePause campaign run
POST/campaign-runs/{id}:resumeResume campaign run
POST/campaign-runs/{id}:cancelCancel campaign run

Channels

MethodPathWhat it does
GET/apps/{id}/channel-connectorsList channel connectors
POST/apps/{id}/channel-connectorsCreate channel connector
DELETE/channel-connectors/{id}Disable channel connector
POST/channel-messagesDurably accept an email, SMS, WhatsApp, RCS, collaboration, or custom-channel message
GET/channel-messages/{id}Get channel message
POST/channel-messages/{id}:receiptRecord channel receipt
POST/channel-connectors/{id}:reset-circuitReset connector circuit

Content

MethodPathWhat it does
GET/templatesList templates
POST/templatesTitle, body and every content string may use Liquid-style logic: {% if %}/{% elsif %}/{% else %}, {% unless %}, {% case %}, {% for x in list %} with forloop, {% assign %}, {% capture %}, and filters (default, upcase, downcase, capitalize, truncate, money, number, date, plus, minus, times, round, join, size, first, last, sort, where, map, pluralize, replace, append, prepend, url_encode, escape).
POST/templates:renderRender a stored or inline template for one person and locale
GET/apps/{id}/brand-kitsList brand kits
POST/apps/{id}/brand-kitsCreate brand kit
POST/brand-kits/{id}/versionsCreate brand kit version
POST/brand-kits/{id}/versions/{version}:publishPublish brand kit version
GET/apps/{id}/media-assetsList media assets
POST/apps/{id}/media-assetsCreate media asset
GET/apps/{id}/content-bundlesList content bundles
POST/apps/{id}/content-bundlesCreate content bundle
POST/content-bundles/{id}/versionsCreate content bundle version
PUT/content-bundles/{id}/versions/{version}/localizations/{locale}Put content localization
POST/content-bundles/{id}/versions/{version}/localizations/{locale}:approveApprove content localization
POST/content-bundles/{id}/versions/{version}:publishPublish content bundle version
POST/content-bundles/{id}:renderRender content bundle

Data exports

MethodPathWhat it does
POST/exportsCreate data export
GET/exports/{id}Get data export
GET/exports/{id}/downloadDownload data export

Digests

MethodPathWhat it does
GET/apps/{id}/digest-rulesList digest rules
POST/digest-rulesPublish digest rule
PUT/digest-rules/{id}/users/{user}/preferencePut digest preference
POST/digest-itemsEnqueue digest item
POST/digest-rules/{id}:previewPreview digest
GET/digest-batchesList digest batches

Environments

MethodPathWhat it does
GET/apps/{id}/environment-snapshotsList environment snapshots
POST/apps/{id}/environment-snapshotsCreate environment snapshot
GET/environment-promotionsList environment promotions
POST/environment-promotionsRequest environment promotion
POST/environment-promotions/{id}:approveApprove environment promotion
POST/environment-promotions/{id}:rejectReject environment promotion

Events

MethodPathWhat it does
GET/event-destination-kindsDestination kinds and how each is proven
POST/event-destinations/{id}:testRun the connection test again
PUT/event-destinations/{id}/configurationReplace credentials or settings
POST/event-destinations/{id}/backfillSend history to a destination
GET/event-sourcesInbound Segment and RudderStack sources
POST/event-sourcesCreate an inbound source
POST/event-sources/{id}:revokeRevoke a source's write key
GET/streamOpen inbox stream
POST/eventsIdempotently ingest a customer event
POST/events:batchIngest up to 100 events atomically
GET/event-catalogThe standard event schema (cart.updated, order.placed with items/amount/currency, product.viewed, post.liked, message.received, catalog.price_changed ...)
GET/event-destinationsList event destinations
POST/event-destinationsCreate event destination
POST/event-destinations/{id}:pausePause event destination
POST/event-destinations/{id}:resumeResume event destination
POST/event-destinations/{id}:rotate-secretRotate event destination secret
GET/event-destinations/{id}/deliveriesList event destination deliveries
POST/event-destinations/{id}/replaysReplay event destination
GET/event-replaysList event replays
GET/apps/{id}/event-streamList canonical event stream
GET/apps/{id}/event-schemasList event schemas
POST/event-schemasCreate event schema

Experiments

MethodPathWhat it does
GET/experimentsList experiments
POST/experimentsCreate experiment
POST/experiments/{id}:startStart experiment
POST/experiments/{id}:pausePause experiment
POST/experiments/{id}:resumeResume experiment
POST/experiments/{id}:completeComplete experiment
POST/experiments/{id}:assignAssign experiment subject
POST/experiments/{id}/exposuresRecord experiment exposure
POST/experiments/{id}/observationsRecord experiment observation
POST/experiments/{id}:analyzeAnalyze experiment
GET/experiments/{id}/resultsGet experiment results
POST/experiments/{id}:request-winner-approvalRequest experiment winner approval
POST/experiments/{id}:approve-winnerApprove experiment winner

In-app

MethodPathWhat it does
GET/in-app-experiencesList in app experiences
POST/in-app-experiencesCreate in app experience
POST/in-app-experiences/{id}:previewPreview in app experience
POST/in-app-experiences/{id}:publishPublish in app experience
GET/in-app-experiences:eligibleList eligible in app experiences
POST/in-app-experiences/{id}/eventsRecord in app event

Inbox

MethodPathWhat it does
GET/apps/{id}/inbox/feedsList inbox feeds
POST/apps/{id}/inbox/feedsUpsert inbox feed
GET/inbox/notificationsList device inbox notifications
POST/inbox/notificationsCreate inbox notification
POST/inbox/notifications/{id}:readMark inbox read
POST/inbox/notifications/{id}:unreadMark inbox unread
POST/inbox/notifications/{id}:archiveArchive inbox notification
POST/inbox/notifications/{id}:restoreRestore inbox notification
POST/inbox/notifications/{id}:snoozeSnooze inbox notification
POST/inbox/notifications/{id}:pinPin inbox notification
POST/inbox/notifications/{id}:unpinUnpin inbox notification
POST/inbox/notifications/{id}:saveSave inbox notification
POST/inbox/notifications/{id}:unsaveUnsave inbox notification
POST/inbox/notifications/{id}:deleteDelete inbox notification
POST/inbox/notifications:read-allMark all inbox read
POST/inbox/notifications/{id}:actionPerform inbox action
POST/inbox/threads:muteMute inbox thread
POST/inbox/threads:unmuteUnmute inbox thread
POST/inbox/objects:followFollow inbox object
POST/inbox/objects:unfollowUnfollow inbox object
GET/inbox/attachments/{id}Download inbox attachment No key

Installations

MethodPathWhat it does
GET/installations/{id}/remote-configFetch this device's configuration
POST/installations/{id}/remote-configFetch with a JSON context
GET/apps/{id}/installationsList installations
POST/installationsRegister installation No key
PATCH/installations/{id}Update installation
DELETE/installations/{id}Revoke installation
POST/installations/{id}:negotiateNegotiate sdkcapabilities
POST/installations/{id}:rotate-tokenRotate installation token
PUT/installations/{id}/live-tokensPut live activity token
POST/installations/{id}/live-tokens:revokeRevoke live activity tokens
PUT/installations/{id}/live-event-subscriptionsPut live event subscription
POST/installations/{id}/live-eventsRecord live lifecycle event
POST/installations/{id}/sdk-healthReport sdkhealth
GET/installations/{id}/preferencesGet installation preferences
PUT/installations/{id}/preferences/{category}Put installation preference

Integrations

MethodPathWhat it does
POST/integrations/shopify/connectStart connecting a Shopify store to a Push app: answers the Shopify approval URL (15 minutes)
GET/integrations/shopify/callbackShopify's signed OAuth redirect (not called directly) No key
POST/integrations/shopify/webhooksShopify webhooks, signed with the app secret (not called directly): orders, checkouts, products, inventory, uninstall and the privacy topics No key
GET/integrations/shopify/connectionsA Push app's connected Shopify stores and pending privacy requests (never a token)
DELETE/integrations/shopify/connections/{id}Disconnect a store: its token is destroyed and its events stop
GET/integrations/shopify/proxy/bolrach-push-sw.jsThe service worker a Shopify storefront registers through the app proxy No key

Journeys

MethodPathWhat it does
GET/recipesOne-click journey recipes for shops and social apps, with their parameters and the events they read
GET/apps/{id}/recipesWhich recipes are enabled for an app
POST/apps/{id}/recipes/{key}:enableCreate or update the recipe's journey with these parameters and publish it (idempotent)
POST/apps/{id}/recipes/{key}:disablePause the recipe's journey: nobody new enters, people in it finish
GET/apps/{id}/journeysJourneys of an app with entered, active, completed, exited, goal met, messages and attributed revenue
GET/workflows/{id}/statsPer-step counts, sends, opens, exit reasons and revenue for one journey
GET/workflowsList workflows
POST/workflowsUpsert workflow
GET/workflows/{id}Get workflow
PATCH/workflows/{id}Update workflow
DELETE/workflows/{id}Archive workflow
POST/workflows/{id}/versionsCreate workflow version
GET/workflows/{id}/versions/{version}Get workflow version
POST/workflows/{id}/versions/{version}:publishPublish workflow version
POST/workflows/{id}/versions/{version}:request-approvalRequest workflow approval
POST/workflows/{id}/versions/{version}:approveApprove workflow version
POST/workflows/{id}:triggerTrigger workflow
GET/workflows/{id}/canvasGet journey canvas
PUT/workflows/{id}/canvasSave journey canvas
POST/workflows/{id}/canvas:validateValidate journey canvas
POST/workflows/{id}/canvas:compileCompile journey canvas
POST/workflows/{id}/canvas:simulateSimulate journey canvas
GET/workflow-runs/{id}Get workflow run
POST/workflow-runs/{id}:cancelCancel workflow run
POST/workflow-runs/{id}:approveApprove workflow run

Limits and usage

MethodPathWhat it does
GET/apps/{id}/rate-limitThe app's request allowance
GET/plansFree and pay as you go: the free allowance of monthly active users, throughput, and what every plan includes No key
GET/planThis tenant's plan and this month's reach against it
GET/usageGet usage
PUT/usage-budgetsPut usage budget
POST/usage-budget-alerts/{id}:acknowledgeAcknowledge usage budget alert

Live notifications

MethodPathWhat it does
GET/live-notificationsList live notifications
POST/live-notificationsStart live notification
GET/live-notifications/{id}Get live notification
POST/live-notifications/{id}:updateUpdate live notification
POST/live-notifications/{id}:endEnd live notification
POST/live-notifications:simulateSimulate live notification
POST/live-templatesCreate live template version

Messages

MethodPathWhat it does
GET/messagesList sent messages with delivery counts
POST/messagesAccept a notification
POST/messages:sendCanonical send alias
POST/messages:send-batchValidate and durably accept an idempotent batch of up to 100 messages
GET/apps/{id}/recurring-messagesList recurring messages
POST/apps/{id}/recurring-messagesCreate an idempotent DST-aware recurring message schedule
GET/recurring-messages/{id}Get recurring message
POST/recurring-messages/{id}:pausePause recurring message
POST/recurring-messages/{id}:resumeResume recurring message
POST/recurring-messages/{id}:cancelCancel recurring message
POST/message-stream-jobsCreate a resumable asynchronous message-ingestion job
GET/message-stream-jobs/{id}Get message stream job
POST/message-stream-jobs/{id}/batchesStream a replay-safe batch as JSON or newline-delimited JSON
POST/message-stream-jobs/{id}:completeComplete message stream job
POST/messages:validateValidate without dispatch
POST/messages:previewPersist a deterministic no-provider policy and payload preview
POST/messages:estimatePersist a deterministic no-provider audience and cost estimate
GET/messages/{id}Get message
POST/messages/{id}:cancelCancel message
POST/messages/{id}:pausePause message
POST/messages/{id}:resumeResume message
POST/messages/{id}:retryRetry message
GET/messages/{id}/traceGet message trace
GET/apps/{id}/deliveriesList deliveries
POST/receiptsRecord receipt
GET/dead-lettersList dead letters
POST/dead-letters/{id}:replayReplay dead letter
GET/replay-jobsList replay jobs
GET/messages/{id}/diagnosticsDownload message diagnostics

Migration

MethodPathWhat it does
POST/sources/segmentSegment-compatible ingestion No key
POST/sources/segment/v1/batchSegment-compatible ingestion (batch) No key
POST/sources/segment/v1/trackSegment-compatible ingestion (track) No key
POST/sources/segment/v1/identifySegment-compatible ingestion (identify) No key
POST/sources/segment/v1/pageSegment-compatible ingestion (page) No key
POST/sources/segment/v1/screenSegment-compatible ingestion (screen) No key
POST/sources/segment/v1/groupSegment-compatible ingestion (group) No key
POST/sources/segment/v1/aliasSegment-compatible ingestion (alias) No key
POST/sources/segment/v1/importSegment-compatible ingestion (import) No key
GET/apps/{id}/migration-sourcesList migration sources
POST/apps/{id}/migration-sourcesCreate migration source
POST/migration-sources/{id}/jobsCreate migration job
POST/migration-jobs/{id}/records:batchImport migration records
POST/migration-jobs/{id}:completeComplete migration job
GET/migration-jobs/{id}Get migration job
POST/shadow:evaluateEvaluate migration shadow
GET/apps/{id}/shadow-evaluationsList migration shadow evaluations
GET/apps/{id}/dual-run-configGet dual run config
PUT/apps/{id}/dual-run-configPut dual run config
POST/apps/{id}/dual-run:rollbackRollback dual run
POST/apps/{id}/dual-run:readinessCreate dual run readiness
POST/dual-run:routeAssign exactly one delivery owner using a stable deterministic cohort
POST/dual-run-routes/{id}:source-resultRecord dual run source result
GET/apps/{id}/dual-run-routesList dual run routes

Operations

MethodPathWhat it does
GET/healthGet health No key
GET/readyGet ready No key
GET/openapi.jsonGet open api No key
GET/statusGet public status No key
GET/incidentsList incidents
GET/slo-reportGet sloreport
GET/demoGet push demo No key
GET/demo-sw.jsGet push demo worker No key

Preferences

MethodPathWhat it does
GET/apps/{id}/preference-centreList immutable preference-centre versions
PUT/apps/{id}/preference-centrePublish a new immutable hosted and embeddable preference-centre version
GET/apps/{id}/preference-compliance-policyGet the application evidence-retention policy
PUT/apps/{id}/preference-compliance-policyVersion-fence and update future evidence-retention windows
GET/apps/{id}/preference-legal-holdsList application and recipient legal holds
POST/apps/{id}/preference-legal-holdsCreate an application-wide or recipient-scoped legal hold
POST/preference-legal-holds/{id}:releaseRelease an active legal hold with immutable reason evidence
POST/preference-access-grants/{id}/revokeImmediately revoke a recipient preference link
GET/preference-centre/stateLoad recipient controls through a signed access grant
PUT/preference-centre/stateAtomically update recipient controls with optimistic concurrency
POST/preference-centre/confirmApply a separately signed double-opt-in confirmation
GET/preference-centre/exportDownload recipient state and append-only consent/access evidence

Providers and credentials

MethodPathWhat it does
GET/apps/{id}/vapidGet vapid key No key
POST/apps/{id}/vapid/rotateRotate vapid key
PUT/apps/{id}/credentials/fcmPut fcmcredentials
DELETE/apps/{id}/credentials/{provider}Revoke provider credential
PUT/apps/{id}/credentials/apnsPut apns credentials
PUT/apps/{id}/credentials/hmsHuawei Push Kit credential: AppGallery Connect app id and client secret
PUT/apps/{id}/credentials/admAmazon Device Messaging credential: Login with Amazon client id, secret and region
GET/apps/{id}/provider-credentialsList provider credential metadata
POST/provider-credential-changes/{id}:approveApprove provider credential change
GET/provider-healthList provider health
POST/provider-circuits/{id}:resetReset provider circuit

Routing and attention

MethodPathWhat it does
GET/apps/{id}/attention-policiesList attention policies
PUT/apps/{id}/attention-policiesPut attention policy
POST/routing:planExplainably choose channel, device, provider, and delivery time

SDK runtime

MethodPathWhat it does
GET/apps/{id}/remote-configPublished template, versions, history and fetch counts
POST/apps/{id}/remote-config/versionsSave a new template version
POST/apps/{id}/remote-config/versions/{version}:publishPublish a version
POST/apps/{id}/remote-config:rollbackPublish an earlier version again
POST/apps/{id}/remote-config:evaluateValues for a person or device, explained
GET/apps/{id}/sdk-healthList sdkhealth
GET/apps/{id}/sdk-configurationList sdkconfiguration
POST/apps/{id}/sdk-configuration/versionsCreate sdkconfiguration version
POST/apps/{id}/sdk-configuration/versions/{version}:publishPublish sdkconfiguration version

Security and audit

MethodPathWhat it does
GET/security-policyGet tenant security policy
PUT/security-policyPut tenant security policy
GET/security-alertsList security alerts
POST/security-alerts/{id}:acknowledgeAcknowledge security alert
GET/support-accessList support access
POST/support-accessRequest support access
POST/support-access/{id}:approveApprove support access
POST/support-access/{id}:revokeRevoke support access
GET/audit-eventsList audit events
GET/audit-events:verifyVerify audit events
POST/audit-events:exportCreate audit export
GET/audit-exports/{id}/downloadDownload audit export
GET/customer-key-configurationGet customer key configuration
PUT/customer-key-configurationPut customer key configuration

Users

MethodPathWhat it does
POST/apps/{id}/users/{user}/preference-access-grantsIssue a recipient-bound signed magic link
GET/apps/{id}/identity-verificationIdentity verification mode and key ids
PATCH/apps/{id}/identity-verificationSet identity verification to report or required
POST/apps/{id}/identity-keys:rotateCreate a new identity key (secret returned once)
POST/usersUpsert user
GET/apps/{id}/users/{user}Get user profile
PATCH/apps/{id}/users/{user}Patch user profile
POST/apps/{id}/users/{user}:forgetForget user
GET/apps/{id}/users/{user}/exportExport user identity
GET/apps/{id}/users/{user}/aliasesList user aliases
POST/apps/{id}/users/{user}/aliasesAdd user alias
DELETE/apps/{id}/user-aliases/{alias}Remove user alias
GET/apps/{id}/users/{user}/relationshipsList user relationships
POST/apps/{id}/users/{user}/relationshipsAdd user relationship
POST/apps/{id}/user-relationships/{relationship}:endEnd user relationship
GET/apps/{id}/users/{user}/identity-eventsList user identity events
GET/apps/{id}/users/{user}/devicesGet user device graph
POST/apps/{id}/users/{user}/devices/{installation}:transfer-anonymous-historyTransfer anonymous history
POST/apps/{id}/users/{user}/devices/{installation}:detachDetach user device
POST/apps/{id}/users/{user}/devices/{installation}:deleteDelete user device
GET/apps/{id}/users/{user}/identity-clusterGet user identity cluster
POST/apps/{id}/identity-merge-previewsPreview user identity merge
POST/apps/{id}/identity-mergesExecute user identity merge
POST/apps/{id}/identity-split-previewsPreview user identity split
POST/apps/{id}/identity-splitsExecute user identity split
GET/apps/{id}/identity-sync-sourcesList identity sync sources
POST/apps/{id}/identity-sync-sourcesCreate identity sync source
GET/apps/{id}/identity-sync-sources/{source}Get identity sync source
POST/apps/{id}/identity-sync-sources/{source}:pausePause identity sync source
POST/apps/{id}/identity-sync-sources/{source}:resumeResume identity sync source
POST/apps/{id}/identity-sync-sources/{source}/jobsStart identity sync job
POST/identity-sync-jobs/{job}/records:batchIngest identity sync batch
POST/identity-sync-jobs/{job}:completeComplete identity sync job
GET/identity-sync-jobs/{job}Get identity sync job
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/ServiceProviderConfigGet scimservice provider config
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/SchemasList scimschemas
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/Schemas/{scim_id}Get scimschema
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/ResourceTypesList scimresource types
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/ResourceTypes/{scim_id}Get scimresource type
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/UsersList scimusers
POST/apps/{id}/identity-sync-sources/{source}/scim/v2/UsersCreate scimuser
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/Users/{scim_id}Get scimuser
PUT/apps/{id}/identity-sync-sources/{source}/scim/v2/Users/{scim_id}Replace scimuser
PATCH/apps/{id}/identity-sync-sources/{source}/scim/v2/Users/{scim_id}Patch scimuser
DELETE/apps/{id}/identity-sync-sources/{source}/scim/v2/Users/{scim_id}Delete scimuser
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/GroupsList scimgroups
POST/apps/{id}/identity-sync-sources/{source}/scim/v2/GroupsCreate scimgroup
GET/apps/{id}/identity-sync-sources/{source}/scim/v2/Groups/{scim_id}Get scimgroup
PUT/apps/{id}/identity-sync-sources/{source}/scim/v2/Groups/{scim_id}Replace scimgroup
PATCH/apps/{id}/identity-sync-sources/{source}/scim/v2/Groups/{scim_id}Patch scimgroup
DELETE/apps/{id}/identity-sync-sources/{source}/scim/v2/Groups/{scim_id}Delete scimgroup
GET/apps/{id}/users/{user}/preferencesGet preferences
PUT/apps/{id}/users/{user}/preferences/{category}Put preference
GET/apps/{id}/users/{user}/consentsGet consents
POST/apps/{id}/users/{user}/consentsRecord consent
GET/apps/{id}/users/{user}/watchersA person's product watches (price drop, back in stock, wishlist)
PUT/apps/{id}/users/{user}/watchers/{product}Watch a product for a person
DELETE/apps/{id}/users/{user}/watchers/{product}Stop watching a product (all kinds, or ?kind=)
GET/apps/{id}/users/{user}/mutesA person's mutes (group, thread or actor:<id>)
PUT/apps/{id}/users/{user}/mutes/{key}Mute a group, a thread or one actor for a person, optionally until a time
DELETE/apps/{id}/users/{user}/mutes/{key}Unmute
GET/apps/{id}/users/{user}/badgeUnread inbox count (a notification group counts once) and the latest groups
GET/apps/{id}/users/{user}/notificationsList inbox notifications
GET/apps/{id}/users/{user}/attentionGet attention ledger
GET/apps/{id}/users/{user}/delivery-profileGet delivery profile
PUT/apps/{id}/users/{user}/delivery-profilePut delivery profile
PUT/apps/{id}/users/{user}/destinations/{channel}Put channel destination

Webhooks

MethodPathWhat it does
GET/webhooksList webhooks
POST/webhooksCreate webhook
DELETE/webhooks/{id}Delete webhook
POST/webhooks/{id}/testTest webhook

Workspace templates

MethodPathWhat it does
GET/workspace-templatesList workspace templates
POST/workspace-templatesCreate workspace template
GET/workspace-templates/{id}Get workspace template
POST/workspace-templates/{id}/versionsCreate workspace template version
POST/workspace-template-versions/{id}:request-publicationRequest workspace template publication
POST/workspace-template-publication-requests/{id}:approveApprove workspace template publication
POST/workspace-template-publication-requests/{id}:rejectReject workspace template publication
POST/workspace-templates/{id}:instantiateInstantiate workspace template
GET/workspace-template-instantiationsList workspace template instantiations

Machine-readable: openapi.json. Console: bolrach.com/push.