PATCH/api/v1/projects/{project_id}
Admin keys only%!(EXTRA string=)MCP tool: update_project_settings
operationId update_project_settings
Update a project
Renames the project and changes the settings the body names; the rest keep their values. The slug never changes. Admin keys only.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
project_idrequired |
path | string · uuid | The project’s id |
Request body
application/json · required
- UpdateProjectRequest object
-
namestringThe new name.
example
Acme Inc -
settingsProjectSettingsInputSettings to change; the rest keep their values.
11 fields
- ProjectSettingsInput object
-
auto_footerbooleanAdd an unsubscribe footer when a template has none.
-
brandingBrandingInputBranding of the public pages to set.
4 fields
- BrandingInput object
-
brand_namestring | nullThe name the pages show, 1 to 128 characters.
-
languagestringenorru.example
ru -
support_emailstring · email | nullThe address the pages give for questions.
-
text_overridesmap of string → stringTexts of the pages by key, replacing every override at once: at most 64, keys
[a-z][a-z0-9_]*, texts 1 to 2000 characters.
-
daily_send_quotainteger · int64 | nullMost messages a day, 1 or more;
null: no quota.1–4294967295
-
default_throttle_per_hourinteger · int64 | nullDefault campaign speed, messages an hour;
null: no limit.1–4294967295
-
dns_credentialsDnsCredentialsInputDNS-provider credentials of the project. Write-only: a read never returns them.
1 fields
- DnsCredentialsInput object
-
porkbunPorkbunCredentialsBody | nullPorkbun credentials; set them,
nullclears them, absent keeps them. They override the node’s global[dns.porkbun].2 fields
- PorkbunCredentialsBody object · all fields required
-
api_keystring -
secret_api_keystring
-
from_emailstring · email | nullDefault sender address of campaigns.
example
news@acme.example -
from_namestring | nullDefault sender name of campaigns, 1 to 128 characters, no line breaks.
example
Acme News -
reply_tostring · email | nullDefault
Reply-To. -
soft_bounce_suppress_afterinteger · int64 | nullSoft bounces in a row after which an address is suppressed;
null: off.1–4294967295
-
trackingTrackingInputTracking defaults to set.
2 fields
- TrackingInput object
-
clicksbooleanClick redirects.
-
opensbooleanOpen pixel.
-
transportstring | nullDefault transport:
directorrelay:<name>of a relay the node offers (GET /api/v1/server);null: the node’s default.example
direct
Responses
200
The project after the update
- 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