Skip to main content

Endpoint

POST /api/notify

Request

Headers

HeaderRequiredDescription
X-API-KeyYesYour API key
Content-TypeYesapplication/json

Body

user_emails
string[]
required
Email addresses of the recipients. Must match users registered in your NextKS organization. Maximum 50 entries.
message
string
required
The message text to send. Supports basic markdown: *bold*, _italic_, `code`, code blocks, and lists. Maximum 4000 characters.Use \n for line breaks. In Teams, each line is rendered as a separate text block for proper spacing.
external_reference_id
string
An optional identifier from your system (e.g., ticket ID, deployment ID). Maximum 200 characters. Returned in status queries and callbacks for correlation.
To send interactive notifications with response buttons, include the response_request field — see Interactive Notifications.

Response

status
string
"ok" on success, "error" on failure.

Success (200)

{ "status": "ok" }

Errors

StatusDetails
400Invalid request body or unknown user emails
401Invalid API key
429Rate limit exceeded
500Delivery failure
{
  "status": "error",
  "details": "Unknown user emails: [email protected]"
}

Example

curl -X POST https://app.nextks.com/api/notify \
  -H "Content-Type: application/json" \
  -H "X-API-Key: nks_abc123..." \
  -d '{
    "user_emails": ["[email protected]", "[email protected]"],
    "message": "Build #1847 completed successfully.\nAll 342 tests passed.",
    "external_reference_id": "build-1847"
  }'

Message formatting

The message field supports markdown that renders natively on both Slack and Teams:
SyntaxResult
*bold*bold
_italic_italic
`code`code
```code block```Code block
- itemBullet list
[Link text](https://...)Clickable link
\nLine break