x-cpod-domain: marketing
Marketing
Campaigns, leads, content, events, social, emails, and analytics.
Try in explorer
client.marketingCampaign
A marketing campaign across one or more channels.
REST path
/api/v1/marketing/campaignsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.marketing.campaigns.list()
// create:
await client.marketing.campaigns.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
name: "example name",
app_id: "example app_id",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| name* | string | Campaign name. |
| type | enum | Campaign channel type.emailsocialcontenteventpaidorganicmulti_channel |
| status | enum | Campaign lifecycle status.draftactivepausedcompletedcancelled |
| start_date | date-time | ISO 8601 campaign start date. |
| end_date | date-time | ISO 8601 campaign end date. |
| budget | number | Allocated campaign budget. |
| spent | number | Amount spent so far. |
| goals | json | Campaign goals. |
| owner_id | string | User ID of the campaign owner. |
Lead
A marketing lead with a score and lifecycle status.
REST path
/api/v1/marketing/leadsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.marketing.leads.list()
// create:
await client.marketing.leads.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
name: "example name",
app_id: "example app_id",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| name* | string | Lead name. |
| Lead email address. | ||
| source | string | Lead source (e.g. website_form). |
| score | number | Lead score. |
| status | enum | Lead lifecycle status.newqualifiednurturingconvertedlost |
| contact_id | string | Linked contact ID. |
| account_id | string | Linked account ID. |
| campaign_id | string | Originating campaign ID. |
| assigned_to | string | User ID of the assignee. |
| notes | string | Free-form notes. |
Content
A marketing content asset (blog, whitepaper, video, etc.).
REST path
/api/v1/marketing/contentOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.marketing.content.list()
// create:
await client.marketing.content.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
title: "example title",
app_id: "example app_id",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| title* | string | Content title. |
| type | enum | Content type.blogwhitepapercase_studyvideoinfographicwebinarother |
| status | enum | Content lifecycle status.draftreviewpublishedarchived |
| author_id | string | User ID of the author. |
| published_at | date-time | ISO 8601 publish timestamp. |
| url | string | Published content URL. |
| campaign_id | string | Associated campaign ID. |
| tags | json | Free-form tags. |
| summary | string | Content summary. |
Event
A marketing event (webinar, conference, meetup, etc.).
REST path
/api/v1/marketing/eventsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.marketing.events.list()
// create:
await client.marketing.events.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
name: "example name",
app_id: "example app_id",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| name* | string | Event name. |
| type | enum | Event type.webinarconferencemeetupworkshoptrade_showother |
| status | enum | Event lifecycle status.planningactivecompletedcancelled |
| start_date | date-time | ISO 8601 event start date/time. |
| end_date | date-time | ISO 8601 event end date/time. |
| location | string | Event location (or 'Virtual'). |
| capacity | number | Maximum attendee capacity. |
| registered | number | Number of registered attendees. |
| campaign_id | string | Associated campaign ID. |
| organizer_id | string | User ID of the organizer. |
Social
A social media post on a marketing platform.
REST path
/api/v1/marketing/socialOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.marketing.social.list()
// create:
await client.marketing.social.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
platform: "twitter",
content: "example content",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| platform* | enum | Social platform.twitterlinkedinfacebookinstagramyoutubetiktokother |
| content* | string | Post content. |
| status | enum | Post lifecycle status.draftscheduledpublishedfailed |
| scheduled_at | date-time | ISO 8601 scheduled publish time. |
| published_at | date-time | ISO 8601 actual publish time. |
| engagement | json | Engagement metrics (likes, shares, comments). |
| campaign_id | string | Associated campaign ID. |
| author_id | string | User ID of the author. |
| external_id | string | External platform post ID. |
A marketing email blast with delivery and engagement rates.
REST path
/api/v1/marketing/emailsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.marketing.emails.list()
// create:
await client.marketing.emails.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
subject: "example subject",
app_id: "example app_id",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| subject* | string | Email subject line. |
| campaign_id | string | Associated campaign ID. |
| status | enum | Email lifecycle status.draftscheduledsentbouncedcancelled |
| template_id | string | Email template ID. |
| sent_at | date-time | ISO 8601 send timestamp. |
| scheduled_at | date-time | ISO 8601 scheduled send time. |
| recipient_count | number | Number of recipients. |
| open_rate | number | Open rate (0–1). |
| click_rate | number | Click-through rate (0–1). |
| bounce_rate | number | Bounce rate (0–1). |
| author_id | string | User ID of the author. |
MarketingAnalytics
A marketing analytics metric tied to a campaign.
REST path
/api/v1/marketing/analyticsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.marketing.analytics.list()
// create:
await client.marketing.analytics.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
campaign_id: "example campaign_id",
metric_type: "impressions",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| campaign_id* | string | Associated campaign ID. |
| metric_type* | enum | Type of marketing metric.impressionsclicksconversionsrevenuecost_per_leadcost_per_acquisitionroiother |
| value* | number | Metric value. |
| period | string | Reporting period (e.g. '2026-06'). |
| dimensions | json | Metric breakdown dimensions. |
| source | string | Source system (e.g. google_analytics). |