openapi: 3.1.0 info: title: Transactional Email API description: |- Transactional Email is a platform that allows you to send transactional emails. Unlike marketing emails, (which are mass distributions of the same marketing message to multiple recipients), transactional emails are personalized emails sent to individuals in response to events they have triggered (e.g. password recovery, billing information, delivery updates, etc). With Transactional Email, you can: - register a domain from which to send emails - send transactional emails via an SMTP relay - send transactional emails via a REST API - view your email's delivery status - cancel emails that you no longer wish to send ## Concepts Refer to our [dedicated concepts page](https://www.scaleway.com/en/docs/managed-services/transactional-email/concepts/) to find definitions of the different terms referring to Transactional Email. ## Quickstart 1. **Configure your environment variables.** This is an optional step that seeks to simplify your usage of the API. ```bash export SCW_ACCESS_KEY="" export SCW_SECRET_KEY="" export SCW_PROJECT_ID="" ``` 2. **Register your domain**. Run the following command to register your domain. Make sure you note down the `dkim_config` that displays in the output, as you will need it for the next steps. ```bash curl -X POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/$REGION/domains" \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -d "{\"domain_name\":\"my.domain.example.com\",\"project_id\":\"$PROJECT_ID\"}" ``` 3. **Create an SPF and a DKIM record**. Find out [how to create your SPF and DKIM records](https://www.scaleway.com/en/docs/managed-services/transactional-email/how-to/add-spf-dkim-records-to-your-domain/) in our documentation. The DKIM private key is discarded when your domain is revoked. You must update the corresponding DKIM record if you register that domain again. 4. **Create an MX record** Adding an MX record is not mandatory but we recommend you do it to avoid getting your emails rejected. Find out [how to add an MX record](https://www.scaleway.com/en/docs/managed-services/transactional-email/how-to/add-mx-record-to-your-domain/) in our documentation. 5. **Perform a check of your domain**. Run the following commands to query your domain and then perform a check of your domain. ```bash curl -X POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/$REGION/domains//check" \ -H "X-Auth-Token: $TOKEN" \ -d "{}" # Wait a few seconds,then run curl -X GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/$REGION/domains/" \ -H "X-Auth-Token: $TOKEN" ``` If the check fails, `last_error` will describe what happened. Perform another check request once you have fixed the problem. To ensure good scoring, your DNS must be correctly set up before sending any emails. The domain check is performed asynchronously. 6. **Send an email via the REST API**. Run the following command to send an email using the REST API. The attachment content must be base64 encoded and is limited to 2MB. In the following example, both `html` and `attachments` fields are optional. ```bash cat > mail.json <Some HTML.

", "project_id": "", "attachments": [ { "name": "file.html", "type": "text/html; charset=\"utf8\"", "content": "PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICAgIDxoZWFkPgogICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgICAgICA8dGl0bGU+dGl0bGU8L3RpdGxlPgogICAgPC9oZWFkPgogICAgPGJvZHk+CiAgICAgICAgPHA+SGVsbG8gPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWUiPndvcmxkPC9zcGFuPiE8L3A+CiAgICA8L2JvZHk+CjwvaHRtbD4=" } ], "additional_headers": [ { "key": "Reply-To", "value": "admin@my.domain.example.com" }, { "key": "x-project-tracker", "value": "1234" } ] } EOF curl -X POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/$REGION/emails" \ -H "X-Auth-Token: $TOKEN" \ -d @mail.json ``` 7. **Send an email via SMTP**. An SMTP relay is available at `smtp.tem.scaleway.com` on ports `25`, `587`, `2587`, `465` (TLS) and `2465` (TLS). Use your `project_id` to authenticate as username and your token as a password. - You have a [Scaleway account](https://console.scaleway.com/) - You are the owner of the domain name you want to use - You have your [Organization and your Project ID](https://console.scaleway.com/project/settings) - You have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page. - You have [installed `curl`](https://curl.se/download.html) ## Technical information ### Regions Scaleway's infrastructure spans different [regions and Availability Zones](https://www.scaleway.com/en/docs/console/account/reference-content/products-availability/). Transactional Email is available in the Paris region, which is represented by the following path parameter: `fr-par`. ## Technical limitations * Transactional Email's attachment types are limited to: - `application/acad-template` - `application/acad` - `application/autocad_dwg` - `application/autocad_dxf` - `application/dwf` - `application/dxf` - `application/ics` - `application/pdf` - `application/pkcs10` - `application/pkcs7-mime` - `application/pkcs7-signature` - `application/vnd.dwt` - `application/vnd.ms-excel` - `application/vnd.ms-powerpoint` - `application/vnd.oasis.opendocument.spreadsheet` - `application/vnd.openxmlformats-officedocument.presentationml.presentation` - `application/vnd.openxmlformats-officedocument.presentationml.slideshow` - `application/vnd.openxmlformats-officedocument.presentationml.template` - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet` - `application/vnd.openxmlformats-officedocument.spreadsheetml.template` - `application/x-dwf` - `application/x-dwg` - `application/x-dwt` - `application/x-dxf` - `application/x-pdf` - `application/x-pkcs12` - `application/x-pkcs7-certificates` - `application/x-pkcs7-certreqresp` - `application/x-pkcs7-crl` - `application/x-pkcs7-mime` - `application/x-pkcs7-signature` - `application/xml` - `image/gif` - `image/jpeg` - `image/jpg` - `image/png` - `image/svg+xml` - `image/vnd.dwg` - `image/vnd.dxf` - `model/vnd.dwf` - `text/calendar` - `text/csv` - `text/html` - `text/plain` - `text/xml` * Attachment size is limited to 2 MB via API and 50 MB via SMTP. * The recursive SPF include directive is not supported ## Going further For more information about Transactional Email, you can check out the following pages: * [Transactional Email Documentation](https://www.scaleway.com/en/docs/managed-services/transactional-email/) * [Scaleway Slack Community](https://scaleway-community.slack.com/) join the #transactional-email channel * [Contact our support team](https://console.scaleway.com/support/tickets). version: v1alpha1 servers: - url: https://api.scaleway.com tags: - name: Emails description: | This section lists your emails and shows you how to manage them. - name: Domains description: | This section lists your domains, shows you to manage them, and gives you information about them. - name: Statistics description: This section gives you information about your emails' statuses. - name: Webhooks description: | Webhooks enable real-time communication and automation between systems by sending messages through all protocols supported by SNS, such as HTTP, HTTPS, and Serverless Functions, allowing for immediate updates and actions based on specific events. This feature is in beta. You can request quotas from the [Scaleway betas page](https://www.scaleway.com/fr/betas/#email-webhooks). - name: Project Settings description: | Project settings allow you to manage the configuration of your projects. - name: Blocklist description: | This section allows you to manage the blocklist of your emails. - name: offers description: | This section allows you to manage and get get subscribed information about your project email offer. - name: Project Consumption description: | Project consumption allow you to see your project consumption. components: schemas: google.protobuf.Int32Value: type: integer format: int32 nullable: true scaleway.transactional_email.v1alpha1.Blocklist: type: object properties: id: type: string description: ID of the blocklist. domain_id: type: string description: Domain ID linked to the blocklist. created_at: type: string description: Date and time of the blocklist creation. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date and time of the blocklist's last update. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true ends_at: type: string description: Date and time when the blocklist ends. Empty if the blocklist has no end. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true email: type: string description: Email blocked by the blocklist. type: type: string description: Type of block for this email. enum: - unknown_type - mailbox_full - mailbox_not_found x-enum-descriptions: values: unknown_type: If unspecified, the type of blocklist is unknown by default mailbox_full: The recipient's mailbox is full and cannot receive any new email mailbox_not_found: The recipient's mailbox does not exist default: unknown_type reason: type: string description: Reason to block this email. custom: type: boolean description: True if this blocklist was created manually. False for an automatic Transactional Email blocklist. x-properties-order: - id - domain_id - created_at - updated_at - ends_at - email - type - reason - custom scaleway.transactional_email.v1alpha1.BulkCreateBlocklistsResponse: type: object properties: blocklists: type: array description: List of blocklist created. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Blocklist' x-properties-order: - blocklists scaleway.transactional_email.v1alpha1.CreateEmailRequest.Address: type: object properties: email: type: string description: Email address. name: type: string description: (Optional) Name displayed. nullable: true x-properties-order: - email - name scaleway.transactional_email.v1alpha1.CreateEmailRequest.Attachment: type: object properties: name: type: string description: Filename of the attachment. type: type: string description: MIME type of the attachment. content: type: string description: Content of the attachment encoded in base64. x-properties-order: - name - type - content scaleway.transactional_email.v1alpha1.CreateEmailRequest.Header: type: object properties: key: type: string description: Email header key. value: type: string description: Email header value. x-properties-order: - key - value scaleway.transactional_email.v1alpha1.CreateEmailResponse: type: object properties: emails: type: array description: Single page of emails matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Email' x-properties-order: - emails scaleway.transactional_email.v1alpha1.Domain: type: object properties: id: type: string description: ID of the domain. organization_id: type: string description: ID of the domain's Organization. project_id: type: string description: ID of the domain's Project. name: type: string description: Domain name (example.com). status: type: string description: Status of the domain. enum: - unknown - checked - unchecked - invalid - locked - revoked - pending - autoconfiguring x-enum-descriptions: values: unknown: If unspecified, the status of the domain is unknown by default checked: The domain is checked unchecked: The domain is unchecked invalid: The domain is invalid locked: The domain is locked revoked: The domain is revoked pending: The domain is pending, waiting to be checked autoconfiguring: The domain is in process of auto-configuration of the domain's DNS zone default: unknown created_at: type: string description: Date and time of domain creation. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true next_check_at: type: string description: Date and time of the next scheduled check. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true last_valid_at: type: string description: Date and time the domain was last valid. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true revoked_at: type: string description: Date and time of the domain's deletion. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true last_error: type: string description: Deprecated. Error message returned if the last check failed. deprecated: true nullable: true spf_config: type: string description: Snippet of the SPF record to register in the DNS zone. dkim_config: type: string description: DKIM public key to record in the DNS zone. statistics: type: object description: Domain's statistics. properties: total_count: type: integer format: uint32 sent_count: type: integer format: uint32 failed_count: type: integer format: uint32 canceled_count: type: integer format: uint32 x-properties-order: - total_count - sent_count - failed_count - canceled_count reputation: type: object description: The domain's reputation is available when your domain is checked and has sent enough emails. properties: status: type: string description: Status of your domain's reputation. enum: - unknown_status - excellent - good - average - bad x-enum-descriptions: values: unknown_status: If unspecified, the status of the domain's reputation is unknown by default excellent: The domain has an excellent reputation good: The domain has a good reputation average: The domain has an average reputation. bad: The domain has a bad reputation. default: unknown_status score: type: integer description: A range from 0 to 100 that determines your domain's reputation score. A score of `0` means a bad domain reputation and a score of `100` means an excellent domain reputation. format: uint32 scored_at: type: string description: Time and date the score was calculated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true previous_score: type: integer description: The previously-calculated domain's reputation score. format: uint32 nullable: true previous_scored_at: type: string description: Time and date the previous reputation score was calculated. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true x-properties-order: - status - score - scored_at - previous_score - previous_scored_at records: type: object description: List of records to configure to validate a domain. properties: dmarc: type: object description: DMARC TXT record specification. properties: name: type: string description: Name of the DMARC TXT record. value: type: string description: Value of the DMARC TXT record. x-properties-order: - name - value dkim: type: object description: DKIM TXT record specification. properties: name: type: string description: Name of the DKIM TXT record. value: type: string description: Value of the DKIM TXT record. x-properties-order: - name - value spf: type: object description: SPF TXT record specification. properties: name: type: string description: Name of the SPF TXT record. value: type: string description: Value of the SPF TXT record. x-properties-order: - name - value mx: type: object description: MX record specification. properties: name: type: string description: Name of the MX record. value: type: string description: Value of the MX record. x-properties-order: - name - value x-properties-order: - dmarc - dkim - spf - mx autoconfig: type: boolean description: Status of auto-configuration for the domain's DNS zone. region: type: string description: The region you want to target x-properties-order: - id - organization_id - project_id - name - status - created_at - next_check_at - last_valid_at - revoked_at - last_error - spf_config - dkim_config - statistics - reputation - records - autoconfig - region scaleway.transactional_email.v1alpha1.Domain.Status: type: string enum: - unknown - checked - unchecked - invalid - locked - revoked - pending - autoconfiguring x-enum-descriptions: values: unknown: If unspecified, the status of the domain is unknown by default checked: The domain is checked unchecked: The domain is unchecked invalid: The domain is invalid locked: The domain is locked revoked: The domain is revoked pending: The domain is pending, waiting to be checked autoconfiguring: The domain is in process of auto-configuration of the domain's DNS zone default: unknown scaleway.transactional_email.v1alpha1.DomainLastStatus: type: object properties: domain_id: type: string description: The ID of the domain. domain_name: type: string description: The domain name (example.com). spf_record: type: object description: The SPF record verification data. properties: status: type: string description: Status of the SPF record's configuration. enum: - unknown_record_status - valid - invalid - not_found x-enum-descriptions: values: unknown_record_status: If unspecified, the status of the domain's record is unknown by default valid: The record is valid invalid: The record is invalid not_found: The record was not found default: unknown_record_status last_valid_at: type: string description: Time and date the SPF record was last valid. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true error: type: string description: An error text displays in case the record is not valid. nullable: true x-properties-order: - status - last_valid_at - error dkim_record: type: object description: The DKIM record verification data. properties: status: type: string description: Status of the DKIM record's configuration. enum: - unknown_record_status - valid - invalid - not_found x-enum-descriptions: values: unknown_record_status: If unspecified, the status of the domain's record is unknown by default valid: The record is valid invalid: The record is invalid not_found: The record was not found default: unknown_record_status last_valid_at: type: string description: Time and date the DKIM record was last valid. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true error: type: string description: An error text displays in case the record is not valid. nullable: true x-properties-order: - status - last_valid_at - error dmarc_record: type: object description: The DMARC record verification data. properties: status: type: string description: Status of the DMARC record's configuration. enum: - unknown_record_status - valid - invalid - not_found x-enum-descriptions: values: unknown_record_status: If unspecified, the status of the domain's record is unknown by default valid: The record is valid invalid: The record is invalid not_found: The record was not found default: unknown_record_status last_valid_at: type: string description: Time and date the DMARC record was last valid. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true error: type: string description: An error text displays in case the record is not valid. nullable: true x-properties-order: - status - last_valid_at - error mx_record: type: object description: The MX record verification data. properties: status: type: string description: |- Status of the MX record's configuration. Status of the MX record's configuration. This record is optional to validate a domain, but highly recommended. enum: - unknown_record_status - valid - invalid - not_found x-enum-descriptions: values: unknown_record_status: If unspecified, the status of the domain's record is unknown by default valid: The record is valid invalid: The record is invalid not_found: The record was not found default: unknown_record_status last_valid_at: type: string description: Time and date the MX record was last valid. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true error: type: string description: An error text displays in case the record is not valid. nullable: true x-properties-order: - status - last_valid_at - error autoconfig_state: type: object description: The verification state of domain auto-configuration. properties: enabled: type: boolean description: Enable or disable the auto-configuration of domain DNS records. autoconfigurable: type: boolean description: Whether the domain can be auto-configured or not. reason: type: string description: The reason that the domain cannot be auto-configurable. enum: - unknown_reason - permission_denied - domain_not_found x-enum-descriptions: values: unknown_reason: If not specified, the auto-configuration state is unknown by default permission_denied: The token doesn't have the necessary permissions to manage the domain's DNS records domain_not_found: The domain does not exist or isn't manageable by the token default: unknown_reason x-properties-order: - enabled - autoconfigurable - reason x-properties-order: - domain_id - domain_name - spf_record - dkim_record - dmarc_record - mx_record - autoconfig_state scaleway.transactional_email.v1alpha1.Email: type: object properties: id: type: string description: Technical ID of the email. message_id: type: string description: Message ID of the email. project_id: type: string description: ID of the Project to which the email belongs. mail_from: type: string description: Email address of the sender. rcpt_to: type: string description: Deprecated. Email address of the recipient. deprecated: true mail_rcpt: type: string description: Email address of the recipient. rcpt_type: type: string description: Type of recipient. enum: - unknown_rcpt_type - to - cc - bcc x-enum-descriptions: values: unknown_rcpt_type: If unspecified, the recipient type is unknown by default to: Primary recipient cc: Carbon copy recipient bcc: Blind carbon copy recipient default: unknown_rcpt_type subject: type: string description: Subject of the email. created_at: type: string description: Creation date of the email object. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Last update of the email object. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true status: type: string description: Status of the email. enum: - unknown - new - sending - sent - failed - canceled x-enum-descriptions: values: unknown: If unspecified, the status of the email is unknown by default new: The email is new sending: The email is in the process of being sent sent: The email was sent failed: The sending of the email failed canceled: The sending of the email was canceled default: unknown status_details: type: string description: Additional status information. nullable: true try_count: type: integer description: Number of attempts to send the email. format: uint32 last_tries: type: array description: Information about the last three attempts to send the email. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Email.Try' flags: type: array description: Flags categorize emails. They allow you to obtain more information about recurring errors, for example. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Email.Flag' x-properties-order: - id - message_id - project_id - mail_from - rcpt_to - mail_rcpt - rcpt_type - subject - created_at - updated_at - status - status_details - try_count - last_tries - flags scaleway.transactional_email.v1alpha1.Email.Flag: type: string enum: - unknown_flag - soft_bounce - hard_bounce - spam - mailbox_full - mailbox_not_found - greylisted - send_before_expiration - blocklisted x-enum-descriptions: values: unknown_flag: If unspecified, the flag type is unknown by default soft_bounce: Refers to a non critical error received while sending the email(s). Soft bounced emails are retried hard_bounce: Refers to a critical error that happened while sending the email(s) spam: Refers to an email considered as spam mailbox_full: Refers to an undelivered email because the recipient mailbox is full mailbox_not_found: Refers to an undelivered email because the recipient mailbox does not exist greylisted: Refers to an email slightly delayed by the recipient to ensure that Scaleway is not sending spam send_before_expiration: Refers to an email with a `send-before` tag to indicate the maximum time limit for the email to be sent blocklisted: Refers to an email blocked by a blocklist default: unknown_flag scaleway.transactional_email.v1alpha1.Email.Status: type: string enum: - unknown - new - sending - sent - failed - canceled x-enum-descriptions: values: unknown: If unspecified, the status of the email is unknown by default new: The email is new sending: The email is in the process of being sent sent: The email was sent failed: The sending of the email failed canceled: The sending of the email was canceled default: unknown scaleway.transactional_email.v1alpha1.Email.Try: type: object properties: rank: type: integer description: Rank number of this attempt to send the email. format: uint32 tried_at: type: string description: Date of the attempt to send the email. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true code: type: integer description: The SMTP status code received after the attempt. 0 if the attempt did not reach an SMTP server. format: int32 message: type: string description: The SMTP message received. If the attempt did not reach an SMTP server, the message returned explains what happened. x-properties-order: - rank - tried_at - code - message scaleway.transactional_email.v1alpha1.ListBlocklistsResponse: type: object properties: total_count: type: integer description: Number of blocklists matching the requested criteria. format: uint64 blocklists: type: array description: Single page of blocklists matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Blocklist' x-properties-order: - total_count - blocklists scaleway.transactional_email.v1alpha1.ListDomainsResponse: type: object properties: total_count: type: integer description: Number of domains that match the request (without pagination). format: uint32 domains: type: array description: Single page of domains matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Domain' x-properties-order: - total_count - domains scaleway.transactional_email.v1alpha1.ListEmailsResponse: type: object properties: total_count: type: integer description: Number of emails matching the requested criteria. format: uint32 emails: type: array description: Single page of emails matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Email' x-properties-order: - total_count - emails scaleway.transactional_email.v1alpha1.ListOfferSubscriptionsResponse: type: object properties: total_count: type: integer description: Number of offer-subscriptions matching the requested criteria. format: uint64 offer_subscriptions: type: array description: Single page of offer-subscriptions matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.OfferSubscription' x-properties-order: - total_count - offer_subscriptions scaleway.transactional_email.v1alpha1.ListOffersResponse: type: object properties: total_count: type: integer description: Number of offers matching the requested criteria. format: uint64 offers: type: array description: Single page of offers matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Offer' x-properties-order: - total_count - offers scaleway.transactional_email.v1alpha1.ListPoolsResponse: type: object properties: total_count: type: integer description: Number of pools matching the requested criteria. format: uint64 pools: type: array description: Single page of pools matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Pool' x-properties-order: - total_count - pools scaleway.transactional_email.v1alpha1.ListWebhookEventsResponse: type: object properties: total_count: type: integer description: Number of Webhook events matching the requested criteria. format: uint64 webhook_events: type: array description: Single page of Webhook events matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.WebhookEvent' x-properties-order: - total_count - webhook_events scaleway.transactional_email.v1alpha1.ListWebhooksResponse: type: object properties: total_count: type: integer description: Number of Webhooks matching the requested criteria. format: uint64 webhooks: type: array description: Single page of Webhooks matching the requested criteria. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Webhook' x-properties-order: - total_count - webhooks scaleway.transactional_email.v1alpha1.Offer: type: object properties: name: type: string description: Name of the offer. enum: - unknown_name - essential - scale x-enum-descriptions: values: unknown_name: If unspecified, the offer name is unknown by default essential: The 'essential' offer scale: The 'scale' offer default: unknown_name created_at: type: string description: Date and time of the offer creation. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true commitment_period: type: string description: Period of commitment. (in seconds) example: 2.5s nullable: true sla: type: number description: Service Level Agreement percentage of the offer. format: float max_domains: type: integer description: Max number of checked domains that can be associated with the offer. format: int32 max_dedicated_ips: type: integer description: Max number of dedicated IPs that can be associated with the offer. format: int32 included_monthly_emails: type: integer description: Number of emails included in the offer per month. format: int32 max_webhooks_per_domain: type: integer description: Max number of webhooks that can be associated with the offer. format: int32 max_custom_blocklists_per_domain: type: integer description: Max number of active custom blocklists that can be associated with the offer. format: int32 x-properties-order: - name - created_at - commitment_period - sla - max_domains - max_dedicated_ips - included_monthly_emails - max_webhooks_per_domain - max_custom_blocklists_per_domain scaleway.transactional_email.v1alpha1.OfferSubscription: type: object properties: organization_id: type: string description: ID of the offer-subscription Organization. project_id: type: string description: ID of the offer-subscription Project. offer_name: type: string description: Name of the offer associated with the Project. enum: - unknown_name - essential - scale x-enum-descriptions: values: unknown_name: If unspecified, the offer name is unknown by default essential: The 'essential' offer scale: The 'scale' offer default: unknown_name subscribed_at: type: string description: Date and time of the subscription. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true cancellation_available_at: type: string description: Date and time of the end of the offer-subscription commitment. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true sla: type: number description: Service Level Agreement percentage of the offer-subscription. format: float max_domains: type: integer description: Max number of domains that can be associated with the offer-subscription for a particular Project. format: int32 max_dedicated_ips: type: integer description: Max number of dedicated IPs that can be associated with the offer-subscription for a particular Project. format: int32 max_webhooks_per_domain: type: integer description: Max number of webhooks that can be associated with the offer-subscription for a particular Project. format: int32 max_custom_blocklists_per_domain: type: integer description: Max number of custom blocklists that can be associated with the offer-subscription for a particular Project. format: int32 included_monthly_emails: type: integer description: Number of emails included in the offer-subscription per month. format: int32 x-properties-order: - organization_id - project_id - offer_name - subscribed_at - cancellation_available_at - sla - max_domains - max_dedicated_ips - max_webhooks_per_domain - max_custom_blocklists_per_domain - included_monthly_emails scaleway.transactional_email.v1alpha1.Pool: type: object properties: project_id: type: string description: ID of the Project. status: type: string description: Status of the pool. enum: - unknown_status - disabled - creating - ready - error x-enum-descriptions: values: unknown_status: If unspecified, the status is unknown by default disabled: The pool is disabled creating: The pool is being created ready: The pool is ready to be used error: The pool has an error status default: unknown_status details: type: string description: Details of the pool. zone: type: string description: Zone of the pool. ips: type: array description: IPs of the pool. (IP address) example: - 1.2.3.4 items: type: string reverse: type: string description: Reverse hostname of all IPs of the pool. x-properties-order: - project_id - status - details - zone - ips - reverse scaleway.transactional_email.v1alpha1.ProjectConsumption: type: object properties: project_id: type: string description: ID of the project. domains_count: type: integer description: Number of domains in the project. format: int32 dedicated_ips_count: type: integer description: Number of dedicated IP in the project. format: int32 monthly_emails_count: type: integer description: Number of emails sent during the current month in the project. format: int32 webhooks_count: type: integer description: Number of webhooks in the project. format: int32 custom_blocklists_count: type: integer description: Number of custom blocklists in the project. format: int32 x-properties-order: - project_id - domains_count - dedicated_ips_count - monthly_emails_count - webhooks_count - custom_blocklists_count scaleway.transactional_email.v1alpha1.ProjectSettings: type: object properties: periodic_report: type: object description: Information about your periodic report. properties: enabled: type: boolean description: Enable or disable periodic report notifications. frequency: type: string description: At which frequency you receive periodic report notifications. enum: - unknown_frequency - monthly - weekly - daily x-enum-descriptions: values: unknown_frequency: If unspecified, the frequency is unknown by default monthly: The periodic report is sent once a month weekly: The periodic report is sent once a week daily: The periodic report is sent once a day default: unknown_frequency sending_hour: type: integer description: At which hour you receive periodic report notifications. format: uint32 sending_day: type: integer description: On which day you receive periodic report notifications (1-7 weekly, 1-28 monthly). format: uint32 x-properties-order: - enabled - frequency - sending_hour - sending_day x-properties-order: - periodic_report scaleway.transactional_email.v1alpha1.Statistics: type: object properties: total_count: type: integer description: Total number of emails matching the requested criteria. format: uint32 new_count: type: integer description: Number of emails still in the `new` transient state. This means emails received from the API but not yet processed. format: uint32 sending_count: type: integer description: Number of emails still in the `sending` transient state. This means emails received from the API but not yet in their final status. format: uint32 sent_count: type: integer description: Number of emails in the final `sent` state. This means emails that have been delivered to the target mail system. format: uint32 failed_count: type: integer description: Number of emails in the final `failed` state. This means emails that have been refused by the target mail system with a final error status. format: uint32 canceled_count: type: integer description: Number of emails in the final `canceled` state. This means emails that have been canceled upon request. format: uint32 x-properties-order: - total_count - new_count - sending_count - sent_count - failed_count - canceled_count scaleway.transactional_email.v1alpha1.Webhook: type: object properties: id: type: string description: ID of the Webhook. domain_id: type: string description: ID of the Domain to watch for triggering events. organization_id: type: string description: ID of the Webhook Organization. project_id: type: string description: ID of the Webhook Project. name: type: string description: Name of the Webhook. event_types: type: array description: List of event types that will trigger a Webhook Event. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.WebhookEvent.Type' sns_arn: type: string description: Scaleway SNS ARN topic to push the events to. created_at: type: string description: Date and time of the Webhook creation. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date and time of last Webhook updates. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true x-properties-order: - id - domain_id - organization_id - project_id - name - event_types - sns_arn - created_at - updated_at scaleway.transactional_email.v1alpha1.WebhookEvent: type: object properties: id: type: string description: ID of the Webhook Event. webhook_id: type: string description: ID of the Webhook that triggers the Event. organization_id: type: string description: ID of the Webhook Event Organization. project_id: type: string description: ID of the Webhook Event Project. domain_id: type: string description: ID of the webhook event domain. type: type: string description: Type of the Webhook Event. enum: - unknown_type - email_queued - email_dropped - email_deferred - email_delivered - email_spam - email_mailbox_not_found - email_blocklisted - blocklist_created x-enum-descriptions: values: unknown_type: If unspecified, the type of the Webhook Event is unknown by default email_queued: The email was received and is in preparation to be sent to the recipient servers email_dropped: The email was sent but hard-bounced by the recipient server email_deferred: The email was sent but soft-bounced by the recipient server. In this case, the sending of the email will be automatically retried email_delivered: The email was successfully sent email_spam: The email resource was identified as spam by Scaleway or by the recipient server email_mailbox_not_found: The email hard-bounced with a "mailbox not found" error email_blocklisted: The email was blocked before it was sent, as the recipient matches a blocklist blocklist_created: A new blocklist is created default: unknown_type status: type: string description: Status of the Webhook Event. enum: - unknown_status - sending - sent - failed x-enum-descriptions: values: unknown_status: If unspecified, the status of the Webhook event is unknown by default sending: The Webhook event is being sent sent: The Webhook event was sent failed: The Webhook event cannot be sent after multiple retries default: unknown_status data: type: string description: Data sent to the Webhook destination. created_at: type: string description: Date and time of the Webhook Event creation. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true updated_at: type: string description: Date and time of last Webhook Event updates. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true email_id: type: string description: Optional Email ID if the event is triggered by an Email resource. nullable: true x-properties-order: - id - webhook_id - organization_id - project_id - domain_id - type - status - data - created_at - updated_at - email_id scaleway.transactional_email.v1alpha1.WebhookEvent.Status: type: string enum: - unknown_status - sending - sent - failed x-enum-descriptions: values: unknown_status: If unspecified, the status of the Webhook event is unknown by default sending: The Webhook event is being sent sent: The Webhook event was sent failed: The Webhook event cannot be sent after multiple retries default: unknown_status scaleway.transactional_email.v1alpha1.WebhookEvent.Type: type: string enum: - unknown_type - email_queued - email_dropped - email_deferred - email_delivered - email_spam - email_mailbox_not_found - email_blocklisted - blocklist_created x-enum-descriptions: values: unknown_type: If unspecified, the type of the Webhook Event is unknown by default email_queued: The email was received and is in preparation to be sent to the recipient servers email_dropped: The email was sent but hard-bounced by the recipient server email_deferred: The email was sent but soft-bounced by the recipient server. In this case, the sending of the email will be automatically retried email_delivered: The email was successfully sent email_spam: The email resource was identified as spam by Scaleway or by the recipient server email_mailbox_not_found: The email hard-bounced with a "mailbox not found" error email_blocklisted: The email was blocked before it was sent, as the recipient matches a blocklist blocklist_created: A new blocklist is created default: unknown_type securitySchemes: scaleway: in: header name: X-Auth-Token type: apiKey paths: /transactional-email/v1alpha1/regions/{region}/blocklists: get: tags: - Blocklist operationId: ListBlocklists summary: List blocklists description: Retrieve the list of blocklists. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: query name: order_by description: (Optional) List blocklist corresponding to specific criteria. schema: type: string enum: - created_at_desc - created_at_asc - ends_at_desc - ends_at_asc x-enum-descriptions: values: created_at_desc: Order by creation date (descending chronological order) created_at_asc: Order by creation date (ascending chronological order) ends_at_desc: Order by blocklist ends date (descending chronological order) ends_at_asc: Order by blocklist ends date (ascending chronological order) default: created_at_desc - in: query name: page description: (Optional) Requested page number. Value must be greater or equal to 1. schema: type: integer format: int32 - in: query name: page_size description: (Optional) Requested page size. Value must be between 1 and 100. schema: type: integer format: uint32 - in: query name: domain_id description: (Optional) Filter by a domain ID. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: email description: (Optional) Filter by an email address. schema: type: string - in: query name: type description: (Optional) Filter by a blocklist type. schema: type: string enum: - unknown_type - mailbox_full - mailbox_not_found x-enum-descriptions: values: unknown_type: If unspecified, the type of blocklist is unknown by default mailbox_full: The recipient's mailbox is full and cannot receive any new email mailbox_not_found: The recipient's mailbox does not exist default: unknown_type - in: query name: custom description: (Optional) Filter by custom blocklist (true) or automatic Transactional Email blocklist (false). schema: type: boolean responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ListBlocklistsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/blocklists?domain_id=6170692e-7363-616c-6577-61792e636f6d" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/blocklists" \ X-Auth-Token:$SCW_SECRET_KEY \ domain_id==6170692e-7363-616c-6577-61792e636f6d post: tags: - Blocklist operationId: BulkCreateBlocklists summary: Bulk create blocklists description: Create multiple blocklists in a specific Project or Organization using the `region` parameter. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.BulkCreateBlocklistsResponse' requestBody: required: true content: application/json: schema: type: object properties: domain_id: type: string description: Domain ID linked to the blocklist. (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d emails: type: array description: Email blocked by the blocklist. items: type: string type: type: string description: Type of blocklist. enum: - unknown_type - mailbox_full - mailbox_not_found x-enum-descriptions: values: unknown_type: If unspecified, the type of blocklist is unknown by default mailbox_full: The recipient's mailbox is full and cannot receive any new email mailbox_not_found: The recipient's mailbox does not exist default: unknown_type reason: type: string description: Reason to block the email. x-properties-order: - domain_id - emails - type - reason security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"domain_id":"6170692e-7363-616c-6577-61792e636f6d"}' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/blocklists" - lang: HTTPie source: |- http POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/blocklists" \ X-Auth-Token:$SCW_SECRET_KEY \ domain_id="6170692e-7363-616c-6577-61792e636f6d" /transactional-email/v1alpha1/regions/{region}/blocklists/{blocklist_id}: delete: tags: - Blocklist operationId: DeleteBlocklist summary: Delete a blocklist description: You must specify the blocklist you want to delete by the `region` and `blocklist_id`. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: blocklist_id description: ID of the blocklist to delete. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/blocklists/{blocklist_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/blocklists/{blocklist_id}" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/domains: get: tags: - Domains operationId: ListDomains summary: List domains description: Retrieve domains in a specific Project or in a specific Organization using the `region` parameter. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: query name: page description: Requested page number. Value must be greater or equal to 1. schema: type: integer format: int32 - in: query name: page_size description: Requested page size. Value must be between 1 and 1000. schema: type: integer format: uint32 - in: query name: project_id description: (Optional) ID of the Project in which to list the domains. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: status description: (Optional) List domains under specific statuses. schema: type: array items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Domain.Status' - in: query name: organization_id description: (Optional) ID of the Organization in which to list the domains. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: name description: (Optional) Names of the domains to list. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ListDomainsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Domains operationId: CreateDomain summary: Register a domain in a project description: You must specify the `region`, `project_id` and `domain_name` to register a domain in a specific Project. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Domain' requestBody: required: true content: application/json: schema: type: object properties: project_id: type: string description: ID of the project to which the domain belongs. (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d domain_name: type: string description: Fully qualified domain dame. accept_tos: type: boolean description: Deprecated. Accept Scaleway's Terms of Service. deprecated: true autoconfig: type: boolean description: Activate auto-configuration of the domain's DNS zone. x-properties-order: - project_id - domain_name - accept_tos - autoconfig security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "accept_tos": false, "autoconfig": false, "domain_name": "string", "project_id": "6170692e-7363-616c-6577-61792e636f6d" }' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains" - lang: HTTPie source: |- http POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains" \ X-Auth-Token:$SCW_SECRET_KEY \ accept_tos:=false \ autoconfig:=false \ domain_name="string" \ project_id="6170692e-7363-616c-6577-61792e636f6d" /transactional-email/v1alpha1/regions/{region}/domains/{domain_id}: get: tags: - Domains operationId: GetDomain summary: Get information about a domain description: Retrieve information about a specific domain using the `region` and `domain_id` parameters. Monitor your domain's reputation and improve **average** and **bad** reputation statuses, using your domain's **Email activity** tab on the [Scaleway console](https://console.scaleway.com/transactional-email/domains) to get a more detailed report. Check out our [dedicated documentation](https://www.scaleway.com/en/docs/managed-services/transactional-email/reference-content/understanding-tem-reputation-score/) to improve your domain's reputation. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: domain_id description: ID of the domain. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Domain' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - Domains operationId: UpdateDomain summary: Update a domain description: Update a domain auto-configuration. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: domain_id description: ID of the domain to update. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Domain' requestBody: required: true content: application/json: schema: type: object properties: autoconfig: type: boolean description: (Optional) If set to true, activate auto-configuration of the domain's DNS zone. nullable: true x-properties-order: - autoconfig security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/check: post: tags: - Domains operationId: CheckDomain summary: Domain DNS check description: Perform an immediate DNS check of a domain using the `region` and `domain_id` parameters. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: domain_id description: ID of the domain to check. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Domain' requestBody: required: true content: application/json: schema: type: object security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/check" - lang: HTTPie source: |- http POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/check" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/revoke: post: tags: - Domains operationId: RevokeDomain summary: Delete a domain description: You must specify the domain you want to delete by the `region` and `domain_id`. Deleting a domain is permanent and cannot be undone. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: domain_id description: ID of the domain to delete. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Domain' requestBody: required: true content: application/json: schema: type: object security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/revoke" - lang: HTTPie source: |- http POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/revoke" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/verification: get: tags: - Domains operationId: GetDomainLastStatus summary: Display SPF, DKIM, DMARC and MX records status and potential errors description: Display SPF, DKIM, DMARC and MX records status and potential errors, including the found records to make debugging easier. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: domain_id description: ID of the domain to get records status. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.DomainLastStatus' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/verification" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/domains/{domain_id}/verification" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/emails: get: tags: - Emails operationId: ListEmails summary: List emails description: Retrieve the list of emails sent from a specific domain or for a specific Project or Organization. You must specify the `region`. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: query name: page schema: $ref: '#/components/schemas/google.protobuf.Int32Value' - in: query name: page_size schema: type: integer format: uint32 - in: query name: project_id description: (Optional) ID of the Project in which to list the emails. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: domain_id description: (Optional) ID of the domain for which to list the emails. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: message_id description: (Optional) ID of the message for which to list the emails. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: since description: (Optional) List emails created after this date. (RFC 3339 format) schema: type: string format: date-time example: "2022-03-22T12:34:56.123456Z" - in: query name: until description: (Optional) List emails created before this date. (RFC 3339 format) schema: type: string format: date-time example: "2022-03-22T12:34:56.123456Z" - in: query name: mail_from description: (Optional) List emails sent with this sender's email address. schema: type: string - in: query name: mail_to description: Deprecated. List emails sent to this recipient's email address. schema: type: string deprecated: true - in: query name: mail_rcpt description: (Optional) List emails sent to this recipient's email address. schema: type: string - in: query name: statuses description: (Optional) List emails with any of these statuses. schema: type: array items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Email.Status' - in: query name: subject description: (Optional) List emails with this subject. schema: type: string - in: query name: search description: (Optional) List emails by searching to all fields. schema: type: string - in: query name: order_by description: (Optional) List emails corresponding to specific criteria. schema: type: string enum: - created_at_desc - created_at_asc - updated_at_desc - updated_at_asc - status_desc - status_asc - mail_from_desc - mail_from_asc - mail_rcpt_desc - mail_rcpt_asc - subject_desc - subject_asc x-enum-descriptions: values: created_at_desc: Order by creation date (descending chronological order) created_at_asc: Order by creation date (ascending chronological order) updated_at_desc: Order by last update date (descending chronological order) updated_at_asc: Order by last update date (ascending chronological order) status_desc: Order by status (descending alphabetical order) status_asc: Order by status (ascending alphabetical order) mail_from_desc: Order by mail_from (descending alphabetical order) mail_from_asc: Order by mail_from (ascending alphabetical order) mail_rcpt_desc: Order by mail recipient (descending alphabetical order) mail_rcpt_asc: Order by mail recipient (ascending alphabetical order) subject_desc: Order by subject (descending alphabetical order) subject_asc: Order by subject (ascending alphabetical order) default: created_at_desc - in: query name: flags description: (Optional) List emails containing only specific flags. schema: type: array items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Email.Flag' responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ListEmailsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/emails" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/emails" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Emails operationId: CreateEmail summary: Send an email description: You must specify the `region`, the sender and the recipient's information and the `project_id` to send an email from a checked domain. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.CreateEmailResponse' requestBody: required: true content: application/json: schema: type: object properties: from: type: object description: Sender information. Must be from a checked domain declared in the Project. properties: email: type: string description: Email address. name: type: string description: (Optional) Name displayed. nullable: true x-properties-order: - email - name to: type: array description: An array of the primary recipient's information. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.CreateEmailRequest.Address' cc: type: array description: An array of the carbon copy recipient's information. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.CreateEmailRequest.Address' bcc: type: array description: An array of the blind carbon copy recipient's information. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.CreateEmailRequest.Address' subject: type: string description: Subject of the email. text: type: string description: Text content. html: type: string description: HTML content. project_id: type: string description: ID of the Project in which to create the email. (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d attachments: type: array description: Array of attachments. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.CreateEmailRequest.Attachment' send_before: type: string description: Maximum date to deliver the email. (RFC 3339 format) format: date-time example: "2022-03-22T12:34:56.123456Z" nullable: true additional_headers: type: array description: Array of additional headers as key-value. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.CreateEmailRequest.Header' required: - from x-properties-order: - from - to - cc - bcc - subject - text - html - project_id - attachments - send_before - additional_headers security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "from": { "email": "string", "name": "string" }, "html": "string", "project_id": "6170692e-7363-616c-6577-61792e636f6d", "subject": "string", "text": "string" }' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/emails" - lang: HTTPie source: |- http POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/emails" \ X-Auth-Token:$SCW_SECRET_KEY \ from:='{ "email": "string", "name": "string" }' \ html="string" \ project_id="6170692e-7363-616c-6577-61792e636f6d" \ subject="string" \ text="string" /transactional-email/v1alpha1/regions/{region}/emails/{email_id}: get: tags: - Emails operationId: GetEmail summary: Get an email description: Retrieve information about a specific email using the `email_id` and `region` parameters. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: email_id description: ID of the email to retrieve. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Email' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/emails/{email_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/emails/{email_id}" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/emails/{email_id}/cancel: post: tags: - Emails operationId: CancelEmail summary: Cancel an email description: You can cancel the sending of an email if it has not been sent yet. You must specify the `region` and the `email_id` of the email you want to cancel. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: email_id description: ID of the email to cancel. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Email' requestBody: required: true content: application/json: schema: type: object security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/emails/{email_id}/cancel" - lang: HTTPie source: |- http POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/emails/{email_id}/cancel" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/offer-subscriptions: get: tags: - offers operationId: ListOfferSubscriptions summary: Get information about subscribed offers description: Retrieve information about the offers you are subscribed to using the `project_id` and `region` parameters. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: query name: project_id description: ID of the Project. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ListOfferSubscriptionsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/offer-subscriptions?project_id=6170692e-7363-616c-6577-61792e636f6d" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/offer-subscriptions" \ X-Auth-Token:$SCW_SECRET_KEY \ project_id==6170692e-7363-616c-6577-61792e636f6d patch: tags: - offers operationId: UpdateOfferSubscription summary: Update a subscribed offer parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.OfferSubscription' requestBody: required: true content: application/json: schema: type: object properties: project_id: type: string description: ID of the Project. (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d name: type: string description: Name of the offer-subscription. enum: - unknown_name - essential - scale x-enum-descriptions: values: unknown_name: If unspecified, the offer name is unknown by default essential: The 'essential' offer scale: The 'scale' offer default: unknown_name x-properties-order: - project_id - name security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{"project_id":"6170692e-7363-616c-6577-61792e636f6d"}' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/offer-subscriptions" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/offer-subscriptions" \ X-Auth-Token:$SCW_SECRET_KEY \ project_id="6170692e-7363-616c-6577-61792e636f6d" /transactional-email/v1alpha1/regions/{region}/offers: get: tags: - offers operationId: ListOffers summary: List the available offers. description: Retrieve the list of the available and free-of-charge offers you can subscribe to. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ListOffersResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/offers" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/offers" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/pools: get: tags: - offers operationId: ListPools summary: Get information about a sending pool. description: Retrieve information about a sending pool, including its creation status and configuration parameters. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: query name: page description: Requested page number. Value must be greater or equal to 1. schema: type: integer format: int32 - in: query name: page_size description: Requested page size. Value must be between 1 and 1000. schema: type: integer format: uint32 - in: query name: project_id description: ID of the Project. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ListPoolsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/pools?project_id=6170692e-7363-616c-6577-61792e636f6d" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/pools" \ X-Auth-Token:$SCW_SECRET_KEY \ project_id==6170692e-7363-616c-6577-61792e636f6d /transactional-email/v1alpha1/regions/{region}/project-consumption: get: tags: - Project Consumption operationId: GetProjectConsumption summary: Get project resource consumption. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: query name: project_id description: ID of the project. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ProjectConsumption' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/project-consumption?project_id=6170692e-7363-616c-6577-61792e636f6d" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/project-consumption" \ X-Auth-Token:$SCW_SECRET_KEY \ project_id==6170692e-7363-616c-6577-61792e636f6d /transactional-email/v1alpha1/regions/{region}/project/{project_id}/settings: get: tags: - Project Settings operationId: GetProjectSettings summary: List project settings description: Retrieve the project settings including periodic reports. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: project_id description: ID of the project. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ProjectSettings' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/project/{project_id}/settings" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/project/{project_id}/settings" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - Project Settings operationId: UpdateProjectSettings summary: Update project settings description: Update the project settings including periodic reports. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: project_id description: ID of the project. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ProjectSettings' requestBody: required: true content: application/json: schema: type: object properties: periodic_report: type: object description: Periodic report update details - all fields are optional. properties: enabled: type: boolean description: (Optional) Enable or disable periodic report notifications. frequency: type: string description: (Optional) Frequency at which you receive periodic report notifications. enum: - unknown_frequency - monthly - weekly - daily x-enum-descriptions: values: unknown_frequency: If unspecified, the frequency is unknown by default monthly: The periodic report is sent once a month weekly: The periodic report is sent once a week daily: The periodic report is sent once a day default: unknown_frequency sending_hour: type: integer description: (Optional) Hour at which you receive periodic report notifications. format: uint32 sending_day: type: integer description: (Optional) On which day you receive periodic report notifications (1-7 weekly, 1-28 monthly). format: uint32 x-properties-order: - enabled - frequency - sending_hour - sending_day x-properties-order: - periodic_report security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/project/{project_id}/settings" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/project/{project_id}/settings" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/statistics: get: tags: - Statistics operationId: GetStatistics summary: Email statuses description: Get information on your emails' statuses. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: query name: project_id description: (Optional) Number of emails for this Project. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: domain_id description: (Optional) Number of emails sent from this domain (must be coherent with the `project_id` and the `organization_id`). (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: since description: (Optional) Number of emails created after this date. (RFC 3339 format) schema: type: string format: date-time example: "2022-03-22T12:34:56.123456Z" - in: query name: until description: (Optional) Number of emails created before this date. (RFC 3339 format) schema: type: string format: date-time example: "2022-03-22T12:34:56.123456Z" - in: query name: mail_from description: (Optional) Number of emails sent with this sender's email address. schema: type: string responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Statistics' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/statistics" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/statistics" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/webhooks: get: tags: - Webhooks operationId: ListWebhooks summary: List Webhooks description: Retrieve Webhooks in a specific Project or in a specific Organization using the `region` parameter. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: query name: order_by description: (Optional) List Webhooks corresponding to specific criteria. schema: type: string enum: - created_at_desc - created_at_asc default: created_at_desc - in: query name: page description: (Optional) Requested page number. Value must be greater or equal to 1. schema: type: integer format: int32 - in: query name: page_size description: (Optional) Requested page size. Value must be between 1 and 100. schema: type: integer format: uint32 - in: query name: project_id description: (Optional) ID of the Project for which to list the Webhooks. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: organization_id description: (Optional) ID of the Organization for which to list the Webhooks. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: domain_id description: (Optional) ID of the Domain for which to list the Webhooks. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ListWebhooksResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks" \ X-Auth-Token:$SCW_SECRET_KEY post: tags: - Webhooks operationId: CreateWebhook summary: Create a Webhook description: Create a new Webhook triggered by a list of event types and pushed to a Scaleway SNS ARN. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Webhook' requestBody: required: true content: application/json: schema: type: object properties: domain_id: type: string description: ID of the Domain to watch for triggering events. (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d project_id: type: string description: ID of the project to which the Webhook belongs. (UUID format) example: 6170692e-7363-616c-6577-61792e636f6d name: type: string description: Name of the Webhook. event_types: type: array description: List of event types that will trigger an event. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.WebhookEvent.Type' sns_arn: type: string description: Scaleway SNS ARN topic to push the events to. x-properties-order: - domain_id - project_id - name - event_types - sns_arn security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X POST \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{ "domain_id": "6170692e-7363-616c-6577-61792e636f6d", "name": "string", "project_id": "6170692e-7363-616c-6577-61792e636f6d", "sns_arn": "string" }' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks" - lang: HTTPie source: |- http POST "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks" \ X-Auth-Token:$SCW_SECRET_KEY \ domain_id="6170692e-7363-616c-6577-61792e636f6d" \ name="string" \ project_id="6170692e-7363-616c-6577-61792e636f6d" \ sns_arn="string" /transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}: get: tags: - Webhooks operationId: GetWebhook summary: Get information about a Webhook description: Retrieve information about a specific Webhook using the `webhook_id` and `region` parameters. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: webhook_id description: ID of the Webhook to check. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Webhook' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}" \ X-Auth-Token:$SCW_SECRET_KEY patch: tags: - Webhooks operationId: UpdateWebhook summary: Update a Webhook description: Update a Webhook events type, SNS ARN or name. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: webhook_id description: ID of the Webhook to update. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.Webhook' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: Name of the Webhook to update. nullable: true event_types: type: array description: List of event types to update. items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.WebhookEvent.Type' sns_arn: type: string description: Scaleway SNS ARN topic to update. nullable: true x-properties-order: - name - event_types - sns_arn security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X PATCH \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ -H "Content-Type: application/json" \ -d '{}' \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}" - lang: HTTPie source: |- http PATCH "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}" \ X-Auth-Token:$SCW_SECRET_KEY delete: tags: - Webhooks operationId: DeleteWebhook summary: Delete a Webhook description: You must specify the Webhook you want to delete by the `region` and `webhook_id`. Deleting a Webhook is permanent and cannot be undone. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: webhook_id description: ID of the Webhook to delete. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "204": description: "" security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X DELETE \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}" - lang: HTTPie source: |- http DELETE "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}" \ X-Auth-Token:$SCW_SECRET_KEY /transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}/events: get: tags: - Webhooks operationId: ListWebhookEvents summary: List Webhook triggered events description: Retrieve the list of Webhook events triggered from a specific Webhook or for a specific Project or Organization. You must specify the `region`. parameters: - in: path name: region description: The region you want to target required: true schema: type: string enum: - fr-par - in: path name: webhook_id description: ID of the Webhook linked to the events. (UUID format) required: true schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: order_by description: (Optional) List Webhook events corresponding to specific criteria. schema: type: string enum: - created_at_desc - created_at_asc default: created_at_desc - in: query name: page description: Requested page number. Value must be greater or equal to 1. schema: type: integer format: int32 - in: query name: page_size description: Requested page size. Value must be between 1 and 100. schema: type: integer format: uint32 - in: query name: email_id description: ID of the email linked to the events. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: event_types description: List of event types linked to the events. schema: type: array items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.WebhookEvent.Type' - in: query name: statuses description: List of event statuses. schema: type: array items: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.WebhookEvent.Status' - in: query name: project_id description: ID of the webhook Project. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: organization_id description: ID of the webhook Organization. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d - in: query name: domain_id description: ID of the domain to watch for triggering events. (UUID format) schema: type: string example: 6170692e-7363-616c-6577-61792e636f6d responses: "200": description: "" content: application/json: schema: $ref: '#/components/schemas/scaleway.transactional_email.v1alpha1.ListWebhookEventsResponse' security: - scaleway: [] x-codeSamples: - lang: cURL source: |- curl -X GET \ -H "X-Auth-Token: $SCW_SECRET_KEY" \ "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}/events" - lang: HTTPie source: |- http GET "https://api.scaleway.com/transactional-email/v1alpha1/regions/{region}/webhooks/{webhook_id}/events" \ X-Auth-Token:$SCW_SECRET_KEY