Send support or feedback
OpenAPI contract
- Method
- POST
- Path
/api/v1/support/messages- Security
- jwtBearer (bearer)
- Response status
- 204 400 401 403 429 500 503
Request and response schemas
{
"requestBody": {
"application/json": {
"$ref": "#/components/schemas/SupportMessageRequest"
}
},
"responses": {
"204": {
"description": "Message accepted by the mail relay",
"content": {}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"$ref": "#/components/schemas/RequestError"
}
}
},
"401": {
"description": "Authentication required or invalid",
"content": {
"application/json": {
"$ref": "#/components/schemas/SecurityError"
}
}
},
"403": {
"description": "Authenticated but not permitted",
"content": {
"application/json": {
"$ref": "#/components/schemas/SecurityError"
}
}
},
"429": {
"description": "Support delivery limit reached",
"content": {
"application/json": {
"$ref": "#/components/schemas/SecurityError"
}
}
},
"500": {
"description": "Unexpected server error",
"content": {
"application/json": {
"$ref": "#/components/schemas/ApiError"
}
}
},
"503": {
"description": "Mail delivery unavailable; retain the draft and retry",
"content": {
"application/json": {
"$ref": "#/components/schemas/ApiError"
}
}
}
}
}POST /api/v1/support/messages sends a plain-text email through the server's configured mail relay. It requires an account access token; nfy_ automation keys cannot send support messages.
All fields are required. Set intent to support or feedback, provide a nonblank subject of at most 160 characters without control characters, and a nonblank message of at most 5000 characters. The server chooses the sender and recipient and uses the authenticated account email as Reply-To.
A successful 204 response has no body and means the mail relay accepted the message. It does not guarantee final inbox delivery. The dashboard shows confirmation after this response and retains the draft when sending fails.
The default limits are five attempts per account per rolling hour and 50 total attempts per rolling day. Operators can configure these limits; their in-process counters reset when the server restarts. On 429, honor Retry-After. On 503, retain the draft and allow a deliberate retry. Do not automatically replay an ambiguous submission, because the relay may already have accepted it.
POST /api/v1/support/messages
Authorization: Bearer <access token>
Content-Type: application/json{
"intent": "support",
"subject": "Build help",
"message": "How should I configure the target platforms?"
}