Developers

API Reference

700+ REST endpoints, GraphQL, webhooks, OAuth 2.0, and SCIM 2.0. Base URL: workspace.grapphen.com/api/v1

Authentication

All API requests require a Bearer token in the Authorization header. Obtain a token via:

POST /api/v1/auth/login
Content-Type: application/json

{
  "email": "you@yourdomain.com",
  "password": "your_password"
}

// Response: { "token": "...", "user": { ... } }

Include the token on subsequent requests: Authorization: Bearer {token}

Authentication

POST /api/v1/auth/login Authenticate and receive a Sanctum token.
POST /api/v1/auth/logout Revoke the current token.
GET /api/v1/auth/me Return the authenticated user and tenant.
PATCH /api/v1/auth/me Update user profile (name).
POST /api/v1/auth/change-password Change password, revoke all other sessions.
GET /api/v1/auth/sessions List all active tokens.
DELETE /api/v1/auth/sessions/{id} Revoke a specific session.

Emails

GET /api/v1/emails List emails in a mailbox with filters.
POST /api/v1/emails/send Send an email (supports mail merge, attachments, scheduling).
GET /api/v1/emails/{id} Retrieve a single email with full headers.
DELETE /api/v1/emails/{id} Move email to trash.
POST /api/v1/emails/{id}/reply Reply to an email.
POST /api/v1/emails/{id}/forward Forward an email.
PATCH /api/v1/emails/{id}/read Mark as read/unread.
PATCH /api/v1/emails/{id}/labels Add or remove labels.

Mailboxes

GET /api/v1/mailboxes List all mailboxes in your tenant.
POST /api/v1/mailboxes Create a new mailbox.
GET /api/v1/mailboxes/{id} Get mailbox details.
PUT /api/v1/mailboxes/{id} Update mailbox quota or settings.
DELETE /api/v1/mailboxes/{id} Delete a mailbox.
POST /api/v1/mailboxes/{id}/suspend Suspend mailbox access.

Domains

GET /api/v1/domains List all domains.
POST /api/v1/domains Add a new domain.
GET /api/v1/domains/{id}/dns Get DNS records required for the domain.
POST /api/v1/domains/{id}/verify Trigger DNS verification check.
DELETE /api/v1/domains/{id} Remove a domain.

Webhooks

GET /api/v1/webhooks List registered webhooks.
POST /api/v1/webhooks Register a new webhook endpoint.
PUT /api/v1/webhooks/{id} Update webhook URL or event filters.
DELETE /api/v1/webhooks/{id} Delete a webhook.

Need help with the API?

Our engineering team can help with integration questions, OAuth setup, or custom webhook workflows.

Talk to an engineer