GET/api/v1/projects/{project_id}
MCP tool: get_project
operationId get_project
Read a project
One project, deleted or not (a deleted one has deleted_at). An admin
key reads any project; a project key with scope read reads its own.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
project_idrequired |
path | string · uuid | The project’s id |
Request body
None.
Responses
200
The project
- Project object · all fields required
-
created_atstring · date-time -
deleted_atstring · date-time | nullWhen the project was deleted;
nullwhile it is live. A deleted project can only be read. -
idstring · uuidexample
01900000-0000-7000-8000-000000000001 -
namestringexample
Acme News -
settingsProjectSettingsA project’s settings, every field present.
11 fields
- ProjectSettings object · all fields required
-
auto_footerbooleanAdd an unsubscribe footer when a template has none.
-
brandingBrandingHow the public pages look.
-
daily_send_quotainteger · int32 | nullMost messages a day;
null: no quota.≥ 0
-
default_throttle_per_hourinteger · int32 | nullDefault campaign speed, messages an hour;
null: no limit.≥ 0
-
dns_credentialsDnsCredentialsWhich DNS providers the project set its own credentials for; the credentials are never returned.
1 fields
- DnsCredentials object · all fields required
-
porkbunbooleanWhether the project set its own Porkbun credentials.
-
from_emailstring · email | nullDefault sender address of campaigns.
-
from_namestring | nullDefault sender name of campaigns.
-
reply_tostring · email | nullDefault
Reply-To. -
soft_bounce_suppress_afterinteger · int32 | nullSoft bounces in a row after which an address is suppressed;
null: off.≥ 0
-
trackingTrackingWhat campaigns track by default.
2 fields
- Tracking object · all fields required
-
clicksboolean -
opensboolean
-
transportstring | nullDefault transport,
directorrelay:<name>;null: the node’sdelivery.default_transport.
-
slugstringexample
acme-news -
updated_atstring · date-timeThe latest change: creation, rename, settings, deletion.
429
The key is over its rate limit, api.rate_limit_per_minute requests a minute on this node (rate_limited)
| Header | Type | Description |
|---|---|---|
Retry-After | integer | Seconds until the key’s next request passes; rounded up. |
504
Postwind’s storage did not answer within its time limit (storage_timeout). A change the request makes may still take effect: check before repeating it. A repeat with the same Idempotency-Key never runs it twice: it is 409 idempotency_key_in_progress until the key’s 24 h end