# info.summary
Organization-scoped email operations for applications and agents.

# info.description
Create and manage subscribers, tags, events, campaigns, and transactional email in Lumail. Every operation uses an organization API token as a Bearer credential.

# paths./api/v1/subscribers.get.description
Returns a cursor-paginated list of subscribers in the authenticated organization.

# paths./api/v1/subscribers.get.responses.400.description
The request could not be validated or completed.

# paths./api/v1/subscribers.get.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/subscribers.get.responses.404.description
The requested organization resource was not found.

# paths./api/v1/subscribers.get.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/subscribers.get.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/subscribers.post.description
Creates a subscriber or updates the matching organization subscriber and optional tags or custom fields.

# paths./api/v1/subscribers.post.responses.400.description
The request could not be validated or completed.

# paths./api/v1/subscribers.post.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/subscribers.post.responses.404.description
The requested organization resource was not found.

# paths./api/v1/subscribers.post.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/subscribers.post.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/subscribers/{subscriber}.get.description
Returns one subscriber by organization-scoped ID or email address.

# paths./api/v1/subscribers/{subscriber}.get.parameters[].description
Subscriber ID or email address in the authenticated organization.

# paths./api/v1/subscribers/{subscriber}.get.responses.400.description
The request could not be validated or completed.

# paths./api/v1/subscribers/{subscriber}.get.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/subscribers/{subscriber}.get.responses.404.description
The requested organization resource was not found.

# paths./api/v1/subscribers/{subscriber}.get.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/subscribers/{subscriber}.get.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/subscribers/{subscriber}.patch.description
Updates the identified subscriber, including fields, tags, and subscription state options.

# paths./api/v1/subscribers/{subscriber}.patch.parameters[].description
Subscriber ID or email address in the authenticated organization.

# paths./api/v1/subscribers/{subscriber}.patch.responses.400.description
The request could not be validated or completed.

# paths./api/v1/subscribers/{subscriber}.patch.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/subscribers/{subscriber}.patch.responses.404.description
The requested organization resource was not found.

# paths./api/v1/subscribers/{subscriber}.patch.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/subscribers/{subscriber}.patch.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/subscribers/{subscriber}.delete.description
Permanently deletes the identified subscriber and its organization-scoped activity data.

# paths./api/v1/subscribers/{subscriber}.delete.parameters[].description
Subscriber ID or email address in the authenticated organization.

# paths./api/v1/subscribers/{subscriber}.delete.responses.400.description
The request could not be validated or completed.

# paths./api/v1/subscribers/{subscriber}.delete.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/subscribers/{subscriber}.delete.responses.404.description
The requested organization resource was not found.

# paths./api/v1/subscribers/{subscriber}.delete.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/subscribers/{subscriber}.delete.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/subscribers/{subscriber}/tags.post.description
Creates missing organization tags and attaches the requested tags to the subscriber.

# paths./api/v1/subscribers/{subscriber}/tags.post.parameters[].description
Subscriber ID or email address in the authenticated organization.

# paths./api/v1/subscribers/{subscriber}/tags.post.responses.400.description
The request could not be validated or completed.

# paths./api/v1/subscribers/{subscriber}/tags.post.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/subscribers/{subscriber}/tags.post.responses.404.description
The requested organization resource was not found.

# paths./api/v1/subscribers/{subscriber}/tags.post.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/subscribers/{subscriber}/tags.post.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/subscribers/{subscriber}/tags.delete.description
Removes the JSON-encoded tag-name list supplied in the tags query parameter.

# paths./api/v1/subscribers/{subscriber}/tags.delete.parameters[].description
Subscriber ID or email address in the authenticated organization.

# paths./api/v1/subscribers/{subscriber}/tags.delete.responses.400.description
The request could not be validated or completed.

# paths./api/v1/subscribers/{subscriber}/tags.delete.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/subscribers/{subscriber}/tags.delete.responses.404.description
The requested organization resource was not found.

# paths./api/v1/subscribers/{subscriber}/tags.delete.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/subscribers/{subscriber}/tags.delete.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/subscribers/{subscriber}/events.get.description
Returns cursor-paginated activity for one subscriber with optional type, date, order, and search filters.

# paths./api/v1/subscribers/{subscriber}/events.get.parameters[].description
Subscriber ID or email address in the authenticated organization.

# paths./api/v1/subscribers/{subscriber}/events.get.responses.400.description
The request could not be validated or completed.

# paths./api/v1/subscribers/{subscriber}/events.get.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/subscribers/{subscriber}/events.get.responses.404.description
The requested organization resource was not found.

# paths./api/v1/subscribers/{subscriber}/events.get.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/subscribers/{subscriber}/events.get.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/events.post.description
Records a typed activity event for a subscriber identified by ID or email.

# paths./api/v1/events.post.responses.400.description
The request could not be validated or completed.

# paths./api/v1/events.post.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/events.post.responses.404.description
The requested organization resource was not found.

# paths./api/v1/events.post.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/events.post.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/tags.get.description
Returns every audience tag in the authenticated organization.

# paths./api/v1/tags.get.responses.400.description
The request could not be validated or completed.

# paths./api/v1/tags.get.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/tags.get.responses.404.description
The requested organization resource was not found.

# paths./api/v1/tags.get.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/tags.get.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/tags.post.description
Creates one audience tag in the authenticated organization.

# paths./api/v1/tags.post.responses.400.description
The request could not be validated or completed.

# paths./api/v1/tags.post.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/tags.post.responses.404.description
The requested organization resource was not found.

# paths./api/v1/tags.post.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/tags.post.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/tags/{tag}.get.description
Returns one organization tag and its subscriber count.

# paths./api/v1/tags/{tag}.get.parameters[].description
Tag ID or exact tag name in the authenticated organization.

# paths./api/v1/tags/{tag}.get.responses.400.description
The request could not be validated or completed.

# paths./api/v1/tags/{tag}.get.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/tags/{tag}.get.responses.404.description
The requested organization resource was not found.

# paths./api/v1/tags/{tag}.get.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/tags/{tag}.get.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/campaigns.get.description
Returns paginated campaigns with status, search, and ordering filters.

# paths./api/v1/campaigns.get.responses.400.description
The request could not be validated or completed.

# paths./api/v1/campaigns.get.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/campaigns.get.responses.404.description
The requested organization resource was not found.

# paths./api/v1/campaigns.get.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/campaigns.get.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/campaigns.post.description
Creates a draft campaign using an explicit or organization-default email sender.

# paths./api/v1/campaigns.post.responses.400.description
The request could not be validated or completed.

# paths./api/v1/campaigns.post.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/campaigns.post.responses.404.description
The requested organization resource was not found.

# paths./api/v1/campaigns.post.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/campaigns.post.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/campaigns/{campaignId}.get.description
Returns one campaign and its current draft or send metadata.

# paths./api/v1/campaigns/{campaignId}.get.parameters[].description
Campaign ID in the authenticated organization.

# paths./api/v1/campaigns/{campaignId}.get.responses.400.description
The request could not be validated or completed.

# paths./api/v1/campaigns/{campaignId}.get.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/campaigns/{campaignId}.get.responses.404.description
The requested organization resource was not found.

# paths./api/v1/campaigns/{campaignId}.get.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/campaigns/{campaignId}.get.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/campaigns/{campaignId}.patch.description
Updates mutable content and sender fields while the campaign remains a draft.

# paths./api/v1/campaigns/{campaignId}.patch.parameters[].description
Campaign ID in the authenticated organization.

# paths./api/v1/campaigns/{campaignId}.patch.responses.400.description
The request could not be validated or completed.

# paths./api/v1/campaigns/{campaignId}.patch.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/campaigns/{campaignId}.patch.responses.404.description
The requested organization resource was not found.

# paths./api/v1/campaigns/{campaignId}.patch.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/campaigns/{campaignId}.patch.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/campaigns/{campaignId}.delete.description
Deletes the campaign only when it is still in draft state.

# paths./api/v1/campaigns/{campaignId}.delete.parameters[].description
Campaign ID in the authenticated organization.

# paths./api/v1/campaigns/{campaignId}.delete.responses.400.description
The request could not be validated or completed.

# paths./api/v1/campaigns/{campaignId}.delete.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/campaigns/{campaignId}.delete.responses.404.description
The requested organization resource was not found.

# paths./api/v1/campaigns/{campaignId}.delete.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/campaigns/{campaignId}.delete.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/campaigns/{campaignId}/send.post.description
Atomically transitions a valid draft to scheduled state and queues its delivery workflow.

# paths./api/v1/campaigns/{campaignId}/send.post.parameters[].description
Campaign ID in the authenticated organization.

# paths./api/v1/campaigns/{campaignId}/send.post.responses.400.description
The request could not be validated or completed.

# paths./api/v1/campaigns/{campaignId}/send.post.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/campaigns/{campaignId}/send.post.responses.404.description
The requested organization resource was not found.

# paths./api/v1/campaigns/{campaignId}/send.post.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/campaigns/{campaignId}/send.post.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/emails.post.description
Queues one transactional email with Markdown, HTML, or Tiptap content through the priority delivery lane.

# paths./api/v1/emails.post.responses.400.description
The request could not be validated or completed.

# paths./api/v1/emails.post.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/emails.post.responses.404.description
The requested organization resource was not found.

# paths./api/v1/emails.post.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/emails.post.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# paths./api/v1/emails/verify.post.description
Checks the syntax and deliverability signals available for one email address.

# paths./api/v1/emails/verify.post.responses.400.description
The request could not be validated or completed.

# paths./api/v1/emails/verify.post.responses.401.description
The bearer token is missing, invalid, or expired.

# paths./api/v1/emails/verify.post.responses.404.description
The requested organization resource was not found.

# paths./api/v1/emails/verify.post.responses.429.description
The organization API rate limit was exceeded.

# paths./api/v1/emails/verify.post.responses.429.headers.Retry-After.description
Seconds until another request should be attempted.

# components.securitySchemes.bearerAuth.description
Create an organization API token in Lumail and send it as Authorization: Bearer lum_....