Create Conversation Block

POSThttps://backend.sindri1.stacks.localbusiness.pro/api/v1/conversation-blocks

Create a new conversation block. The customer_type must be an active customer type ID belonging to your business.

X-Public-Keystringrequired

Your business public key. Used to identify which business is making the request.

X-Timestampstringrequired

Current Unix timestamp in seconds. Requests older than 5 minutes are rejected.

X-Signaturestringrequired

HMAC-SHA256 signature of the signing string: {timestamp}\n{METHOD}\n{path}\n{body}, using your private key as the secret.

namestringrequired

Block name (max 255).

block_typestringrequired

Block type (max 100), e.g. first_message, question, transfer.

instructionsstringrequired

Instructions for the AI.

customer_typeinteger

Customer type ID (must belong to your business).

orderinteger

Position in conversation flow.

example_phrasesstring[]

Example phrases for this block.

variables_to_collectstring[]

Variables to collect from the caller.

Responses

{
  "conversation_block": {
    "id": 13,
    "name": "Collect Phone",
    "block_type": "question",
    "instructions": "Ask for their phone number."
  }
}

Authentication — HMAC-SHA256

Every authenticated request requires three headers:

X-Public-KeyYour business public key
X-TimestampUnix timestamp (seconds)
X-SignatureHMAC-SHA256 of signing string

Signing string: {timestamp}\n{METHOD}\n{path}\n{body}

Request

POSThttps://backend.sindri1.stacks.localbusiness.pro/api/v1/conversation-blocks

Rate Limits

With X-Public-Key: 60 req/min per key

Without: 10 req/min per IP

Code Examples

PUBLIC_KEY="pk_live_..."
PRIVATE_KEY="sk_live_..."
TIMESTAMP=$(date +%s)
PATH_URI="/api/v1/conversation-blocks"
BODY='{"name":"Collect Phone","block_type":"question","instructions":"Ask for the caller'\''s phone number.","variables_to_collect":["phone"]}'

SIGNATURE=$(printf '%s\n%s\n%s\n%s' "$TIMESTAMP" "POST" "$PATH_URI" "$BODY" \
  | openssl dgst -sha256 -hmac "$PRIVATE_KEY" | awk '{print $2}')

curl -X POST \
     -H "Content-Type: application/json" \
     -H "X-Public-Key: $PUBLIC_KEY" \
     -H "X-Timestamp: $TIMESTAMP" \
     -H "X-Signature: $SIGNATURE" \
     -d "$BODY" \
     "https://backend.sindri1.stacks.localbusiness.pro$PATH_URI"