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
podcast_idstring

Id of the podcast invited to opt into advertising

Example: 9Kp3Lm2QvX7nRt0B8wZ5
statusstring

Invitation lifecycle status

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

Example: pending
expires_atdate-time

When the invitation expires and can no longer be completed

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

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

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

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

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

When the invitation was created

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

When the invitation was last updated

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

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
email_sentboolean

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

Example: true
OptInInvitationCreateResponse
{
"invitation": {
"id": "7Hb2Kp9QvL3mNx0R8tZ4",
"podcast_id": "9Kp3Lm2QvX7nRt0B8wZ5",
"status": "pending",
"expires_at": "2026-01-15T09:30:00Z",
"accessed_at": "2026-01-15T09:30:00Z",
"completed_at": "2026-01-15T09:30:00Z",
"created_at": "2026-01-15T09:30:00Z",
"updated_at": "2026-01-15T09:30:00Z"
},
"invite_url": "https://app.adbridge.ai/opt-in/inv_3f9a2b7c1d8e4f60a5b2",
"reused": false,
"email_sent": true
}