curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/macros' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"auto_send": true,
"body": "Two-person tent, green — replacement for damaged pole set.",
"channel": "string",
"name": "Two-Person Tent",
"rule_name": "string",
"source": "string",
"status": {
"0": "c",
"1": "a",
"2": "n",
"3": "d",
"4": "i",
"5": "d",
"6": "a",
"7": "t",
"8": "e"
},
"tags": [
"priority"
],
"title": "Replacement tent pole set",
"tool": {
"arguments": {},
"name": "Two-Person Tent"
}
}'
{
"auto_send": true,
"body": "Two-person tent, green — replacement for damaged pole set.",
"channel": "string",
"created_at": "2026-08-31T14:22:05Z",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Two-Person Tent",
"org_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"rule_name": "string",
"slots": [
"string"
],
"source": "string",
"status": "candidate",
"tags": [
"priority"
],
"title": "Replacement tent pole set",
"tool": {
"arguments": {},
"name": "Two-Person Tent"
},
"updated_at": "2026-08-31T14:22:05Z"
}
Create or replace a macro.
Required scope: write
POST
/
api
/
v1
/
macros
curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/macros' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"auto_send": true,
"body": "Two-person tent, green — replacement for damaged pole set.",
"channel": "string",
"name": "Two-Person Tent",
"rule_name": "string",
"source": "string",
"status": {
"0": "c",
"1": "a",
"2": "n",
"3": "d",
"4": "i",
"5": "d",
"6": "a",
"7": "t",
"8": "e"
},
"tags": [
"priority"
],
"title": "Replacement tent pole set",
"tool": {
"arguments": {},
"name": "Two-Person Tent"
}
}'
{
"auto_send": true,
"body": "Two-person tent, green — replacement for damaged pole set.",
"channel": "string",
"created_at": "2026-08-31T14:22:05Z",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Two-Person Tent",
"org_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"rule_name": "string",
"slots": [
"string"
],
"source": "string",
"status": "candidate",
"tags": [
"priority"
],
"title": "Replacement tent pole set",
"tool": {
"arguments": {},
"name": "Two-Person Tent"
},
"updated_at": "2026-08-31T14:22:05Z"
}
Required scope:
write
Request body
CreateMacroRequest
boolean
string
required
The text sent to the customer.
{{slot}} marks a merge field.string
string
required
Unique within the org. Re-posting a name REPLACES that macro.
string
string
object
string[]
string
object
Response
Macro
boolean
required
string
required
string
string
required
string
required
string
required
Upsert key within an org, matching the rules convention.
string
required
string
The policy rule whose citation selects this macro.
string[]
required
Merge fields parsed from
body at write time.string
MacroStatus
required
string[]
string
string
required
Status codes
| Code | Meaning |
|---|---|
201 | Macro created or replaced |
400 | Invalid macro (empty body, unbalanced merge fields) |
401 | Unauthorized — missing or invalid credentials |
403 | Forbidden — the key/token lacks the required scope |
429 | Rate limited — see Retry-After / X-RateLimit-Reset |
curl --request POST \
--url 'https://api.nsr.stateset.com/api/v1/macros' \
--header "X-API-Key: $STATESET_NSR_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"auto_send": true,
"body": "Two-person tent, green — replacement for damaged pole set.",
"channel": "string",
"name": "Two-Person Tent",
"rule_name": "string",
"source": "string",
"status": {
"0": "c",
"1": "a",
"2": "n",
"3": "d",
"4": "i",
"5": "d",
"6": "a",
"7": "t",
"8": "e"
},
"tags": [
"priority"
],
"title": "Replacement tent pole set",
"tool": {
"arguments": {},
"name": "Two-Person Tent"
}
}'
{
"auto_send": true,
"body": "Two-person tent, green — replacement for damaged pole set.",
"channel": "string",
"created_at": "2026-08-31T14:22:05Z",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "Two-Person Tent",
"org_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"rule_name": "string",
"slots": [
"string"
],
"source": "string",
"status": "candidate",
"tags": [
"priority"
],
"title": "Replacement tent pole set",
"tool": {
"arguments": {},
"name": "Two-Person Tent"
},
"updated_at": "2026-08-31T14:22:05Z"
}
Last modified on August 31, 2026