👨‍💻 Reusable.email API (2.0)

🌐 Domain-aware by design:
All API requests must be made to your assigned domain or subdomain.

  • Example: https://yourdomain.com/v2/ (point your domain/subdomain CNAME to our backend)
  • The API automatically routes & isolates data by incoming domain.

🔒 Authorization:
Public inbox endpoints require no authentication, but private inbox operations must include an Inbox Token for secure access.

💬 Need help or have questions?
Reach out anytime at t.me/reusable for direct support.

Download OpenAPI description
Languages
Servers
Mock server

https://docs.reusable.email/_mock/api/

Your Whitelabel Domain

https://yourdomain.com/

Inboxes

Operations for creating, managing, and logging into inboxes.

Operations

Create inbox

Request

Security
InboxToken
Bodyapplication/jsonrequired
inbox_addressstring^[a-z0-9](?:[a-z0-9._-]{0,63})@[a-z0-9](?:[a-...required

Unique inbox email address (local@domain).

Example: "hello@customdomain.com"
is_publicboolean

If true, this inbox is public (anyone can access it without a password). If false, the inbox is private and requires a password for access.

Example: true
passwordstring or null

Password for protected inboxes.

Example: "secret123"
curl -i -X POST \
  https://docs.reusable.email/_mock/api/v2/inbox \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "inbox_address": "john@domain.com",
    "is_public": true
  }'

Responses

Inbox created successfully.

Bodyapplication/json
idstringrequired
Example: "663dbde1e0535ce2e6a1cd99"
inbox_addressstringrequired
Example: "hello@customdomain.com"
is_publicboolean

If true, this inbox is public (anyone can access it without a password). If false, the inbox is private and requires a password for access.

Example: true
created_atstring or null(date-time)
Example: "2024-06-01T12:00:00Z"
Response
application/json
{ "id": "663dbde1e0535ce2e6a1cd99", "inbox_address": "john@domain.com", "is_public": true, "created_at": "2024-06-01T12:00:00Z" }

Get inbox by address

Request

Security
InboxToken
Query
inbox_addressstringrequired
Example: inbox_address=hello@customdomain.com
curl -i -X GET \
  'https://docs.reusable.email/_mock/api/v2/inbox?inbox_address=hello%40customdomain.com' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Inbox fetched.

Bodyapplication/json
idstringrequired
Example: "663dbde1e0535ce2e6a1cd99"
inbox_addressstringrequired
Example: "hello@customdomain.com"
is_publicboolean

If true, this inbox is public (anyone can access it without a password). If false, the inbox is private and requires a password for access.

Example: true
created_atstring or null(date-time)
Example: "2024-06-01T12:00:00Z"
Response
application/json
{ "id": "663dbde1e0535ce2e6a1cd99", "inbox_address": "hello@customdomain.com", "is_public": false, "created_at": "2024-06-01T12:00:00Z" }

Get inbox address by ID

Request

Security
InboxToken
Path
inbox_idstring= 24 charactersrequired
Example: 663dbde1e0535ce2e6a1cd99
curl -i -X GET \
  https://docs.reusable.email/_mock/api/v2/inbox/663dbde1e0535ce2e6a1cd99/address \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Fetched inbox address.

Bodyapplication/json
successboolean
dataobject
messagestring or null
Response
application/json
{ "success": true, "data": { "inbox_address": "hello@customdomain.com" }, "message": null }

Delete inbox

Request

Security
InboxToken
Path
inbox_idstring= 24 charactersrequired
Example: 663dbde1e0535ce2e6a1cd99
curl -i -X DELETE \
  https://docs.reusable.email/_mock/api/v2/inbox/663dbde1e0535ce2e6a1cd99 \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Inbox deleted.

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Inbox deleted successfully"
Response
application/json
{ "success": true, "message": "Inbox deleted successfully" }

Get inbox folders

Request

Security
InboxToken
Path
inbox_idstring= 24 charactersrequired
Example: 663dbde1e0535ce2e6a1cd99
curl -i -X GET \
  https://docs.reusable.email/_mock/api/v2/inbox/663dbde1e0535ce2e6a1cd99 \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

List of folders in inbox.

Bodyapplication/json
successboolean
Example: true
dataArray of objects(InboxFolderResponse)
messagestring or null
Response
application/json
{ "success": true, "data": [ {} ], "message": null }

Get emails in folder

Request

Security
InboxToken
Path
inbox_idstring= 24 charactersrequired
Example: 663dbde1e0535ce2e6a1cd99
folder_idstringrequired
Example: 663dbde1e0535ce2e6a1cdff
Query
pageinteger>= 1
Default 1
Example: page=1
curl -i -X GET \
  'https://docs.reusable.email/_mock/api/v2/inbox/663dbde1e0535ce2e6a1cd99/folder/663dbde1e0535ce2e6a1cdff?page=1' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

List emails in folder.

Bodyapplication/json
successboolean
dataArray of objects(EmailBasicResponse)
has_moreboolean
Example: false
messagestring
Example: "Emails fetched."
Response
application/json
{ "success": true, "data": [ {} ], "has_more": false, "message": "Emails fetched." }

Create inbox folder

Request

Security
InboxToken
Path
inbox_idstring= 24 charactersrequired
Example: 663dbde1e0535ce2e6a1cd99
Bodyapplication/jsonrequired
namestring[ 1 .. 100 ] charactersrequired

Folder name (1–100 chars).

Example: "Projects"
curl -i -X POST \
  https://docs.reusable.email/_mock/api/v2/inbox/663dbde1e0535ce2e6a1cd99/folder \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Projects"
  }'

Responses

Folder created.

Bodyapplication/json
successboolean
dataobject
messagestring
Example: "Folder created."
Response
application/json
{ "success": true, "data": { "folder_id": "663dbde1e0535ce2e6a1cdef" }, "message": "Folder created." }

Delete inbox folder

Request

Security
InboxToken
Path
inbox_idstring= 24 charactersrequired
Example: 663dbde1e0535ce2e6a1cd99
Query
folder_idstringrequired
Example: folder_id=663dbde1e0535ce2e6a1cdef
curl -i -X DELETE \
  'https://docs.reusable.email/_mock/api/v2/inbox/663dbde1e0535ce2e6a1cd99/folder?folder_id=663dbde1e0535ce2e6a1cdef' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Folder deleted.

Bodyapplication/json
successboolean
Example: true
messagestring
Example: "Folder deleted."
Response
application/json
{ "success": true, "message": "Folder deleted." }

Login to a private inbox by ID

Request

Security
InboxToken
Path
inbox_idstring= 24 charactersrequired
Example: 663dbde1e0535ce2e6a1cd99
Bodyapplication/jsonrequired
passwordstringnon-emptyrequired

Password for this inbox.

Example: "secret123"
curl -i -X POST \
  https://docs.reusable.email/_mock/api/v2/inbox/663dbde1e0535ce2e6a1cd99/login \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "password": "secret123"
  }'

Responses

Logged in to inbox.

Bodyapplication/json
successboolean
Example: true
inbox_tokenstring
Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
messagestring
Example: "Inbox login successful."
Response
application/json
{ "success": true, "inbox_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "message": "Inbox login successful." }

Get inbox ID by address

Request

Security
InboxToken
Query
inbox_addressstringrequired
Example: inbox_address=hello@customdomain.com
curl -i -X GET \
  'https://docs.reusable.email/_mock/api/v2/inbox/fetch-id?inbox_address=hello%40customdomain.com' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Inbox ID fetched.

Bodyapplication/json
successboolean
dataobject
messagestring or null
Response
application/json
{ "success": true, "data": { "inbox_id": "663dbde1e0535ce2e6a1cd99" }, "message": null }

Emails

Read, list, move, and manage emails.

Operations