API Documentation
Programmatic access to your mailboxes — create addresses and read received mail over a simple REST API. All responses are JSON.
YOUR_API_KEY
Authentication
Every request is authenticated with an API key passed as the last segment of the URL path — no headers or tokens to set.
https://digistallone.com/api/domains/YOUR_API_KEYA missing or invalid key returns 401 Unauthorized. Keys are managed by the administrator under Settings → Advanced.
Returns every active domain available on this server.
| Name | Required | Description |
|---|---|---|
key |
required | Your API key. |
curl "https://digistallone.com/api/domains/YOUR_API_KEY"
[
"example.com",
"mail.example.org"
]
Creates an address. Pass a full address like user@domain.com. The username is validated against forbidden usernames and the allowed length; if it cannot be parsed, a random address is returned.
| Name | Required | Description |
|---|---|---|
email |
required | Full address to create, e.g. user@domain.com. |
key |
required | Your API key. |
curl "https://digistallone.com/api/email/john@example.com/YOUR_API_KEY"
"john@example.com"
Returns all messages in the inbox of the given address. This is the main endpoint for reading received mail.
| Name | Required | Description |
|---|---|---|
email |
required | Full email address whose inbox to read. |
key |
required | Your API key. |
curl "https://digistallone.com/api/messages/john@example.com/YOUR_API_KEY"
[
{
"subject": "Welcome",
"sender_name": "Example Team",
"sender_email": "no-reply@example.com",
"timestamp": "2026-06-15T09:30:00+00:00",
"date": "15 Jun 2026 09:30 AM",
"datediff": "5 minutes ago",
"id": 12,
"content": "<p>Hello!</p>",
"attachments": []
}
]
Returns a single message by its id (the "id" field from List Messages), including the full HTML body and attachments.
| Name | Required | Description |
|---|---|---|
message_id |
required | Id of the message to fetch. |
key |
required | Your API key. |
curl "https://digistallone.com/api/message/12/YOUR_API_KEY"
{
"subject": "Welcome",
"sender_email": "no-reply@example.com",
"id": 12,
"content": "<p>Hello!</p>",
"attachments": []
}
Permanently deletes a single message by its id. Returns an empty body on success.
| Name | Required | Description |
|---|---|---|
message_id |
required | Id of the message to delete. |
key |
required | Your API key. |
curl -X DELETE "https://digistallone.com/api/message/12/YOUR_API_KEY"
Empty body with HTTP 200 on success.
Code Examples
A minimal client for reading an inbox. Reuse the same pattern for the other endpoints.
# List available domains
curl "https://digistallone.com/api/domains/YOUR_API_KEY"
# List messages in an inbox
curl "https://digistallone.com/api/messages/john@example.com/YOUR_API_KEY"
# Read one message by id
curl "https://digistallone.com/api/message/12/YOUR_API_KEY"
# Delete a message
curl -X DELETE "https://digistallone.com/api/message/12/YOUR_API_KEY"
Message Object
| Field | Type | Description |
|---|---|---|
id | integer | Message id — use with Read and Delete. |
subject | string | Email subject line. |
sender_name | string | Display name of the sender. |
sender_email | string | Email address of the sender. |
timestamp | string|null | Raw ISO-8601 date, may be null. |
date | string | Formatted date. |
datediff | string | Relative time, e.g. "5 minutes ago". |
content | string | Message body as HTML. |
attachments | array | List of { file, url } objects. |
Error Handling
| Code | Meaning |
|---|---|
200 | Success. |
204 | No content — a required parameter was missing. |
401 | Unauthorized — the API key is missing or invalid. |
406 | Not acceptable — the username is forbidden or outside the allowed length. |
500 | Server error — the mailbox could not be reached or parsed. |
- The content field is raw HTML — sanitize it before rendering in your own app.
- Treat your API key like a password. Anyone with it can read and delete mail for any address.
- Messages are temporary and cleaned up automatically based on server retention settings.