GET/api/v1/server
Any valid key%!(EXTRA string=)MCP tool: get_server_info
operationId get_server_info
The node
Version, enabled subservices, delivery transports, DNS providers and IP pools of the node that answered, from its config. Any valid key may call it; a pool’s addresses are shown to an admin key only.
Request body
None.
Responses
200
The node
- ServerResponse object · all fields required
-
available_transportsarray of stringThe transports this node can send through now; a message whose transport is not here is not sent (
test-sendanswers422transport_unavailable). Empty until the built-indirectandrelaytransports ship.example
[] -
default_transportstringThe transport a project without its own uses.
example
direct -
dns_providersarray of stringDNS providers a sending domain may name:
manualalways,porkbunwhen it is configured.example
["manual","porkbun"] -
enabled_subservicesarray of stringSubservices enabled on this node, in start order:
api,mcp,web,smtp.inbound,delivery.example
["api","mcp","web","smtp.inbound","delivery"] -
ip_poolsarray of IpPoolIP pools by name, for a sending domain’s
ip_pool.3 fields
- IpPool object · all fields required
-
address_countinteger≥ 0 · example
1 -
addressesarray of IpPoolAddress | nullThe addresses; shown to an admin key only,
nullfor a project key.3 fields
- IpPoolAddress object · all fields required
-
hostnamestringThe
EHLOname; the address’s PTR points to it.example
mx1.example.com -
ipstring | nullThe local address the node sends from;
null: the system route behind NAT.example
203.0.113.10 -
public_ipstring | nullThe public address behind NAT;
nullwhen there is no NAT.
-
namestringexample
default
-
transportsarray of stringDelivery transports a project may use:
direct(built in) andrelay:<name>for each configured relay.example
["direct","relay:ses"] -
versionstringPostwind version and git commit, as
postwind --versionprints them.example
0.1.0 (abc1234)
401
No key (key_missing), not a valid key (key_invalid), a revoked key (key_revoked) or an expired one (key_expired)
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