Scaleway · Capability
Transactional Email API — Emails
Transactional Email API — Emails. 4 operations. Lead operation: List emails. Self-contained Naftiko capability covering one Scaleway business surface.
What You Can Do
GET
Listemails
— List emails
/v1/transactional-email/v1alpha1/regions/{region}/emails
POST
Createemail
— Send an email
/v1/transactional-email/v1alpha1/regions/{region}/emails
GET
Getemail
— Get an email
/v1/transactional-email/v1alpha1/regions/{region}/emails/{email-id}
POST
Cancelemail
— Cancel an email
/v1/transactional-email/v1alpha1/regions/{region}/emails/{email-id}/cancel
MCP Tools
list-emails
List emails
read-only
idempotent
send-email
Send an email
get-email
Get an email
read-only
idempotent
cancel-email
Cancel an email
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Transactional Email API — Emails
description: 'Transactional Email API — Emails. 4 operations. Lead operation: List emails. Self-contained Naftiko capability
covering one Scaleway business surface.'
tags:
- Scaleway
- Emails
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SCALEWAY_API_KEY: SCALEWAY_API_KEY
capability:
consumes:
- type: http
namespace: transactional-email-emails
baseUri: https://api.scaleway.com
description: Transactional Email API — Emails business capability. Self-contained, no shared references.
resources:
- name: transactional-email-v1alpha1-regions-region-emails
path: /transactional-email/v1alpha1/regions/{region}/emails
operations:
- name: listemails
method: GET
description: List emails
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: page
in: query
type: string
- name: page_size
in: query
type: integer
- name: project_id
in: query
type: string
description: (Optional) ID of the Project in which to list the emails. (UUID format)
- name: domain_id
in: query
type: string
description: (Optional) ID of the domain for which to list the emails. (UUID format)
- name: message_id
in: query
type: string
description: (Optional) ID of the message for which to list the emails. (UUID format)
- name: since
in: query
type: string
description: (Optional) List emails created after this date. (RFC 3339 format)
- name: until
in: query
type: string
description: (Optional) List emails created before this date. (RFC 3339 format)
- name: mail_from
in: query
type: string
description: (Optional) List emails sent with this sender's email address.
- name: mail_to
in: query
type: string
description: Deprecated. List emails sent to this recipient's email address.
- name: mail_rcpt
in: query
type: string
description: (Optional) List emails sent to this recipient's email address.
- name: statuses
in: query
type: array
description: (Optional) List emails with any of these statuses.
- name: subject
in: query
type: string
description: (Optional) List emails with this subject.
- name: search
in: query
type: string
description: (Optional) List emails by searching to all fields.
- name: order_by
in: query
type: string
description: (Optional) List emails corresponding to specific criteria.
- name: flags
in: query
type: array
description: (Optional) List emails containing only specific flags.
- name: createemail
method: POST
description: Send an email
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: transactional-email-v1alpha1-regions-region-emails-email_id
path: /transactional-email/v1alpha1/regions/{region}/emails/{email_id}
operations:
- name: getemail
method: GET
description: Get an email
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: email_id
in: path
type: string
description: ID of the email to retrieve. (UUID format)
required: true
- name: transactional-email-v1alpha1-regions-region-emails-email_id-cancel
path: /transactional-email/v1alpha1/regions/{region}/emails/{email_id}/cancel
operations:
- name: cancelemail
method: POST
description: Cancel an email
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: email_id
in: path
type: string
description: ID of the email to cancel. (UUID format)
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: X-Auth-Token
value: '{{env.SCALEWAY_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: transactional-email-emails-rest
port: 8080
description: REST adapter for Transactional Email API — Emails. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/transactional-email/v1alpha1/regions/{region}/emails
name: transactional-email-v1alpha1-regions-region-emails
description: REST surface for transactional-email-v1alpha1-regions-region-emails.
operations:
- method: GET
name: listemails
description: List emails
call: transactional-email-emails.listemails
with:
region: rest.region
page: rest.page
page_size: rest.page_size
project_id: rest.project_id
domain_id: rest.domain_id
message_id: rest.message_id
since: rest.since
until: rest.until
mail_from: rest.mail_from
mail_to: rest.mail_to
mail_rcpt: rest.mail_rcpt
statuses: rest.statuses
subject: rest.subject
search: rest.search
order_by: rest.order_by
flags: rest.flags
outputParameters:
- type: object
mapping: $.
- method: POST
name: createemail
description: Send an email
call: transactional-email-emails.createemail
with:
region: rest.region
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/transactional-email/v1alpha1/regions/{region}/emails/{email-id}
name: transactional-email-v1alpha1-regions-region-emails-email-id
description: REST surface for transactional-email-v1alpha1-regions-region-emails-email_id.
operations:
- method: GET
name: getemail
description: Get an email
call: transactional-email-emails.getemail
with:
region: rest.region
email_id: rest.email_id
outputParameters:
- type: object
mapping: $.
- path: /v1/transactional-email/v1alpha1/regions/{region}/emails/{email-id}/cancel
name: transactional-email-v1alpha1-regions-region-emails-email-id-cancel
description: REST surface for transactional-email-v1alpha1-regions-region-emails-email_id-cancel.
operations:
- method: POST
name: cancelemail
description: Cancel an email
call: transactional-email-emails.cancelemail
with:
region: rest.region
email_id: rest.email_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: transactional-email-emails-mcp
port: 9090
transport: http
description: MCP adapter for Transactional Email API — Emails. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: list-emails
description: List emails
hints:
readOnly: true
destructive: false
idempotent: true
call: transactional-email-emails.listemails
with:
region: tools.region
page: tools.page
page_size: tools.page_size
project_id: tools.project_id
domain_id: tools.domain_id
message_id: tools.message_id
since: tools.since
until: tools.until
mail_from: tools.mail_from
mail_to: tools.mail_to
mail_rcpt: tools.mail_rcpt
statuses: tools.statuses
subject: tools.subject
search: tools.search
order_by: tools.order_by
flags: tools.flags
outputParameters:
- type: object
mapping: $.
- name: send-email
description: Send an email
hints:
readOnly: false
destructive: false
idempotent: false
call: transactional-email-emails.createemail
with:
region: tools.region
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-email
description: Get an email
hints:
readOnly: true
destructive: false
idempotent: true
call: transactional-email-emails.getemail
with:
region: tools.region
email_id: tools.email_id
outputParameters:
- type: object
mapping: $.
- name: cancel-email
description: Cancel an email
hints:
readOnly: false
destructive: false
idempotent: false
call: transactional-email-emails.cancelemail
with:
region: tools.region
email_id: tools.email_id
body: tools.body
outputParameters:
- type: object
mapping: $.