Pods
Pods group inboxes, domains and webhooks.
| Method | Path | Summary |
|---|---|---|
GET | /v0/pods | List Pods |
POST | /v0/pods | Create Pod |
GET | /v0/pods/{pod_id} | Get Pod |
PATCH | /v0/pods/{pod_id} | Update Pod |
DELETE | /v0/pods/{pod_id} | Delete Pod |
List Pods
Authentication: Authorization: Bearer <api key> or the dashboard mm_session cookie. Permission: pod_read.
Query parameters
limitintegerpage_tokenstringascendingbooleanResponse
200 A page of pods (application/json)
countintegerRequiredlimitintegernext_page_tokenstringEach item of pods is a Pod:
pod_idstringRequiredorganization_idstringRequirednamestringRequiredis_defaultbooleanRequiredclient_idstringupdated_atstring (date-time)Requiredcreated_atstring (date-time)RequiredErrors
| Status | Meaning |
|---|---|
400 | Invalid request: error.type is validation and error.param names the field. |
401 | Missing, invalid, expired or revoked credential. |
403 | The credential lacks the permission or scope for this request (error.type forbidden), or MachineMail suspended the organization or its sending (account_suspended: error.message says what still works; do not retry or re-register). |
500 | Unexpected server error. |
Error bodies use the error envelope.
Example
Create Pod
Organization-scoped credentials only: pod and inbox credentials get 403.
Authentication: Authorization: Bearer <api key> or the dashboard mm_session cookie. Permission: pod_create.
Request body
Content type: application/json.
namestringclient_idstringResponse
200 A pod with this client_id already exists; it is returned unchanged. (application/json)
pod_idstringRequiredorganization_idstringRequirednamestringRequiredis_defaultbooleanRequiredclient_idstringupdated_atstring (date-time)Requiredcreated_atstring (date-time)Required201 Created (application/json)
pod_idstringRequiredorganization_idstringRequirednamestringRequiredis_defaultbooleanRequiredclient_idstringupdated_atstring (date-time)Requiredcreated_atstring (date-time)RequiredErrors
| Status | Meaning |
|---|---|
400 | Invalid request: error.type is validation and error.param names the field. |
401 | Missing, invalid, expired or revoked credential. |
403 | The credential lacks the permission or scope for this request (error.type forbidden), or MachineMail suspended the organization or its sending (account_suspended: error.message says what still works; do not retry or re-register). |
500 | Unexpected server error. |
Error bodies use the error envelope.
Example
Get Pod
Authentication: Authorization: Bearer <api key> or the dashboard mm_session cookie. Permission: pod_read.
Path parameters
pod_idstringRequiredResponse
200 The pod (application/json)
pod_idstringRequiredorganization_idstringRequirednamestringRequiredis_defaultbooleanRequiredclient_idstringupdated_atstring (date-time)Requiredcreated_atstring (date-time)RequiredErrors
| Status | Meaning |
|---|---|
401 | Missing, invalid, expired or revoked credential. |
403 | The credential lacks the permission or scope for this request (error.type forbidden), or MachineMail suspended the organization or its sending (account_suspended: error.message says what still works; do not retry or re-register). |
404 | Not found. Also returned for resources outside the credential scope. |
500 | Unexpected server error. |
Error bodies use the error envelope.
Example
Update Pod
Rename the pod.
Authentication: Authorization: Bearer <api key> or the dashboard mm_session cookie. Permission: pod_update.
Path parameters
pod_idstringRequiredRequest body
Content type: application/json.
namestringResponse
200 The updated pod (application/json)
pod_idstringRequiredorganization_idstringRequirednamestringRequiredis_defaultbooleanRequiredclient_idstringupdated_atstring (date-time)Requiredcreated_atstring (date-time)RequiredErrors
| Status | Meaning |
|---|---|
400 | Invalid request: error.type is validation and error.param names the field. |
401 | Missing, invalid, expired or revoked credential. |
403 | The credential lacks the permission or scope for this request (error.type forbidden), or MachineMail suspended the organization or its sending (account_suspended: error.message says what still works; do not retry or re-register). |
404 | Not found. Also returned for resources outside the credential scope. |
500 | Unexpected server error. |
Error bodies use the error envelope.
Example
Delete Pod
The default pod, and pods that still have inboxes, cannot be deleted (409).
Authentication: Authorization: Bearer <api key> or the dashboard mm_session cookie. Permission: pod_delete.
Path parameters
pod_idstringRequiredResponse
200 Deleted (application/json)
oktrueRequiredErrors
| Status | Meaning |
|---|---|
401 | Missing, invalid, expired or revoked credential. |
403 | The credential lacks the permission or scope for this request (error.type forbidden), or MachineMail suspended the organization or its sending (account_suspended: error.message says what still works; do not retry or re-register). |
404 | Not found. Also returned for resources outside the credential scope. |
409 | Conflicts with an existing resource. |
500 | Unexpected server error. |
Error bodies use the error envelope.