Skip to main content

OptInInvitationCreateResponse

Response for inviting a podcast owner to complete opt-in registration. Wraps the created (or reused) OptInInvitationDto with the public registration link the owner was sent, and whether the invitation email actually went out (best-effort).

invitation object

The created or reused opt-in invitation

idstring

Unique id of the opt-in invitation

Example: 7Hb2Kp9QvL3mNx0R8tZ4
podcastIdstring

Id of the podcast invited to opt into advertising

Example: 9Kp3Lm2QvX7nRt0B8wZ5
statusstring

Invitation lifecycle status

Possible values: [pending, started, completed, expired, cancelled]

Example: pending
expiresAtdate-time

When the invitation expires and can no longer be completed

Example: 2026-01-15T09:30:00Z
accessedAtdate-timenullable

When the podcast owner first opened the invitation link, if applicable

Example: 2026-01-15T09:30:00Z
completedAtdate-timenullable

When the podcast owner completed opt-in registration, if applicable

Example: 2026-01-15T09:30:00Z
createdAtdate-time

When the invitation was created

Example: 2026-01-15T09:30:00Z
updatedAtdate-time

When the invitation was last updated

Example: 2026-01-15T09:30:00Z
inviteUrlstring

Public link the podcast owner uses to complete registration

Example: https://app.adbridge.ai/opt-in/inv_3f9a2b7c1d8e4f60a5b2
reusedboolean

Whether an active invitation already existed and was reused instead of created

Example: false
emailSentboolean

Whether the invitation email was sent (best-effort; invitation exists regardless)

Example: true
OptInInvitationCreateResponse
{
"invitation": {
"id": "7Hb2Kp9QvL3mNx0R8tZ4",
"podcastId": "9Kp3Lm2QvX7nRt0B8wZ5",
"status": "pending",
"expiresAt": "2026-01-15T09:30:00Z",
"accessedAt": "2026-01-15T09:30:00Z",
"completedAt": "2026-01-15T09:30:00Z",
"createdAt": "2026-01-15T09:30:00Z",
"updatedAt": "2026-01-15T09:30:00Z"
},
"inviteUrl": "https://app.adbridge.ai/opt-in/inv_3f9a2b7c1d8e4f60a5b2",
"reused": false,
"emailSent": true
}