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.

Run with Naftiko ScalewayEmails

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

transactional-email-emails.yaml Raw ↑
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: $.