{ "components": { "parameters": { "PaginationAfter": { "description": "Return items after this cursor.", "in": "query", "name": "after", "required": false, "schema": { "type": "string" } }, "PaginationBefore": { "description": "Return items before this cursor.", "in": "query", "name": "before", "required": false, "schema": { "type": "string" } }, "PaginationLimit": { "description": "Number of items to return.", "in": "query", "name": "limit", "required": false, "schema": { "maximum": 100, "minimum": 1, "type": "integer" } } }, "schemas": { "AddContactToSegmentResponseSuccess": { "properties": { "contact_id": { "description": "The ID of the contact.", "type": "string" }, "object": { "description": "The object type.", "example": "contact_segment", "type": "string" }, "segment_id": { "description": "The ID of the segment.", "type": "string" } }, "type": "object" }, "ApiKey": { "properties": { "created_at": { "description": "The date and time the API key was created.", "format": "date-time", "type": "string" }, "id": { "description": "The ID of the API key.", "type": "string" }, "last_used_at": { "description": "The date and time the API key was last used.", "format": "date-time", "nullable": true, "type": "string" }, "name": { "description": "The name of the API key.", "type": "string" } }, "type": "object" }, "Attachment": { "properties": { "content": { "description": "Content of an attached file.", "format": "binary", "type": "string" }, "content_id": { "description": "Content ID for embedding inline images using cid references (e.g., cid:image001).", "type": "string" }, "content_type": { "description": "Optional content type for the attachment, if not set it will be derived from the filename property", "type": "string" }, "filename": { "description": "Name of attached file.", "type": "string" }, "path": { "description": "Path where the attachment file is hosted", "type": "string" } }, "type": "object" }, "Automation": { "properties": { "connections": { "description": "The connections between steps in the active version of the automation.", "items": { "$ref": "#/components/schemas/AutomationConnection" }, "type": "array" }, "created_at": { "description": "The date and time the automation was created.", "type": "string" }, "id": { "description": "The ID of the automation.", "type": "string" }, "name": { "description": "The name of the automation.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "automation", "type": "string" }, "status": { "description": "The current status of the automation.", "enum": [ "enabled", "disabled" ], "type": "string" }, "steps": { "description": "The steps in the active version of the automation.", "items": { "$ref": "#/components/schemas/AutomationStepResponse" }, "type": "array" }, "updated_at": { "description": "The date and time the automation was last updated.", "type": "string" } }, "type": "object" }, "AutomationConnection": { "description": "A connection between two steps in the automation graph.", "properties": { "from": { "description": "The `key` of the source step.", "type": "string" }, "to": { "description": "The `key` of the target step.", "type": "string" }, "type": { "default": "default", "description": "The type of connection. Defaults to `default`.", "enum": [ "default", "condition_met", "condition_not_met", "timeout", "event_received" ], "type": "string" } }, "required": [ "from", "to" ], "type": "object" }, "AutomationListItem": { "properties": { "created_at": { "description": "The date and time the automation was created.", "type": "string" }, "id": { "description": "The ID of the automation.", "type": "string" }, "name": { "description": "The name of the automation.", "type": "string" }, "status": { "description": "The current status of the automation.", "enum": [ "enabled", "disabled" ], "type": "string" }, "updated_at": { "description": "The date and time the automation was last updated.", "type": "string" } }, "type": "object" }, "AutomationRun": { "properties": { "completed_at": { "description": "The date and time the run completed.", "nullable": true, "type": "string" }, "created_at": { "description": "The date and time the run was created.", "type": "string" }, "id": { "description": "The ID of the automation run.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "automation_run", "type": "string" }, "started_at": { "description": "The date and time the run started.", "nullable": true, "type": "string" }, "status": { "description": "The current status of the automation run.", "enum": [ "running", "completed", "failed", "cancelled" ], "type": "string" }, "steps": { "description": "The steps executed in this run, sorted in graph order.", "items": { "$ref": "#/components/schemas/AutomationRunStep" }, "type": "array" } }, "type": "object" }, "AutomationRunListItem": { "properties": { "completed_at": { "description": "The date and time the run completed.", "nullable": true, "type": "string" }, "created_at": { "description": "The date and time the run was created.", "type": "string" }, "id": { "description": "The ID of the automation run.", "type": "string" }, "started_at": { "description": "The date and time the run started.", "nullable": true, "type": "string" }, "status": { "description": "The current status of the automation run.", "enum": [ "running", "completed", "failed", "cancelled" ], "type": "string" } }, "type": "object" }, "AutomationRunStep": { "description": "A step execution within an automation run.", "properties": { "completed_at": { "description": "The date and time the step completed executing.", "nullable": true, "type": "string" }, "created_at": { "description": "The date and time the step record was created.", "type": "string" }, "error": { "description": "The error produced by the step, if any.", "nullable": true }, "key": { "description": "The key of the automation step.", "type": "string" }, "output": { "description": "The output produced by the step, if any.", "nullable": true }, "started_at": { "description": "The date and time the step started executing.", "nullable": true, "type": "string" }, "status": { "description": "The execution status of this step.", "type": "string" }, "type": { "description": "The type of automation step.", "enum": [ "trigger", "send_email", "delay", "wait_for_event", "condition", "contact_update", "contact_delete", "add_to_segment" ], "type": "string" } }, "type": "object" }, "AutomationStep": { "description": "A step in an automation workflow. The `config` object varies based on the step `type`.", "properties": { "config": { "description": "Configuration for the step. Shape depends on `type`: - **trigger**: `{ event_name: string }` - **send_email**: `{ template: { id: string, variables?: object }, subject?: string, from?: string, reply_to?: string }` - **delay**: `{ duration: string }` \u2014 a human-readable duration (e.g. `\"30 minutes\"`) - **wait_for_event**: `{ event_name: string, timeout?: string, filter_rule?: object }` \u2014 `timeout` is a human-readable duration (e.g. `\"1 hour\"`) - **condition**: A rule tree with `type` (`rule`, `and`, `or`), `field`, `operator`, and `value` - **contact_update**: `{ first_name?: string|object, last_name?: string|object, unsubscribed?: boolean|object, properties?: object }` - **contact_delete**: `{}` - **add_to_segment**: `{ segment_id: string }`\n", "type": "object" }, "key": { "description": "A unique key for this step within the automation graph.", "type": "string" }, "type": { "description": "The type of automation step.", "enum": [ "trigger", "send_email", "delay", "wait_for_event", "condition", "contact_update", "contact_delete", "add_to_segment" ], "type": "string" } }, "required": [ "key", "type", "config" ], "type": "object" }, "AutomationStepResponse": { "description": "A step as returned when retrieving an automation.", "properties": { "config": { "description": "Configuration for the step. Shape depends on `type`. For `delay` steps, config contains `{ duration: string }` with a human-readable duration (e.g. `\"30 minutes\"`). For `wait_for_event` steps, config contains `{ event_name: string, timeout?: string, filter_rule?: object }` where `timeout` is a human-readable duration.\n", "type": "object" }, "key": { "description": "The unique key of this step within the automation graph.", "type": "string" }, "type": { "description": "The type of automation step.", "enum": [ "trigger", "send_email", "delay", "wait_for_event", "condition", "contact_update", "contact_delete", "add_to_segment" ], "type": "string" } }, "type": "object" }, "CreateApiKeyRequest": { "properties": { "domain_id": { "description": "Restrict an API key to send emails only from a specific domain. Only used when the permission is sending_access.", "type": "string" }, "name": { "description": "The API key name.", "type": "string" }, "permission": { "description": "The API key can have full access to Resend\u2019s API or be only restricted to send emails. * full_access - Can create, delete, get, and update any resource. * sending_access - Can only send emails.", "enum": [ "full_access", "sending_access" ], "type": "string" } }, "required": [ "name" ], "type": "object" }, "CreateApiKeyResponse": { "properties": { "id": { "description": "The ID of the API key.", "type": "string" }, "token": { "description": "The token of the API key.", "type": "string" } }, "type": "object" }, "CreateAudienceOptions": { "deprecated": true, "properties": { "name": { "description": "The name of the audience you want to create.", "type": "string" } }, "required": [ "name" ], "type": "object" }, "CreateAudienceResponseSuccess": { "deprecated": true, "properties": { "id": { "description": "The ID of the audience.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "name": { "description": "The name of the audience.", "example": "Registered Users", "type": "string" }, "object": { "description": "The object of the audience.", "example": "audience", "type": "string" } }, "type": "object" }, "CreateAutomationRequest": { "properties": { "connections": { "description": "The connections between steps in the automation graph.", "items": { "$ref": "#/components/schemas/AutomationConnection" }, "type": "array" }, "name": { "description": "The name of the automation.", "minLength": 1, "type": "string" }, "status": { "default": "disabled", "description": "The initial status of the automation. Defaults to `disabled`.", "enum": [ "enabled", "disabled" ], "type": "string" }, "steps": { "description": "The steps that compose the automation workflow. Must include at least one `trigger` step.", "items": { "$ref": "#/components/schemas/AutomationStep" }, "maxItems": 150, "minItems": 1, "type": "array" } }, "required": [ "name", "steps", "connections" ], "type": "object" }, "CreateAutomationResponse": { "properties": { "id": { "description": "The ID of the created automation.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "automation", "type": "string" } }, "type": "object" }, "CreateBatchEmailsResponse": { "properties": { "data": { "items": { "properties": { "id": { "description": "The ID of the sent email.", "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "CreateBroadcastOptions": { "properties": { "audience_id": { "deprecated": true, "description": "Use `segment_id` instead. Unique identifier of the segment this broadcast will be sent to.", "type": "string" }, "from": { "description": "The email address of the sender.", "type": "string" }, "html": { "description": "The HTML version of the message.", "type": "string" }, "name": { "description": "Name of the broadcast.", "type": "string" }, "preview_text": { "description": "The preview text of the email.", "example": "Here are our announcements", "type": "string" }, "reply_to": { "description": "The email addresses to which replies should be sent.", "items": { "type": "string" }, "type": "array" }, "scheduled_at": { "description": "Schedule time to send the broadcast. Can only be used if `send` is true.\n", "type": "string" }, "segment_id": { "description": "Unique identifier of the segment this broadcast will be sent to.", "type": "string" }, "send": { "description": "Whether to send the broadcast immediately or keep it as a draft.\n", "type": "boolean" }, "subject": { "description": "The subject line of the email.", "type": "string" }, "text": { "description": "The plain text version of the message.", "type": "string" }, "topic_id": { "description": "The topic ID that the broadcast will be scoped to.", "type": "string" } }, "required": [ "from", "subject", "segment_id" ], "type": "object" }, "CreateBroadcastResponseSuccess": { "properties": { "id": { "description": "The ID of the broadcast.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type of the response.", "example": "broadcast", "type": "string" } }, "type": "object" }, "CreateContactOptions": { "properties": { "audience_id": { "deprecated": true, "description": "Unique identifier of the audience to which the contact belongs.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "email": { "description": "Email address of the contact.", "example": "steve.wozniak@gmail.com", "type": "string" }, "first_name": { "description": "First name of the contact.", "example": "Steve", "type": "string" }, "last_name": { "description": "Last name of the contact.", "example": "Wozniak", "type": "string" }, "properties": { "additionalProperties": true, "description": "A map of custom property keys and values to create.", "type": "object" }, "segments": { "description": "Array of segment IDs to add the contact to.", "items": { "type": "string" }, "type": "array" }, "topics": { "description": "Array of topic subscriptions for the contact.", "items": { "properties": { "id": { "description": "The topic ID.", "type": "string" }, "subscription": { "description": "The subscription status for this topic.", "enum": [ "opt_in", "opt_out" ], "type": "string" } }, "type": "object" }, "type": "array" }, "unsubscribed": { "description": "The Contact's global subscription status. If set to true, the contact will be unsubscribed from all Broadcasts.", "example": false, "type": "boolean" } }, "required": [ "email" ], "type": "object" }, "CreateContactPropertyOptions": { "properties": { "fallback_value": { "description": "The default value to use when the property is not set for a contact. Must match the type specified in the type field.", "oneOf": [ { "type": "string" }, { "type": "number" } ] }, "key": { "description": "The property key. Max length is 50 characters. Only alphanumeric characters and underscores are allowed.", "type": "string" }, "type": { "description": "The property type.", "enum": [ "string", "number" ], "type": "string" } }, "required": [ "key", "type" ], "type": "object" }, "CreateContactPropertyResponseSuccess": { "properties": { "id": { "description": "The ID of the contact property.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type of the response.", "example": "contact_property", "type": "string" } }, "type": "object" }, "CreateContactResponseSuccess": { "properties": { "id": { "description": "Unique identifier for the created contact.", "example": "479e3145-dd38-476b-932c-529ceb705947", "type": "string" }, "object": { "description": "Type of the response object.", "example": "contact", "type": "string" } }, "type": "object" }, "CreateDomainRequest": { "properties": { "capabilities": { "$ref": "#/components/schemas/DomainCapabilities" }, "click_tracking": { "description": "Track clicks within the body of each HTML email.", "type": "boolean" }, "custom_return_path": { "description": "For advanced use cases, choose a subdomain for the Return-Path address. Defaults to 'send' (i.e., send.yourdomain.tld).", "type": "string" }, "name": { "description": "The name of the domain you want to create.", "type": "string" }, "open_tracking": { "description": "Track the open rate of each email.", "type": "boolean" }, "region": { "default": "us-east-1", "description": "The region where emails will be sent from. Possible values are us-east-1 | eu-west-1 | sa-east-1 | ap-northeast-1", "enum": [ "us-east-1", "eu-west-1", "sa-east-1", "ap-northeast-1" ], "type": "string" }, "tls": { "default": "opportunistic", "description": "TLS mode. Opportunistic attempts secure connection but falls back to unencrypted. Enforced requires TLS or email won't be sent.", "enum": [ "opportunistic", "enforced" ], "type": "string" }, "tracking_subdomain": { "description": "The subdomain to use for click and open tracking.", "type": "string" } }, "required": [ "name" ], "type": "object" }, "CreateDomainResponse": { "properties": { "capabilities": { "$ref": "#/components/schemas/DomainCapabilities" }, "click_tracking": { "description": "Whether click tracking is enabled for this domain.", "type": "boolean" }, "created_at": { "description": "The date and time the domain was created.", "format": "date-time", "type": "string" }, "id": { "description": "The ID of the domain.", "type": "string" }, "name": { "description": "The name of the domain.", "type": "string" }, "open_tracking": { "description": "Whether open tracking is enabled for this domain.", "type": "boolean" }, "records": { "items": { "$ref": "#/components/schemas/DomainRecord" }, "type": "array" }, "region": { "description": "The region where the domain is hosted.", "type": "string" }, "status": { "description": "The status of the domain.", "type": "string" }, "tracking_subdomain": { "description": "The subdomain used for click and open tracking.", "type": "string" } }, "type": "object" }, "CreateEventRequest": { "properties": { "name": { "description": "The name of the event. Cannot start with the reserved `resend:` prefix.", "type": "string" }, "schema": { "description": "An optional flat key/type map defining the event payload schema. Supported types are `string`, `number`, `boolean`, and `date`.", "nullable": true, "type": "object" } }, "required": [ "name" ], "type": "object" }, "CreateEventResponse": { "properties": { "id": { "description": "The ID of the created event.", "format": "uuid", "type": "string" }, "object": { "description": "Type of the response object.", "example": "event", "type": "string" } }, "type": "object" }, "CreateSegmentOptions": { "properties": { "audience_id": { "deprecated": true, "description": "The ID of the audience this segment belongs to.", "type": "string" }, "filter": { "description": "Filter conditions for the segment.", "type": "object" }, "name": { "description": "The name of the segment.", "type": "string" } }, "required": [ "name" ], "type": "object" }, "CreateSegmentResponseSuccess": { "properties": { "id": { "description": "The ID of the segment.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type of the response.", "example": "segment", "type": "string" } }, "type": "object" }, "CreateTemplateRequest": { "properties": { "alias": { "description": "The alias of the template.", "type": "string" }, "from": { "description": "Sender email address. To include a friendly name, use the format \"Your Name \".", "type": "string" }, "html": { "description": "The HTML version of the template.", "type": "string" }, "name": { "description": "The name of the template.", "type": "string" }, "reply_to": { "description": "Reply-to email addresses.", "items": { "type": "string" }, "type": "array" }, "subject": { "description": "Email subject.", "type": "string" }, "text": { "description": "The plain text version of the template.", "type": "string" }, "variables": { "items": { "$ref": "#/components/schemas/TemplateVariableInput" }, "type": "array" } }, "required": [ "name", "html" ], "type": "object" }, "CreateTemplateResponseSuccess": { "properties": { "id": { "description": "The ID of the template.", "type": "string" }, "object": { "description": "The object type of the response.", "example": "template", "type": "string" } }, "type": "object" }, "CreateTopicOptions": { "properties": { "default_subscription": { "description": "The default subscription status for the topic. Cannot be changed after creation.", "enum": [ "opt_in", "opt_out" ], "type": "string" }, "description": { "description": "A description of the topic. Max 200 characters.", "maxLength": 200, "type": "string" }, "name": { "description": "The name of the topic. Max 50 characters.", "maxLength": 50, "type": "string" }, "visibility": { "default": "private", "description": "The visibility of the topic. Public topics are visible to all contacts on the unsubscribe page. Private topics are only visible to opted-in contacts.", "enum": [ "public", "private" ], "type": "string" } }, "required": [ "name", "default_subscription" ], "type": "object" }, "CreateTopicResponseSuccess": { "properties": { "id": { "description": "The ID of the topic.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type of the response.", "example": "topic", "type": "string" } }, "type": "object" }, "CreateWebhookRequest": { "properties": { "endpoint": { "description": "The URL where webhook events will be sent.", "example": "https://webhook.example.com/handler", "type": "string" }, "events": { "description": "Array of event types to subscribe to.", "example": [ "email.sent", "email.delivered", "email.bounced" ], "items": { "type": "string" }, "minItems": 1, "type": "array" } }, "required": [ "endpoint", "events" ], "type": "object" }, "CreateWebhookResponse": { "properties": { "id": { "description": "The ID of the webhook.", "example": "479e3145-dd38-476b-932c-529ceb705947", "format": "uuid", "type": "string" }, "object": { "description": "The type of object.", "example": "webhook", "type": "string" }, "signing_secret": { "description": "The secret key used to verify webhook payloads.", "example": "whsec_...", "type": "string" } }, "type": "object" }, "DeleteApiKeyResponse": { "properties": { "deleted": { "description": "Indicates whether the API key was successfully deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the API key.", "type": "string" }, "object": { "description": "The type of object.", "example": "api_key", "type": "string" } }, "type": "object" }, "DeleteAutomationResponse": { "properties": { "deleted": { "description": "Indicates whether the automation was successfully deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the deleted automation.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "automation", "type": "string" } }, "type": "object" }, "DeleteDomainResponse": { "properties": { "deleted": { "description": "Indicates whether the domain was deleted successfully.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the domain.", "example": "d91cd9bd-1176-453e-8fc1-35364d380206", "type": "string" }, "object": { "description": "The type of object.", "example": "domain", "type": "string" } }, "type": "object" }, "DeleteWebhookResponse": { "properties": { "deleted": { "description": "Indicates whether the webhook was successfully deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the deleted webhook.", "example": "479e3145-dd38-476b-932c-529ceb705947", "format": "uuid", "type": "string" }, "object": { "description": "The type of object.", "example": "webhook", "type": "string" } }, "type": "object" }, "Domain": { "properties": { "capabilities": { "$ref": "#/components/schemas/DomainCapabilities" }, "click_tracking": { "description": "Whether click tracking is enabled for this domain.", "type": "boolean" }, "created_at": { "description": "The date and time the domain was created.", "example": "2023-04-26T20:21:26.347412+00:00", "format": "date-time", "type": "string" }, "id": { "description": "The ID of the domain.", "example": "d91cd9bd-1176-453e-8fc1-35364d380206", "type": "string" }, "name": { "description": "The name of the domain.", "example": "example.com", "type": "string" }, "object": { "description": "The type of object.", "example": "domain", "type": "string" }, "open_tracking": { "description": "Whether open tracking is enabled for this domain.", "type": "boolean" }, "records": { "items": { "$ref": "#/components/schemas/DomainRecord" }, "type": "array" }, "region": { "description": "The region where the domain is hosted.", "example": "us-east-1", "type": "string" }, "status": { "description": "The status of the domain.", "example": "not_started", "type": "string" }, "tracking_subdomain": { "description": "The subdomain used for click and open tracking.", "type": "string" } }, "type": "object" }, "DomainCapabilities": { "description": "Configure the domain capabilities for sending and receiving emails. At least one capability must be enabled.", "properties": { "receiving": { "description": "Enable or disable receiving emails to this domain.", "enum": [ "enabled", "disabled" ], "type": "string" }, "sending": { "description": "Enable or disable sending emails from this domain.", "enum": [ "enabled", "disabled" ], "type": "string" } }, "type": "object" }, "DomainRecord": { "properties": { "name": { "description": "The name of the DNS record.", "type": "string" }, "priority": { "description": "The priority of the record (only applicable for MX records).", "type": "integer" }, "record": { "description": "The type of record (SPF for sending, DKIM for sending, Receiving for inbound emails, Tracking for click and open tracking).", "enum": [ "SPF", "DKIM", "Receiving", "Tracking" ], "type": "string" }, "status": { "description": "The status of the record.", "enum": [ "pending", "verified", "failed", "temporary_failure", "not_started" ], "type": "string" }, "ttl": { "description": "The time to live for the record.", "type": "string" }, "type": { "description": "The DNS record type.", "enum": [ "MX", "TXT", "CNAME" ], "type": "string" }, "value": { "description": "The value of the record.", "type": "string" } }, "type": "object" }, "DuplicateTemplateResponseSuccess": { "properties": { "id": { "description": "The ID of the duplicated template.", "type": "string" }, "object": { "description": "The object type of the response.", "example": "template", "type": "string" } }, "type": "object" }, "Email": { "properties": { "bcc": { "description": "The email addresses of the blind carbon copy recipients.", "items": { "type": "string" }, "type": "array" }, "cc": { "description": "The email addresses of the carbon copy recipients.", "items": { "type": "string" }, "type": "array" }, "created_at": { "description": "The date and time the email was created.", "example": "2023-04-03T22:13:42.674981+00:00", "format": "date-time", "type": "string" }, "from": { "description": "The email address of the sender.", "example": "Acme ", "type": "string" }, "html": { "description": "The HTML body of the email.", "example": "Congrats on sending your first email!", "type": "string" }, "id": { "description": "The ID of the email.", "example": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c", "type": "string" }, "last_event": { "description": "The status of the email.", "example": "delivered", "type": "string" }, "object": { "description": "The type of object.", "example": "email", "type": "string" }, "reply_to": { "description": "The email addresses to which replies should be sent.", "items": { "type": "string" }, "type": "array" }, "subject": { "description": "The subject line of the email.", "example": "Hello World", "type": "string" }, "text": { "description": "The plain text body of the email.", "type": "string" }, "to": { "example": [ "delivered@resend.dev" ], "items": { "description": "The email addresses of the recipients.", "type": "string" }, "type": "array" } }, "type": "object" }, "EmailTemplateInput": { "properties": { "id": { "description": "The id of the published email template.", "type": "string" }, "variables": { "additionalProperties": { "oneOf": [ { "type": "string" }, { "type": "number" } ] }, "description": "Template variables object with key/value pairs.", "example": { "variableName": "Sign up now", "variableName2": 123 }, "type": "object" } }, "required": [ "id" ], "type": "object" }, "Event": { "properties": { "created_at": { "description": "The date and time the event was created.", "type": "string" }, "id": { "description": "The event ID.", "format": "uuid", "type": "string" }, "name": { "description": "The event name.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "event", "type": "string" }, "schema": { "description": "A flat key/type map defining the event payload schema. Supported types are `string`, `number`, `boolean`, and `date`.", "nullable": true, "type": "object" }, "updated_at": { "description": "The date and time the event was last updated.", "nullable": true, "type": "string" } }, "type": "object" }, "EventSummary": { "properties": { "created_at": { "description": "The date and time the event was created.", "type": "string" }, "id": { "description": "The event ID.", "format": "uuid", "type": "string" }, "name": { "description": "The event name.", "type": "string" }, "schema": { "description": "A flat key/type map defining the event payload schema. Supported types are `string`, `number`, `boolean`, and `date`.", "nullable": true, "type": "object" }, "updated_at": { "description": "The date and time the event was last updated.", "nullable": true, "type": "string" } }, "type": "object" }, "GetAudienceResponseSuccess": { "deprecated": true, "properties": { "created_at": { "description": "The date that the object was created.", "example": "2023-10-06T22:59:55.977Z", "type": "string" }, "id": { "description": "The ID of the audience.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "name": { "description": "The name of the audience.", "example": "Registered Users", "type": "string" }, "object": { "description": "The object of the audience.", "example": "audience", "type": "string" } }, "type": "object" }, "GetBroadcastResponseSuccess": { "properties": { "audience_id": { "deprecated": true, "description": "Deprecated: use `segment_id` instead. Unique identifier of the segment this broadcast will be sent to.", "nullable": true, "type": "string" }, "created_at": { "description": "Timestamp indicating when the broadcast was created.", "example": "2023-10-06T22:59:55.977Z", "format": "date-time", "type": "string" }, "from": { "description": "The email address of the sender.", "example": "Acme ", "type": "string" }, "html": { "description": "The HTML version of the broadcast content.", "example": "

Hello {{{FIRST_NAME|there}}}!

", "nullable": true, "type": "string" }, "id": { "description": "Unique identifier for the broadcast.", "example": "e169aa45-1ecf-4183-9955-b1499d5701d3", "type": "string" }, "name": { "description": "Name of the broadcast.", "example": "November announcements", "type": "string" }, "preview_text": { "description": "The preview text of the email.", "example": "Here are our announcements", "type": "string" }, "reply_to": { "description": "The email addresses to which replies should be sent.", "items": { "type": "string" }, "type": "array" }, "scheduled_at": { "description": "Timestamp indicating when the broadcast is scheduled to be sent.", "example": "2023-10-06T22:59:55.977Z", "format": "date-time", "type": "string" }, "segment_id": { "description": "Unique identifier of the segment this broadcast will be sent to.", "nullable": true, "type": "string" }, "sent_at": { "description": "Timestamp indicating when the broadcast was sent.", "example": "2023-10-06T22:59:55.977Z", "format": "date-time", "type": "string" }, "status": { "description": "The status of the broadcast.", "example": "draft", "type": "string" }, "subject": { "description": "The subject line of the email.", "example": "Hello World", "type": "string" }, "text": { "description": "The plain text version of the broadcast content.", "example": "Hello {{{FIRST_NAME|there}}}!", "nullable": true, "type": "string" }, "topic_id": { "description": "The topic ID that the broadcast is scoped to.", "example": "b6d24b8e-af0b-4c3c-be0c-359bbd97381e", "nullable": true, "type": "string" } }, "type": "object" }, "GetContactPropertyResponseSuccess": { "properties": { "created_at": { "description": "Timestamp indicating when the contact property was created.", "format": "date-time", "type": "string" }, "fallback_value": { "description": "The default value when the property is not set for a contact.", "example": "Acme Corp", "oneOf": [ { "type": "string" }, { "type": "number" } ] }, "id": { "description": "The ID of the contact property.", "example": "b6d24b8e-af0b-4c3c-be0c-359bbd97381e", "type": "string" }, "key": { "description": "The property key.", "example": "company_name", "type": "string" }, "object": { "description": "The object type.", "example": "contact_property", "type": "string" }, "type": { "description": "The property type.", "example": "string", "type": "string" } }, "type": "object" }, "GetContactResponseSuccess": { "properties": { "created_at": { "description": "Timestamp indicating when the contact was created.", "example": "2023-10-06T23:47:56.678Z", "format": "date-time", "type": "string" }, "email": { "description": "Email address of the contact.", "example": "steve.wozniak@gmail.com", "type": "string" }, "first_name": { "description": "First name of the contact.", "example": "Steve", "type": "string" }, "id": { "description": "Unique identifier for the contact.", "example": "e169aa45-1ecf-4183-9955-b1499d5701d3", "type": "string" }, "last_name": { "description": "Last name of the contact.", "example": "Wozniak", "type": "string" }, "object": { "description": "Type of the response object.", "example": "contact", "type": "string" }, "properties": { "additionalProperties": true, "description": "A map of custom property keys and values.", "type": "object" }, "unsubscribed": { "description": "Indicates if the contact is unsubscribed.", "example": false, "type": "boolean" } }, "type": "object" }, "GetContactTopicsResponseSuccess": { "properties": { "data": { "description": "Array containing topic subscriptions for this contact.", "items": { "properties": { "description": { "description": "Description of the topic.", "type": "string" }, "id": { "description": "Unique identifier for the topic.", "type": "string" }, "name": { "description": "Name of the topic.", "type": "string" }, "subscription": { "description": "The subscription status for this topic.", "enum": [ "opt_in", "opt_out" ], "type": "string" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "GetReceivedEmailResponse": { "properties": { "attachments": { "description": "Array of attachments.", "items": { "properties": { "content_disposition": { "description": "How the attachment should be displayed.", "enum": [ "inline", "attachment" ], "type": "string" }, "content_id": { "description": "The content ID for inline attachments.", "type": "string" }, "content_type": { "description": "The MIME type of the attachment.", "type": "string" }, "filename": { "description": "The filename of the attachment.", "type": "string" }, "id": { "description": "The ID of the attachment.", "format": "uuid", "type": "string" }, "size": { "description": "Size of the attachment in bytes.", "type": "integer" } }, "type": "object" }, "type": "array" }, "bcc": { "description": "The BCC recipients.", "example": [], "items": { "type": "string" }, "nullable": true, "type": "array" }, "cc": { "description": "The CC recipients.", "example": [], "items": { "type": "string" }, "nullable": true, "type": "array" }, "created_at": { "description": "Timestamp when the email was received.", "example": "2023-10-06:23:47:56.678Z", "format": "date-time", "type": "string" }, "from": { "description": "The sender email address.", "example": "sender@example.com", "type": "string" }, "headers": { "description": "The email headers.", "example": { "X-Custom-Header": "value" }, "nullable": true, "type": "object" }, "html": { "description": "The HTML content of the email.", "example": "

Email content

", "nullable": true, "type": "string" }, "id": { "description": "The ID of the received email.", "example": "550e8400-e29b-41d4-a716-446655440000", "format": "uuid", "type": "string" }, "message_id": { "description": "The unique message ID from the email headers.", "example": "", "type": "string" }, "object": { "description": "The type of object.", "example": "email", "type": "string" }, "reply_to": { "description": "The reply-to addresses.", "example": [], "items": { "type": "string" }, "nullable": true, "type": "array" }, "subject": { "description": "The email subject.", "example": "Hello World", "type": "string" }, "text": { "description": "The plain text content of the email.", "example": "Email content", "nullable": true, "type": "string" }, "to": { "description": "The recipient email addresses.", "example": [ "delivered@resend.dev" ], "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "GetSegmentResponseSuccess": { "properties": { "audience_id": { "deprecated": true, "description": "The ID of the audience this segment belongs to.", "type": "string" }, "created_at": { "description": "Timestamp indicating when the segment was created.", "format": "date-time", "type": "string" }, "filter": { "description": "Filter conditions for the segment.", "type": "object" }, "id": { "description": "The ID of the segment.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "name": { "description": "The name of the segment.", "example": "Active Users", "type": "string" }, "object": { "description": "The object type.", "example": "segment", "type": "string" } }, "type": "object" }, "GetTopicResponseSuccess": { "properties": { "created_at": { "description": "Timestamp indicating when the topic was created.", "format": "date-time", "type": "string" }, "default_subscription": { "description": "The default subscription status for the topic.", "enum": [ "opt_in", "opt_out" ], "type": "string" }, "description": { "description": "A description of the topic.", "type": "string" }, "id": { "description": "The ID of the topic.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "name": { "description": "The name of the topic.", "example": "Newsletter", "type": "string" }, "object": { "description": "The object type.", "example": "topic", "type": "string" }, "visibility": { "description": "The visibility of the topic.", "enum": [ "public", "private" ], "type": "string" } }, "type": "object" }, "GetWebhookResponse": { "properties": { "created_at": { "description": "Timestamp indicating when the webhook was created.", "example": "2023-10-06T23:47:56.678Z", "format": "date-time", "type": "string" }, "endpoint": { "description": "The URL where webhook events are sent.", "example": "https://webhook.example.com/handler", "type": "string" }, "events": { "description": "Array of event types subscribed to.", "example": [ "email.sent", "email.delivered" ], "items": { "type": "string" }, "nullable": true, "type": "array" }, "id": { "description": "The ID of the webhook.", "example": "479e3145-dd38-476b-932c-529ceb705947", "format": "uuid", "type": "string" }, "object": { "description": "The type of object.", "example": "webhook", "type": "string" }, "signing_secret": { "description": "The secret key used to verify webhook payloads.", "example": "whsec_...", "type": "string" }, "status": { "description": "The status of the webhook.", "example": "enabled", "type": "string" } }, "type": "object" }, "ListApiKeysResponse": { "properties": { "data": { "items": { "$ref": "#/components/schemas/ApiKey" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListAttachmentsResponse": { "properties": { "data": { "description": "Array containing attachment information.", "items": { "properties": { "content_disposition": { "description": "How the attachment should be displayed.", "enum": [ "inline", "attachment" ], "example": "attachment", "type": "string" }, "content_id": { "description": "The content ID for inline attachments.", "example": "img001", "type": "string" }, "content_type": { "description": "The MIME type of the attachment.", "example": "application/pdf", "type": "string" }, "download_url": { "description": "Signed URL to download the attachment content.", "example": "https://cloudfront.example.com/path?Signature=...", "type": "string" }, "expires_at": { "description": "Timestamp when the download URL expires.", "example": "2024-10-27T18:30:00.000Z", "format": "date-time", "type": "string" }, "filename": { "description": "The filename of the attachment.", "example": "document.pdf", "type": "string" }, "id": { "description": "The ID of the attachment.", "example": "660e8400-e29b-41d4-a716-446655440000", "format": "uuid", "type": "string" }, "size": { "description": "Size of the attachment in bytes.", "example": 2048, "type": "integer" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListAudiencesResponseSuccess": { "deprecated": true, "properties": { "data": { "description": "Array containing audience information.", "items": { "properties": { "created_at": { "description": "Timestamp indicating when the audience was created.", "example": "2023-10-06T22:59:55.977Z", "format": "date-time", "type": "string" }, "id": { "description": "Unique identifier for the audience.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "name": { "description": "Name of the audience.", "example": "Registered Users", "type": "string" } }, "type": "object" }, "type": "array" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListAutomationRunsResponse": { "properties": { "data": { "description": "Array of automation runs.", "items": { "$ref": "#/components/schemas/AutomationRunListItem" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListAutomationsResponse": { "properties": { "data": { "description": "Array of automations.", "items": { "$ref": "#/components/schemas/AutomationListItem" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListBroadcastsResponseSuccess": { "properties": { "data": { "description": "Array containing broadcast information.", "items": { "properties": { "audience_id": { "deprecated": true, "description": "Deprecated. Use segment_id instead.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "created_at": { "description": "Timestamp indicating when the broadcast was created.", "example": "2023-10-06T22:59:55.977Z", "format": "date-time", "type": "string" }, "id": { "description": "Unique identifier for the broadcast.", "example": "e169aa45-1ecf-4183-9955-b1499d5701d3", "type": "string" }, "name": { "description": "Name of the broadcast.", "example": "November announcements", "type": "string" }, "scheduled_at": { "description": "Timestamp indicating when the broadcast is scheduled to be sent.", "example": "2023-10-06T22:59:55.977Z", "format": "date-time", "type": "string" }, "segment_id": { "description": "Unique identifier of the segment this broadcast will be sent to.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "sent_at": { "description": "Timestamp indicating when the broadcast was sent.", "example": "2023-10-06T22:59:55.977Z", "format": "date-time", "type": "string" }, "status": { "description": "The status of the broadcast.", "example": "draft", "type": "string" }, "topic_id": { "description": "The topic ID that the broadcast is scoped to.", "example": "b6d24b8e-af0b-4c3c-be0c-359bbd97381e", "type": "string" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListContactPropertiesResponseSuccess": { "properties": { "data": { "description": "Array containing contact property information.", "items": { "properties": { "created_at": { "description": "Timestamp indicating when the contact property was created.", "format": "date-time", "type": "string" }, "fallback_value": { "description": "The default value when the property is not set for a contact.", "oneOf": [ { "type": "string" }, { "type": "number" } ] }, "id": { "description": "Unique identifier for the contact property.", "type": "string" }, "key": { "description": "The property key.", "type": "string" }, "type": { "description": "The property type.", "type": "string" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListContactSegmentsResponseSuccess": { "properties": { "data": { "description": "Array containing segment information for this contact.", "items": { "properties": { "created_at": { "description": "Timestamp indicating when the contact was added to the segment.", "format": "date-time", "type": "string" }, "id": { "description": "Unique identifier for the segment.", "type": "string" }, "name": { "description": "Name of the segment.", "type": "string" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListContactsResponseSuccess": { "properties": { "data": { "description": "Array containing contact information.", "items": { "properties": { "created_at": { "description": "Timestamp indicating when the contact was created.", "example": "2023-10-06T23:47:56.678Z", "format": "date-time", "type": "string" }, "email": { "description": "Email address of the contact.", "example": "steve.wozniak@gmail.com", "type": "string" }, "first_name": { "description": "First name of the contact.", "example": "Steve", "type": "string" }, "id": { "description": "Unique identifier for the contact.", "example": "e169aa45-1ecf-4183-9955-b1499d5701d3", "type": "string" }, "last_name": { "description": "Last name of the contact.", "example": "Wozniak", "type": "string" }, "unsubscribed": { "description": "Indicates if the contact is unsubscribed.", "example": false, "type": "boolean" } }, "type": "object" }, "type": "array" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListDomainsItem": { "properties": { "capabilities": { "$ref": "#/components/schemas/DomainCapabilities" }, "created_at": { "description": "The date and time the domain was created.", "example": "2023-04-26T20:21:26.347412+00:00", "format": "date-time", "type": "string" }, "id": { "description": "The ID of the domain.", "example": "d91cd9bd-1176-453e-8fc1-35364d380206", "type": "string" }, "name": { "description": "The name of the domain.", "example": "example.com", "type": "string" }, "region": { "description": "The region where the domain is hosted.", "example": "us-east-1", "type": "string" }, "status": { "description": "The status of the domain.", "example": "not_started", "type": "string" } }, "type": "object" }, "ListDomainsResponse": { "properties": { "data": { "items": { "$ref": "#/components/schemas/ListDomainsItem" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListEmailsResponse": { "properties": { "data": { "description": "Array containing email information.", "items": { "$ref": "#/components/schemas/Email" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListEventsResponse": { "properties": { "data": { "description": "Array containing event information.", "items": { "$ref": "#/components/schemas/EventSummary" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListLogsResponse": { "properties": { "data": { "description": "Array containing log information.", "items": { "$ref": "#/components/schemas/LogSummary" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListReceivedEmailsResponse": { "properties": { "data": { "description": "Array containing received email information.", "items": { "properties": { "attachments": { "description": "Array of attachments for this email.", "items": { "properties": { "content_disposition": { "description": "How the attachment should be displayed.", "enum": [ "inline", "attachment" ], "type": "string" }, "content_id": { "description": "The content ID for inline attachments.", "type": "string" }, "content_type": { "description": "The MIME type of the attachment.", "type": "string" }, "filename": { "description": "The filename of the attachment.", "type": "string" }, "id": { "description": "The ID of the attachment.", "format": "uuid", "type": "string" }, "size": { "description": "Size of the attachment in bytes.", "type": "integer" } }, "type": "object" }, "type": "array" }, "bcc": { "description": "The BCC recipients.", "items": { "type": "string" }, "nullable": true, "type": "array" }, "cc": { "description": "The CC recipients.", "items": { "type": "string" }, "nullable": true, "type": "array" }, "created_at": { "description": "Timestamp when the email was received.", "example": "2023-10-06T23:47:56.678Z", "format": "date-time", "type": "string" }, "from": { "description": "The sender email address.", "example": "sender@example.com", "type": "string" }, "id": { "description": "The ID of the received email.", "example": "550e8400-e29b-41d4-a716-446655440000", "format": "uuid", "type": "string" }, "message_id": { "description": "The unique message ID from the email headers.", "example": "", "type": "string" }, "reply_to": { "description": "The reply-to addresses.", "items": { "type": "string" }, "nullable": true, "type": "array" }, "subject": { "description": "The email subject.", "example": "Hello World", "nullable": true, "type": "string" }, "to": { "description": "The recipient email addresses.", "example": [ "delivered@resend.dev" ], "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListSegmentsResponseSuccess": { "properties": { "data": { "description": "Array containing segment information.", "items": { "properties": { "audience_id": { "deprecated": true, "description": "The ID of the audience this segment belongs to.", "type": "string" }, "created_at": { "description": "Timestamp indicating when the segment was created.", "format": "date-time", "type": "string" }, "id": { "description": "Unique identifier for the segment.", "type": "string" }, "name": { "description": "Name of the segment.", "type": "string" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListTemplatesResponseSuccess": { "properties": { "data": { "description": "Array containing templates information.", "items": { "$ref": "#/components/schemas/TemplateListItem" }, "type": "array" }, "has_more": { "description": "Indicates if there are more templates to retrieve.", "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListTopicsResponseSuccess": { "properties": { "data": { "description": "Array containing topic information.", "items": { "properties": { "created_at": { "description": "Timestamp indicating when the topic was created.", "format": "date-time", "type": "string" }, "default_subscription": { "description": "The default subscription status for the topic.", "enum": [ "opt_in", "opt_out" ], "type": "string" }, "description": { "description": "A description of the topic.", "type": "string" }, "id": { "description": "Unique identifier for the topic.", "type": "string" }, "name": { "description": "Name of the topic.", "type": "string" }, "visibility": { "description": "The visibility of the topic.", "enum": [ "public", "private" ], "type": "string" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "ListWebhooksResponse": { "properties": { "data": { "description": "Array containing webhook information.", "items": { "properties": { "created_at": { "description": "Timestamp indicating when the webhook was created.", "example": "2023-10-06T23:47:56.678Z", "format": "date-time", "type": "string" }, "endpoint": { "description": "The URL where webhook events are sent.", "example": "https://webhook.example.com/handler", "type": "string" }, "events": { "description": "Array of event types subscribed to.", "example": [ "email.sent" ], "items": { "type": "string" }, "nullable": true, "type": "array" }, "id": { "description": "The ID of the webhook.", "example": "479e3145-dd38-476b-932c-529ceb705947", "format": "uuid", "type": "string" }, "status": { "description": "The status of the webhook.", "example": "enabled", "type": "string" } }, "type": "object" }, "type": "array" }, "has_more": { "description": "Indicates if there are more results available.", "example": false, "type": "boolean" }, "object": { "description": "Type of the response object.", "example": "list", "type": "string" } }, "type": "object" }, "Log": { "properties": { "created_at": { "description": "The date the log was created.", "format": "date-time", "type": "string" }, "endpoint": { "description": "The API endpoint that was called.", "type": "string" }, "id": { "description": "The log ID.", "format": "uuid", "type": "string" }, "method": { "description": "The HTTP method used.", "enum": [ "GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS" ], "type": "string" }, "object": { "description": "Type of the response object.", "example": "log", "type": "string" }, "request_body": { "description": "The request body sent to the API.", "nullable": true }, "response_body": { "description": "The response body returned by the API.", "nullable": true }, "response_status": { "description": "The HTTP status code of the response.", "type": "integer" }, "user_agent": { "description": "The user agent of the request.", "nullable": true, "type": "string" } }, "type": "object" }, "LogSummary": { "properties": { "created_at": { "description": "The date the log was created.", "format": "date-time", "type": "string" }, "endpoint": { "description": "The API endpoint that was called.", "type": "string" }, "id": { "description": "The log ID.", "format": "uuid", "type": "string" }, "method": { "description": "The HTTP method used.", "enum": [ "GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS" ], "type": "string" }, "response_status": { "description": "The HTTP status code of the response.", "type": "integer" }, "user_agent": { "description": "The user agent of the request.", "nullable": true, "type": "string" } }, "type": "object" }, "PatchAutomationRequest": { "description": "At least one of `name`, `status`, or `steps` and `connections` must be provided. When updating the workflow graph, both `steps` and `connections` must be provided together.\n", "properties": { "connections": { "description": "The connections between steps in the automation graph. Must be provided together with `steps`.", "items": { "$ref": "#/components/schemas/AutomationConnection" }, "type": "array" }, "name": { "description": "The name of the automation.", "minLength": 1, "type": "string" }, "status": { "description": "The status of the automation.", "enum": [ "enabled", "disabled" ], "type": "string" }, "steps": { "description": "The steps that compose the automation workflow. Must be provided together with `connections`.", "items": { "$ref": "#/components/schemas/AutomationStep" }, "maxItems": 150, "minItems": 1, "type": "array" } }, "type": "object" }, "PatchAutomationResponse": { "properties": { "id": { "description": "The ID of the updated automation.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "automation", "type": "string" } }, "type": "object" }, "PublishTemplateResponseSuccess": { "properties": { "id": { "description": "The ID of the template.", "type": "string" }, "object": { "description": "The object type of the response.", "example": "template", "type": "string" } }, "type": "object" }, "RemoveAudienceResponseSuccess": { "deprecated": true, "properties": { "deleted": { "description": "The deleted attribute indicates that the corresponding audience has been deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the audience.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object of the audience.", "example": "audience", "type": "string" } }, "type": "object" }, "RemoveBroadcastResponseSuccess": { "properties": { "deleted": { "description": "The deleted attribute indicates that the corresponding broadcast has been deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the broadcast.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "Type of the response object.", "example": "broadcast", "type": "string" } }, "type": "object" }, "RemoveContactFromSegmentResponseSuccess": { "properties": { "contact_id": { "description": "The ID of the contact.", "type": "string" }, "deleted": { "description": "Indicates whether the contact was successfully removed from the segment.", "example": true, "type": "boolean" }, "object": { "description": "The object type.", "example": "contact_segment", "type": "string" }, "segment_id": { "description": "The ID of the segment.", "type": "string" } }, "type": "object" }, "RemoveContactPropertyResponseSuccess": { "properties": { "deleted": { "description": "Indicates whether the contact property was successfully deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the contact property.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type.", "example": "contact_property", "type": "string" } }, "type": "object" }, "RemoveContactResponseSuccess": { "properties": { "deleted": { "description": "Indicates whether the contact was successfully deleted.", "example": true, "type": "boolean" }, "id": { "description": "Unique identifier for the removed contact.", "example": "520784e2-887d-4c25-b53c-4ad46ad38100", "type": "string" }, "object": { "description": "Type of the response object.", "example": "contact", "type": "string" } }, "type": "object" }, "RemoveEventResponse": { "properties": { "deleted": { "description": "Indicates whether the event was deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the deleted event.", "format": "uuid", "type": "string" }, "object": { "description": "Type of the response object.", "example": "event", "type": "string" } }, "type": "object" }, "RemoveSegmentResponseSuccess": { "properties": { "deleted": { "description": "Indicates whether the segment was successfully deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the segment.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type.", "example": "segment", "type": "string" } }, "type": "object" }, "RemoveTemplateResponseSuccess": { "properties": { "deleted": { "description": "Indicates whether the template was successfully deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the template.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "template", "type": "string" } }, "type": "object" }, "RemoveTopicResponseSuccess": { "properties": { "deleted": { "description": "Indicates whether the topic was successfully deleted.", "example": true, "type": "boolean" }, "id": { "description": "The ID of the topic.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type.", "example": "topic", "type": "string" } }, "type": "object" }, "RetrievedAttachment": { "properties": { "content_disposition": { "description": "How the attachment should be displayed.", "enum": [ "inline", "attachment" ], "example": "attachment", "type": "string" }, "content_id": { "description": "The content ID for inline attachments.", "example": "img001", "type": "string" }, "content_type": { "description": "The MIME type of the attachment.", "example": "application/pdf", "type": "string" }, "download_url": { "description": "Signed URL to download the attachment content.", "example": "https://cloudfront.example.com/path?Signature=...", "type": "string" }, "expires_at": { "description": "Timestamp when the download URL expires.", "example": "2024-10-27T18:30:00.000Z", "format": "date-time", "type": "string" }, "filename": { "description": "The filename of the attachment.", "example": "document.pdf", "type": "string" }, "id": { "description": "The ID of the attachment.", "example": "660e8400-e29b-41d4-a716-446655440000", "format": "uuid", "type": "string" }, "object": { "description": "The type of object.", "example": "attachment", "type": "string" }, "size": { "description": "Size of the attachment in bytes.", "example": 2048, "type": "integer" } }, "type": "object" }, "SendBroadcastOptions": { "properties": { "scheduled_at": { "description": "Schedule email to be sent later. The date should be in ISO 8601 format.", "type": "string" } }, "type": "object" }, "SendBroadcastResponseSuccess": { "properties": { "id": { "description": "The ID of the broadcast.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" } }, "type": "object" }, "SendEmailRequest": { "properties": { "attachments": { "items": { "$ref": "#/components/schemas/Attachment" }, "type": "array" }, "bcc": { "description": "Bcc recipient email address. For multiple addresses, send as an array of strings.", "oneOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "cc": { "description": "Cc recipient email address. For multiple addresses, send as an array of strings.", "oneOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "from": { "description": "Sender email address. To include a friendly name, use the format \"Your Name \".", "type": "string" }, "headers": { "description": "Custom headers to add to the email.", "type": "object" }, "html": { "description": "The HTML version of the message.", "type": "string" }, "reply_to": { "description": "Reply-to email address. For multiple addresses, send as an array of strings.", "oneOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "scheduled_at": { "description": "Schedule email to be sent later. The date should be in ISO 8601 format.", "type": "string" }, "subject": { "description": "Email subject.", "type": "string" }, "tags": { "items": { "$ref": "#/components/schemas/Tag" }, "type": "array" }, "template": { "allOf": [ { "$ref": "#/components/schemas/EmailTemplateInput" }, { "description": "Use a published template to send the email. If provided, do not include html or text." } ] }, "text": { "description": "The plain text version of the message.", "type": "string" }, "to": { "description": "Recipient email address. For multiple addresses, send as an array of strings. Max 50.", "oneOf": [ { "type": "string" }, { "items": { "type": "string" }, "maxItems": 50, "minItems": 1, "type": "array" } ] }, "topic_id": { "description": "The topic ID to scope the email to. If the recipient is a contact and opted-in to the topic, the email is sent. If opted-out, the email is not sent. If the recipient is not a contact, the email is sent if the topic's default subscription is opt_in.", "type": "string" } }, "required": [ "from", "to", "subject" ], "type": "object" }, "SendEmailResponse": { "properties": { "id": { "description": "The ID of the sent email.", "type": "string" } }, "type": "object" }, "SendEventRequest": { "properties": { "contact_id": { "description": "The ID of the contact to associate with this event. Exactly one of `contact_id` or `email` must be provided.", "format": "uuid", "type": "string" }, "email": { "description": "The email address to associate with this event. Exactly one of `contact_id` or `email` must be provided.", "format": "email", "type": "string" }, "event": { "description": "The name of the event to send.", "type": "string" }, "payload": { "additionalProperties": true, "description": "An optional payload of key/value pairs to include with the event.", "type": "object" } }, "required": [ "event" ], "type": "object" }, "SendEventResponse": { "properties": { "event": { "description": "The name of the event that was sent.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "event", "type": "string" } }, "type": "object" }, "StopAutomationResponse": { "properties": { "id": { "description": "The ID of the stopped automation.", "type": "string" }, "object": { "description": "Type of the response object.", "example": "automation", "type": "string" }, "status": { "description": "The status of the automation after stopping.", "example": "disabled", "type": "string" } }, "type": "object" }, "Tag": { "properties": { "name": { "description": "The name of the email tag. It can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-). It can contain no more than 256 characters.", "type": "string" }, "value": { "description": "The value of the email tag.It can only contain ASCII letters (a\u2013z, A\u2013Z), numbers (0\u20139), underscores (_), or dashes (-). It can contain no more than 256 characters.", "type": "string" } }, "type": "object" }, "Template": { "properties": { "alias": { "description": "The alias of the template.", "type": "string" }, "created_at": { "description": "Timestamp indicating when the template was created.", "format": "date-time", "type": "string" }, "current_version_id": { "description": "The ID of the current version of the template.", "type": "string" }, "from": { "description": "Sender email address. To include a friendly name, use the format \"Your Name \".", "type": "string" }, "has_unpublished_versions": { "description": "Indicates whether the template has unpublished versions.", "type": "boolean" }, "html": { "description": "The HTML version of the template.", "type": "string" }, "id": { "description": "The ID of the template.", "type": "string" }, "name": { "description": "The name of the template.", "type": "string" }, "object": { "description": "The type of object.", "example": "template", "type": "string" }, "published_at": { "description": "Timestamp indicating when the template was published.", "format": "date-time", "nullable": true, "type": "string" }, "reply_to": { "description": "Reply-to email addresses.", "items": { "type": "string" }, "nullable": true, "type": "array" }, "status": { "description": "The publication status of the template.", "enum": [ "draft", "published" ], "type": "string" }, "subject": { "description": "Email subject.", "type": "string" }, "text": { "description": "The plain text version of the template.", "type": "string" }, "updated_at": { "description": "Timestamp indicating when the template was last updated.", "format": "date-time", "type": "string" }, "variables": { "items": { "$ref": "#/components/schemas/TemplateVariable" }, "type": "array" } }, "type": "object" }, "TemplateListItem": { "properties": { "alias": { "description": "The alias of the template.", "type": "string" }, "created_at": { "description": "Timestamp indicating when the template was created.", "format": "date-time", "type": "string" }, "id": { "description": "The ID of the template.", "type": "string" }, "name": { "description": "The name of the template.", "type": "string" }, "published_at": { "description": "Timestamp indicating when the template was published.", "format": "date-time", "nullable": true, "type": "string" }, "status": { "description": "The publication status of the template.", "enum": [ "draft", "published" ], "type": "string" }, "updated_at": { "description": "Timestamp indicating when the template was last updated.", "format": "date-time", "type": "string" } }, "type": "object" }, "TemplateVariable": { "properties": { "created_at": { "description": "Timestamp indicating when the variable was created.", "format": "date-time", "type": "string" }, "fallback_value": { "description": "The fallback value of the variable.", "oneOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "object" }, { "items": {}, "type": "array" } ] }, "id": { "description": "The ID of the template variable.", "type": "string" }, "key": { "description": "The key of the variable.", "type": "string" }, "type": { "description": "The type of the variable.", "enum": [ "string", "number", "boolean", "object", "list" ], "type": "string" }, "updated_at": { "description": "Timestamp indicating when the variable was last updated.", "format": "date-time", "type": "string" } }, "required": [ "key", "type" ], "type": "object" }, "TemplateVariableInput": { "properties": { "fallback_value": { "description": "The fallback value of the variable.", "oneOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "object" }, { "items": {}, "type": "array" } ] }, "key": { "description": "The key of the variable.", "type": "string" }, "type": { "description": "The type of the variable.", "enum": [ "string", "number", "boolean", "object", "list" ], "type": "string" } }, "required": [ "key", "type" ], "type": "object" }, "UpdateBroadcastOptions": { "properties": { "audience_id": { "deprecated": true, "description": "Use `segment_id` instead. Unique identifier of the audience this broadcast will be sent to.", "type": "string" }, "from": { "description": "The email address of the sender.", "type": "string" }, "html": { "description": "The HTML version of the message.", "type": "string" }, "name": { "description": "Name of the broadcast.", "type": "string" }, "preview_text": { "description": "The preview text of the email.", "type": "string" }, "reply_to": { "description": "The email addresses to which replies should be sent.", "items": { "type": "string" }, "type": "array" }, "segment_id": { "description": "Unique identifier of the segment this broadcast will be sent to.", "type": "string" }, "subject": { "description": "The subject line of the email.", "type": "string" }, "text": { "description": "The plain text version of the message.", "type": "string" }, "topic_id": { "description": "The topic ID that the broadcast will be scoped to.", "type": "string" } }, "type": "object" }, "UpdateBroadcastResponseSuccess": { "properties": { "id": { "description": "The ID of the broadcast.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type of the response.", "example": "broadcast", "type": "string" } }, "type": "object" }, "UpdateContactOptions": { "properties": { "email": { "description": "Email address of the contact.", "example": "steve.wozniak@gmail.com", "type": "string" }, "first_name": { "description": "First name of the contact.", "example": "Steve", "type": "string" }, "last_name": { "description": "Last name of the contact.", "example": "Wozniak", "type": "string" }, "properties": { "additionalProperties": true, "description": "A map of custom property keys and values to update.", "type": "object" }, "unsubscribed": { "description": "The Contact's global subscription status. If set to true, the contact will be unsubscribed from all Broadcasts.", "example": false, "type": "boolean" } }, "type": "object" }, "UpdateContactPropertyOptions": { "properties": { "fallback_value": { "description": "The default value to use when the property is not set for a contact. Must match the type of the property.", "oneOf": [ { "type": "string" }, { "type": "number" } ] } }, "type": "object" }, "UpdateContactPropertyResponseSuccess": { "properties": { "id": { "description": "The ID of the contact property.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type.", "example": "contact_property", "type": "string" } }, "type": "object" }, "UpdateContactResponseSuccess": { "properties": { "id": { "description": "Unique identifier for the updated contact.", "example": "479e3145-dd38-476b-932c-529ceb705947", "type": "string" }, "object": { "description": "Type of the response object.", "example": "contact", "type": "string" } }, "type": "object" }, "UpdateContactTopicsOptions": { "properties": { "topics": { "items": { "properties": { "id": { "description": "The ID of the topic.", "type": "string" }, "subscription": { "description": "The subscription status (opt_in or opt_out).", "enum": [ "opt_in", "opt_out" ], "type": "string" } }, "type": "object" }, "type": "array" } }, "required": [ "topics" ], "type": "object" }, "UpdateContactTopicsResponseSuccess": { "properties": { "contact_id": { "description": "The ID of the contact.", "type": "string" }, "object": { "description": "The object type.", "example": "contact_topics", "type": "string" }, "topics": { "description": "Array of updated topic subscriptions.", "items": { "properties": { "id": { "description": "The ID of the topic.", "type": "string" }, "subscription": { "description": "The subscription status.", "enum": [ "opt_in", "opt_out" ], "type": "string" } }, "type": "object" }, "type": "array" } }, "type": "object" }, "UpdateDomainOptions": { "properties": { "capabilities": { "$ref": "#/components/schemas/DomainCapabilities" }, "click_tracking": { "description": "Track clicks within the body of each HTML email.", "type": "boolean" }, "open_tracking": { "description": "Track the open rate of each email.", "type": "boolean" }, "tls": { "default": "opportunistic", "description": "enforced | opportunistic.", "type": "string" }, "tracking_subdomain": { "description": "The subdomain to use for click and open tracking.", "type": "string" } }, "type": "object" }, "UpdateDomainResponseSuccess": { "properties": { "id": { "description": "The ID of the updated domain.", "example": "d91cd9bd-1176-453e-8fc1-35364d380206", "type": "string" }, "object": { "description": "The object type representing the updated domain.", "example": "domain", "type": "string" } }, "type": "object" }, "UpdateEmailOptions": { "properties": { "scheduled_at": { "description": "Schedule email to be sent later. The date should be in ISO 8601 format.", "type": "string" } }, "type": "object" }, "UpdateEventRequest": { "properties": { "schema": { "description": "A flat key/type map defining the event payload schema. Set to `null` to clear the schema. Supported types are `string`, `number`, `boolean`, and `date`.", "nullable": true, "type": "object" } }, "required": [ "schema" ], "type": "object" }, "UpdateEventResponse": { "properties": { "id": { "description": "The ID of the updated event.", "format": "uuid", "type": "string" }, "object": { "description": "Type of the response object.", "example": "event", "type": "string" } }, "type": "object" }, "UpdateTemplateOptions": { "properties": { "alias": { "description": "The alias of the template.", "type": "string" }, "from": { "description": "Sender email address. To include a friendly name, use the format \"Your Name \".", "type": "string" }, "html": { "description": "The HTML version of the template.", "type": "string" }, "name": { "description": "The name of the template.", "type": "string" }, "reply_to": { "description": "Reply-to email addresses.", "items": { "type": "string" }, "type": "array" }, "subject": { "description": "Email subject.", "type": "string" }, "text": { "description": "The plain text version of the template.", "type": "string" }, "variables": { "items": { "$ref": "#/components/schemas/TemplateVariableInput" }, "type": "array" } }, "type": "object" }, "UpdateTemplateResponseSuccess": { "properties": { "id": { "description": "The ID of the template.", "type": "string" }, "object": { "description": "The object type of the response.", "example": "template", "type": "string" } }, "type": "object" }, "UpdateTopicOptions": { "properties": { "description": { "description": "A description of the topic. Max 200 characters.", "maxLength": 200, "type": "string" }, "name": { "description": "The name of the topic. Max 50 characters.", "maxLength": 50, "type": "string" }, "visibility": { "description": "The visibility of the topic.", "enum": [ "public", "private" ], "type": "string" } }, "type": "object" }, "UpdateTopicResponseSuccess": { "properties": { "id": { "description": "The ID of the topic.", "example": "78261eea-8f8b-4381-83c6-79fa7120f1cf", "type": "string" }, "object": { "description": "The object type.", "example": "topic", "type": "string" } }, "type": "object" }, "UpdateWebhookRequest": { "properties": { "endpoint": { "description": "The URL where webhook events will be sent.", "example": "https://webhook.example.com/new-handler", "type": "string" }, "events": { "description": "Array of event types to subscribe to.", "example": [ "email.sent", "email.delivered" ], "items": { "type": "string" }, "minItems": 1, "type": "array" }, "status": { "description": "The status of the webhook.", "enum": [ "enabled", "disabled" ], "example": "enabled", "type": "string" } }, "type": "object" }, "UpdateWebhookResponse": { "properties": { "id": { "description": "The ID of the updated webhook.", "example": "479e3145-dd38-476b-932c-529ceb705947", "format": "uuid", "type": "string" }, "object": { "description": "The type of object.", "example": "webhook", "type": "string" } }, "type": "object" }, "VerifyDomainResponse": { "properties": { "id": { "description": "The ID of the domain.", "example": "d91cd9bd-1176-453e-8fc1-35364d380206", "type": "string" }, "object": { "description": "The type of object.", "example": "domain", "type": "string" } }, "type": "object" } }, "securitySchemes": { "bearerAuth": { "scheme": "bearer", "type": "http" } } }, "info": { "description": "Resend is the email platform for developers.", "title": "Resend", "version": "1.5.0" }, "openapi": "3.0.3", "paths": { "/api-keys": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListApiKeysResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of API keys", "tags": [ "API keys" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApiKeyRequest" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApiKeyResponse" } } }, "description": "OK" } }, "summary": "Create a new API key", "tags": [ "API keys" ] } }, "/api-keys/{api_key_id}": { "delete": { "parameters": [ { "description": "The API key ID.", "in": "path", "name": "api_key_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteApiKeyResponse" } } }, "description": "OK" } }, "summary": "Remove an existing API key", "tags": [ "API keys" ] } }, "/audiences": { "get": { "deprecated": true, "description": "Deprecated: Use Segments instead. These endpoints still work, but will be removed in the future.", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListAudiencesResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a list of audiences", "tags": [ "Audiences" ] }, "post": { "deprecated": true, "description": "Deprecated: Use Segments instead. These endpoints still work, but will be removed in the future.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAudienceOptions" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAudienceResponseSuccess" } } }, "description": "OK" } }, "summary": "Create a list of contacts", "tags": [ "Audiences" ] } }, "/audiences/{id}": { "delete": { "deprecated": true, "description": "Deprecated: Use Segments instead. These endpoints still work, but will be removed in the future.", "parameters": [ { "description": "The Audience ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveAudienceResponseSuccess" } } }, "description": "OK" } }, "summary": "Remove an existing audience", "tags": [ "Audiences" ] }, "get": { "deprecated": true, "description": "Deprecated: Use Segments instead. These endpoints still work, but will be removed in the future.", "parameters": [ { "description": "The Audience ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAudienceResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a single audience", "tags": [ "Audiences" ] } }, "/automations": { "get": { "parameters": [ { "description": "Filter automations by status.", "in": "query", "name": "status", "required": false, "schema": { "enum": [ "enabled", "disabled" ], "type": "string" } }, { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListAutomationsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of automations", "tags": [ "Automations" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAutomationRequest" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateAutomationResponse" } } }, "description": "OK" } }, "summary": "Create an automation", "tags": [ "Automations" ] } }, "/automations/{automation_id}": { "delete": { "parameters": [ { "description": "The ID of the automation.", "in": "path", "name": "automation_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAutomationResponse" } } }, "description": "OK" } }, "summary": "Delete an automation", "tags": [ "Automations" ] }, "get": { "parameters": [ { "description": "The ID of the automation.", "in": "path", "name": "automation_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Automation" } } }, "description": "OK" } }, "summary": "Retrieve a single automation", "tags": [ "Automations" ] }, "patch": { "parameters": [ { "description": "The ID of the automation.", "in": "path", "name": "automation_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchAutomationRequest" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PatchAutomationResponse" } } }, "description": "OK" } }, "summary": "Update an automation", "tags": [ "Automations" ] } }, "/automations/{automation_id}/runs": { "get": { "parameters": [ { "description": "The ID of the automation.", "in": "path", "name": "automation_id", "required": true, "schema": { "format": "uuid", "type": "string" } }, { "description": "Filter runs by status. Comma-separated list of: running, completed, failed, cancelled.", "in": "query", "name": "status", "required": false, "schema": { "type": "string" } }, { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListAutomationRunsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of automation runs", "tags": [ "Automations" ] } }, "/automations/{automation_id}/runs/{run_id}": { "get": { "parameters": [ { "description": "The ID of the automation.", "in": "path", "name": "automation_id", "required": true, "schema": { "format": "uuid", "type": "string" } }, { "description": "The ID of the automation run.", "in": "path", "name": "run_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AutomationRun" } } }, "description": "OK" } }, "summary": "Retrieve a single automation run", "tags": [ "Automations" ] } }, "/automations/{automation_id}/stop": { "post": { "parameters": [ { "description": "The ID of the automation.", "in": "path", "name": "automation_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StopAutomationResponse" } } }, "description": "OK" } }, "summary": "Stop an automation", "tags": [ "Automations" ] } }, "/broadcasts": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListBroadcastsResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a list of broadcasts", "tags": [ "Broadcasts" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBroadcastOptions" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBroadcastResponseSuccess" } } }, "description": "OK" } }, "summary": "Create a broadcast", "tags": [ "Broadcasts" ] } }, "/broadcasts/{id}": { "delete": { "parameters": [ { "description": "The Broadcast ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveBroadcastResponseSuccess" } } }, "description": "OK" } }, "summary": "Remove an existing broadcast that is in the draft status", "tags": [ "Broadcasts" ] }, "get": { "parameters": [ { "description": "The Broadcast ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetBroadcastResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a single broadcast", "tags": [ "Broadcasts" ] }, "patch": { "parameters": [ { "description": "The Broadcast ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateBroadcastOptions" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateBroadcastResponseSuccess" } } }, "description": "OK" } }, "summary": "Update an existing broadcast", "tags": [ "Broadcasts" ] } }, "/broadcasts/{id}/send": { "post": { "parameters": [ { "description": "The Broadcast ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendBroadcastOptions" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendBroadcastResponseSuccess" } } }, "description": "OK" } }, "summary": "Send or schedule a broadcast", "tags": [ "Broadcasts" ] } }, "/contact-properties": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListContactPropertiesResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a list of contact properties", "tags": [ "Contact Properties" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateContactPropertyOptions" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateContactPropertyResponseSuccess" } } }, "description": "OK" } }, "summary": "Create a new contact property", "tags": [ "Contact Properties" ] } }, "/contact-properties/{id}": { "delete": { "parameters": [ { "description": "The Contact Property ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveContactPropertyResponseSuccess" } } }, "description": "OK" } }, "summary": "Remove an existing contact property", "tags": [ "Contact Properties" ] }, "get": { "parameters": [ { "description": "The Contact Property ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetContactPropertyResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a single contact property", "tags": [ "Contact Properties" ] }, "patch": { "parameters": [ { "description": "The Contact Property ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateContactPropertyOptions" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateContactPropertyResponseSuccess" } } }, "description": "OK" } }, "summary": "Update an existing contact property", "tags": [ "Contact Properties" ] } }, "/contacts": { "get": { "parameters": [ { "description": "Filter contacts by segment ID.", "in": "query", "name": "segment_id", "required": false, "schema": { "type": "string" } }, { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListContactsResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a list of contacts", "tags": [ "Contacts" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateContactOptions" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateContactResponseSuccess" } } }, "description": "OK" } }, "summary": "Create a new contact", "tags": [ "Contacts" ] } }, "/contacts/{contact_id}/segments": { "get": { "parameters": [ { "description": "The Contact ID or email address.", "in": "path", "name": "contact_id", "required": true, "schema": { "type": "string" } }, { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListContactSegmentsResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a list of segments for a contact", "tags": [ "Contacts" ] } }, "/contacts/{contact_id}/segments/{segment_id}": { "delete": { "parameters": [ { "description": "The Contact ID or email address.", "in": "path", "name": "contact_id", "required": true, "schema": { "type": "string" } }, { "description": "The Segment ID.", "in": "path", "name": "segment_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveContactFromSegmentResponseSuccess" } } }, "description": "OK" } }, "summary": "Remove a contact from a segment", "tags": [ "Contacts" ] }, "post": { "parameters": [ { "description": "The Contact ID or email address.", "in": "path", "name": "contact_id", "required": true, "schema": { "type": "string" } }, { "description": "The Segment ID.", "in": "path", "name": "segment_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddContactToSegmentResponseSuccess" } } }, "description": "OK" } }, "summary": "Add a contact to a segment", "tags": [ "Contacts" ] } }, "/contacts/{contact_id}/topics": { "get": { "parameters": [ { "description": "The Contact ID or email address.", "in": "path", "name": "contact_id", "required": true, "schema": { "type": "string" } }, { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetContactTopicsResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve topics for a contact", "tags": [ "Contacts" ] }, "patch": { "parameters": [ { "description": "The Contact ID or email address.", "in": "path", "name": "contact_id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateContactTopicsOptions" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateContactTopicsResponseSuccess" } } }, "description": "OK" } }, "summary": "Update topics for a contact", "tags": [ "Contacts" ] } }, "/contacts/{id}": { "delete": { "parameters": [ { "description": "The Contact ID or email address.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveContactResponseSuccess" } } }, "description": "OK" } }, "summary": "Remove an existing contact by ID or email", "tags": [ "Contacts" ] }, "get": { "parameters": [ { "description": "The Contact ID or email address.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetContactResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a single contact by ID or email", "tags": [ "Contacts" ] }, "patch": { "parameters": [ { "description": "The Contact ID or email address.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateContactOptions" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateContactResponseSuccess" } } }, "description": "OK" } }, "summary": "Update a single contact by ID or email", "tags": [ "Contacts" ] } }, "/domains": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListDomainsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of domains", "tags": [ "Domains" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDomainRequest" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateDomainResponse" } } }, "description": "OK" } }, "summary": "Create a new domain", "tags": [ "Domains" ] } }, "/domains/{domain_id}": { "delete": { "parameters": [ { "description": "The ID of the domain.", "in": "path", "name": "domain_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteDomainResponse" } } }, "description": "OK" } }, "summary": "Remove an existing domain", "tags": [ "Domains" ] }, "get": { "parameters": [ { "description": "The ID of the domain.", "in": "path", "name": "domain_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Domain" } } }, "description": "OK" } }, "summary": "Retrieve a single domain", "tags": [ "Domains" ] }, "patch": { "parameters": [ { "description": "The ID of the domain.", "in": "path", "name": "domain_id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateDomainOptions" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateDomainResponseSuccess" } } }, "description": "OK" } }, "summary": "Update an existing domain", "tags": [ "Domains" ] } }, "/domains/{domain_id}/verify": { "post": { "description": "Triggers verification of the domain's DNS records including DKIM, SPF, and the tracking CNAME (if a tracking subdomain is configured).", "parameters": [ { "description": "The ID of the domain.", "in": "path", "name": "domain_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VerifyDomainResponse" } } }, "description": "OK" } }, "summary": "Verify an existing domain", "tags": [ "Domains" ] } }, "/emails": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListEmailsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of emails", "tags": [ "Emails" ] }, "post": { "parameters": [ { "description": "A unique identifier for the request to ensure emails are only sent once. [Learn more](https://resend.com/docs/dashboard/emails/idempotency-keys)", "in": "header", "name": "Idempotency-Key", "required": false, "schema": { "maxLength": 256, "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendEmailRequest" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendEmailResponse" } } }, "description": "OK" } }, "summary": "Send an email", "tags": [ "Emails" ] } }, "/emails/batch": { "post": { "parameters": [ { "description": "A unique identifier for the request to ensure emails are only sent once. [Learn more](https://resend.com/docs/dashboard/emails/idempotency-keys)", "in": "header", "name": "Idempotency-Key", "required": false, "schema": { "maxLength": 256, "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/SendEmailRequest" }, "type": "array" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBatchEmailsResponse" } } }, "description": "OK" } }, "summary": "Trigger up to 100 batch emails at once.", "tags": [ "Emails" ] } }, "/emails/receiving": { "get": { "parameters": [ { "description": "Maximum number of received emails to return.", "in": "query", "name": "limit", "required": false, "schema": { "type": "integer" } }, { "description": "Pagination cursor to fetch results after this email ID. Cannot be used with 'before'.", "in": "query", "name": "after", "required": false, "schema": { "format": "uuid", "type": "string" } }, { "description": "Pagination cursor to fetch results before this email ID. Cannot be used with 'after'.", "in": "query", "name": "before", "required": false, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListReceivedEmailsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of received emails", "tags": [ "Receiving Emails" ] } }, "/emails/receiving/{email_id}": { "get": { "parameters": [ { "description": "The ID of the received email.", "in": "path", "name": "email_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetReceivedEmailResponse" } } }, "description": "OK" } }, "summary": "Retrieve a single received email", "tags": [ "Receiving Emails" ] } }, "/emails/receiving/{email_id}/attachments": { "get": { "parameters": [ { "description": "The ID of the received email.", "in": "path", "name": "email_id", "required": true, "schema": { "format": "uuid", "type": "string" } }, { "description": "Maximum number of attachments to return.", "in": "query", "name": "limit", "required": false, "schema": { "type": "integer" } }, { "description": "Pagination cursor to fetch results after this attachment ID. Cannot be used with 'before'.", "in": "query", "name": "after", "required": false, "schema": { "format": "uuid", "type": "string" } }, { "description": "Pagination cursor to fetch results before this attachment ID. Cannot be used with 'after'.", "in": "query", "name": "before", "required": false, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListAttachmentsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of attachments for a received email", "tags": [ "Receiving Emails" ] } }, "/emails/receiving/{email_id}/attachments/{attachment_id}": { "get": { "parameters": [ { "description": "The ID of the received email.", "in": "path", "name": "email_id", "required": true, "schema": { "format": "uuid", "type": "string" } }, { "description": "The ID of the attachment.", "in": "path", "name": "attachment_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetrievedAttachment" } } }, "description": "OK" } }, "summary": "Retrieve a single attachment for a received email", "tags": [ "Receiving Emails" ] } }, "/emails/{email_id}": { "get": { "parameters": [ { "description": "The ID of the email.", "in": "path", "name": "email_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Email" } } }, "description": "OK" } }, "summary": "Retrieve a single email", "tags": [ "Emails" ] }, "patch": { "parameters": [ { "description": "The ID of the email.", "in": "path", "name": "email_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateEmailOptions" } } }, "description": "OK" } }, "summary": "Update a single email", "tags": [ "Emails" ] } }, "/emails/{email_id}/attachments": { "get": { "parameters": [ { "description": "The ID of the email.", "in": "path", "name": "email_id", "required": true, "schema": { "format": "uuid", "type": "string" } }, { "description": "Maximum number of attachments to return.", "in": "query", "name": "limit", "required": false, "schema": { "type": "integer" } }, { "description": "Pagination cursor to fetch results after this attachment ID. Cannot be used with 'before'.", "in": "query", "name": "after", "required": false, "schema": { "format": "uuid", "type": "string" } }, { "description": "Pagination cursor to fetch results before this attachment ID. Cannot be used with 'after'.", "in": "query", "name": "before", "required": false, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListAttachmentsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of attachments for a sent email", "tags": [ "Emails" ] } }, "/emails/{email_id}/attachments/{attachment_id}": { "get": { "parameters": [ { "description": "The ID of the email.", "in": "path", "name": "email_id", "required": true, "schema": { "format": "uuid", "type": "string" } }, { "description": "The ID of the attachment.", "in": "path", "name": "attachment_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RetrievedAttachment" } } }, "description": "OK" } }, "summary": "Retrieve a single attachment for a sent email", "tags": [ "Emails" ] } }, "/emails/{email_id}/cancel": { "post": { "parameters": [ { "description": "The ID of the email.", "in": "path", "name": "email_id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Email" } } }, "description": "OK" } }, "summary": "Cancel the schedule of the e-mail.", "tags": [ "Emails" ] } }, "/events": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListEventsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of events", "tags": [ "Events" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateEventRequest" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateEventResponse" } } }, "description": "OK" } }, "summary": "Create an event", "tags": [ "Events" ] } }, "/events/send": { "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendEventRequest" } } } }, "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SendEventResponse" } } }, "description": "Accepted" } }, "summary": "Send an event", "tags": [ "Events" ] } }, "/events/{identifier}": { "delete": { "parameters": [ { "description": "The event ID (UUID) or event name.", "in": "path", "name": "identifier", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveEventResponse" } } }, "description": "OK" } }, "summary": "Delete an event", "tags": [ "Events" ] }, "get": { "parameters": [ { "description": "The event ID (UUID) or event name.", "in": "path", "name": "identifier", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Event" } } }, "description": "OK" } }, "summary": "Retrieve a single event", "tags": [ "Events" ] }, "patch": { "parameters": [ { "description": "The event ID (UUID) or event name.", "in": "path", "name": "identifier", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateEventRequest" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateEventResponse" } } }, "description": "OK" } }, "summary": "Update an event", "tags": [ "Events" ] } }, "/logs": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListLogsResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of logs", "tags": [ "Logs" ] } }, "/logs/{log_id}": { "get": { "parameters": [ { "description": "The ID of the log.", "in": "path", "name": "log_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Log" } } }, "description": "OK" } }, "summary": "Retrieve a single log", "tags": [ "Logs" ] } }, "/segments": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListSegmentsResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a list of segments", "tags": [ "Segments" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSegmentOptions" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateSegmentResponseSuccess" } } }, "description": "OK" } }, "summary": "Create a new segment", "tags": [ "Segments" ] } }, "/segments/{id}": { "delete": { "parameters": [ { "description": "The Segment ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveSegmentResponseSuccess" } } }, "description": "OK" } }, "summary": "Remove an existing segment", "tags": [ "Segments" ] }, "get": { "parameters": [ { "description": "The Segment ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetSegmentResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a single segment", "tags": [ "Segments" ] } }, "/templates": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListTemplatesResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a list of templates", "tags": [ "Templates" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTemplateRequest" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTemplateResponseSuccess" } } }, "description": "OK" } }, "summary": "Create a template", "tags": [ "Templates" ] } }, "/templates/{id}": { "delete": { "parameters": [ { "description": "The Template ID or alias.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveTemplateResponseSuccess" } } }, "description": "OK" } }, "summary": "Remove an existing template", "tags": [ "Templates" ] }, "get": { "parameters": [ { "description": "The Template ID or alias.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Template" } } }, "description": "OK" } }, "summary": "Retrieve a single template", "tags": [ "Templates" ] }, "patch": { "parameters": [ { "description": "The Template ID or alias.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTemplateOptions" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTemplateResponseSuccess" } } }, "description": "OK" } }, "summary": "Update an existing template", "tags": [ "Templates" ] } }, "/templates/{id}/duplicate": { "post": { "parameters": [ { "description": "The Template ID or alias.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DuplicateTemplateResponseSuccess" } } }, "description": "OK" } }, "summary": "Duplicate a template", "tags": [ "Templates" ] } }, "/templates/{id}/publish": { "post": { "parameters": [ { "description": "The Template ID or alias.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PublishTemplateResponseSuccess" } } }, "description": "OK" } }, "summary": "Publish a template", "tags": [ "Templates" ] } }, "/topics": { "get": { "parameters": [ { "$ref": "#/components/parameters/PaginationLimit" }, { "$ref": "#/components/parameters/PaginationAfter" }, { "$ref": "#/components/parameters/PaginationBefore" } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListTopicsResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a list of topics", "tags": [ "Topics" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTopicOptions" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateTopicResponseSuccess" } } }, "description": "OK" } }, "summary": "Create a new topic", "tags": [ "Topics" ] } }, "/topics/{id}": { "delete": { "parameters": [ { "description": "The Topic ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveTopicResponseSuccess" } } }, "description": "OK" } }, "summary": "Remove an existing topic", "tags": [ "Topics" ] }, "get": { "parameters": [ { "description": "The Topic ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetTopicResponseSuccess" } } }, "description": "OK" } }, "summary": "Retrieve a single topic", "tags": [ "Topics" ] }, "patch": { "parameters": [ { "description": "The Topic ID.", "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTopicOptions" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateTopicResponseSuccess" } } }, "description": "OK" } }, "summary": "Update an existing topic", "tags": [ "Topics" ] } }, "/webhooks": { "get": { "parameters": [ { "description": "Maximum number of webhooks to return.", "in": "query", "name": "limit", "required": false, "schema": { "type": "integer" } }, { "description": "Pagination cursor to fetch results after this webhook ID. Cannot be used with 'before'.", "in": "query", "name": "after", "required": false, "schema": { "format": "uuid", "type": "string" } }, { "description": "Pagination cursor to fetch results before this webhook ID. Cannot be used with 'after'.", "in": "query", "name": "before", "required": false, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListWebhooksResponse" } } }, "description": "OK" } }, "summary": "Retrieve a list of webhooks", "tags": [ "Webhooks" ] }, "post": { "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWebhookRequest" } } } }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateWebhookResponse" } } }, "description": "Created" } }, "summary": "Create a new webhook", "tags": [ "Webhooks" ] } }, "/webhooks/{webhook_id}": { "delete": { "parameters": [ { "description": "The Webhook ID.", "in": "path", "name": "webhook_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteWebhookResponse" } } }, "description": "OK" } }, "summary": "Remove an existing webhook", "tags": [ "Webhooks" ] }, "get": { "parameters": [ { "description": "The Webhook ID.", "in": "path", "name": "webhook_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetWebhookResponse" } } }, "description": "OK" } }, "summary": "Retrieve a single webhook", "tags": [ "Webhooks" ] }, "patch": { "parameters": [ { "description": "The Webhook ID.", "in": "path", "name": "webhook_id", "required": true, "schema": { "format": "uuid", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWebhookRequest" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateWebhookResponse" } } }, "description": "OK" } }, "summary": "Update an existing webhook", "tags": [ "Webhooks" ] } } }, "security": [ { "bearerAuth": [] } ], "servers": [ { "url": "https://api.resend.com" } ], "tags": [ { "description": "Start sending emails through the Resend API.", "name": "Emails" }, { "description": "Create and manage domains through the Resend API.", "name": "Domains" }, { "description": "Create and manage API Keys through the Resend API.", "name": "API Keys" }, { "description": "Deprecated: Use Segments instead. Create and manage Audiences through the Resend API.", "name": "Audiences" }, { "description": "Create and manage Contacts through the Resend API.", "name": "Contacts" }, { "description": "Retrieve and manage received emails and attachments through the Resend API.", "name": "Receiving Emails" }, { "description": "Create and manage Webhooks through the Resend API.", "name": "Webhooks" }, { "description": "Create and manage Templates through the Resend API.", "name": "Templates" }, { "description": "Create and manage Broadcasts through the Resend API.", "name": "Broadcasts" }, { "description": "Create and manage Segments through the Resend API.", "name": "Segments" }, { "description": "Create and manage Topics through the Resend API.", "name": "Topics" }, { "description": "Create and manage Contact Properties through the Resend API.", "name": "Contact Properties" }, { "description": "Retrieve API request logs through the Resend API.", "name": "Logs" }, { "description": "Create and manage Automations through the Resend API.", "name": "Automations" }, { "description": "Create and manage Events through the Resend API.", "name": "Events" } ] }