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 returns301 Moved Permanentlywithout it.
📨 Request Format
- Content-Type:
application/jsonforPOST/PATCH/PUTrequests. - 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 aRetry-Afterheader 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
→