Build integrations with the Sayify.pro REST API — manage links, responses, and webhooks programmatically.

🔌 API Overview

The Sayify.pro REST API gives you full programmatic access to your workspace — create feedback links, retrieve responses, manage webhooks, and automate your workflow.


🌐 Base URL

All API requests use:

https://sayify.pro/api/v1/

[!IMPORTANT]
All endpoint URLs must include a trailing slash. Django returns 301 Moved Permanently without it.


📨 Request Format

  • Content-Type: application/json for POST / PATCH / PUT requests.
  • Accept: application/json.
  • Trailing slashes: Required on all endpoint URLs.

Example POST Request

curl -X POST https://sayify.pro/api/v1/links/ \
  -H "Authorization: Bearer sk_live_AbCdEfGhIjKlMnOpQrStUvWxYz0123456789xyz" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product Feedback",
    "slug": "product-feedback"
  }'
const response = await fetch("https://sayify.pro/api/v1/links/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer sk_live_AbCdEfGhIjKlMnOpQrStUvWxYz0123456789xyz",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    name: "Product Feedback",
    slug: "product-feedback"
  })
});

const link = await response.json();
import requests

response = requests.post(
    "https://sayify.pro/api/v1/links/",
    headers={
        "Authorization": "Bearer sk_live_AbCdEfGhIjKlMnOpQrStUvWxYz0123456789xyz",
        "Content-Type": "application/json"
    },
    json={
        "name": "Product Feedback",
        "slug": "product-feedback"
    }
)

link = response.json()

📤 Response Format

All responses return JSON. Successful operations use standard HTTP status codes:

Code Meaning
200 OK Request succeeded.
201 Created Resource successfully created.
200 OK Resource successfully deleted (returns confirmation message).

Pagination

List endpoints return paginated results:

{
  "count": 42,
  "next": "https://sayify.pro/api/v1/links/?page=2",
  "previous": null,
  "results": [...]
}

Use page and page_size query parameters to control pagination.


🚦 Rate Limits

API requests are rate-limited per API key:

Plan Requests / min
Free 30
Pro 120
Enterprise Custom

[!TIP]
When rate-limited (429), the response includes a Retry-After header indicating how many seconds to wait.


📚 API Reference Pages

Page What it covers
Authentication API key creation, key format, security best practices, workspace scope.
Endpoints Full endpoint reference — links, responses, webhooks, tokens, question types, conditional logic.
Errors Status codes, error codes, error response format, retry strategy.
Webhooks Event payloads, retry policy, and delivery logs.
Was this page helpful?
Report an issue →