Getting started
Base URL & conventions
Where the API lives, and the conventions every endpoint shares.
All API requests go to a single versioned base URL:
base URL
https://service.gateml.io/v1Conventions
- JSON in, JSON out. Request and response bodies are snake_case.
- Every resource has a prefixed id —
msg_…,tmpl_…,cmp_…— so an id is self-describing. - Responses wrap single objects as
{ object: "message", … }and collections as{ object: "list", data: [...], next_cursor }. - Timestamps are ISO 8601 UTC strings.
- Writes validate strictly and fail closed with a structured error.
The SDK maps casing for you
The Node SDK speaks camelCase to your code and translates to the API's snake_case on the wire, so you never think about it:
casing.ts
const msg = await mail.messages.create({ to, subject, html });
console.log(msg.id, msg.createdAt); // camelCase in JS