Resources
How to get help with Pozy, what to include so we can answer fast, how to look up a failed request yourself, and how to report bugs and missing features from code.
Write to support@pozy.ai or use Support in the dashboard.
#Include these and we can answer on the first reply
| What | Where to find it |
|---|---|
The X-Request-Id of a failed call |
The x-request-id response header. It is on every response, success or failure. |
| The endpoint and method | For example POST /v1/posts. |
| The ids involved | postId, accountId, profileId, webhookId, conversationId. |
| What you expected and what happened | The full error body, including code, details and any platformError. |
| When | A timestamp with timezone, especially for webhooks and scheduled posts. |
Never send an API key, a webhook secret or an access token. We never need them, and a key sent by email should be treated as leaked: delete it and create a new one.
#Ask the support assistant
POST /v1/support/runs asks a question about your workspace from code or the dashboard's Support page. It answers 202 with a runId; poll GET /v1/support/runs/{runId} until status is completed, needs_human or failed.
- With a payment method on file, the support assistant answers, and it is billed per answered question (pricing). Questions it cannot answer go to the Pozy team (
needs_human), who reply by email. - Without a payment method, questions go straight to the Pozy team, who reply by email. A workspace can send 5 a day this way. The sixth answers
429withcode: "support_ticket_limit"; for anything urgent, write to support@pozy.ai.
#Look it up yourself first
Most questions about "what happened to this request" are answered by the activity logs, in Logs or from the API:
curl "https://api.pozy.ai/v1/logs?type=api_request&requestId=req_P3sK8vN1qL7xT2mR9cZa" \
-H "Authorization: Bearer $POZY_API_KEY"const res = await fetch("https://api.pozy.ai/v1/logs?type=api_request&requestId=req_P3sK8vN1qL7xT2mR9cZa", {
headers: { Authorization: `Bearer ${process.env.POZY_API_KEY}` },
});
const data = await res.json();
if (!res.ok) throw new Error(data.error);
console.log(data.logs[0]);import os, requests
resp = requests.get(
"https://api.pozy.ai/v1/logs",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
params={"type": "api_request", "requestId": "req_P3sK8vN1qL7xT2mR9cZa"},
)
print(resp.json()["logs"])type narrows the log to publishing, connections, webhooks, messaging, workflow_event or api_request. Filter further by status, platform, accountId, profileId, apiKeyId, statusCode or a date range. Logs go back 90 days.
Other quick checks:
- A post did not go out.
GET /v1/posts/{postId}and readerrorMessageanderrorCategoryon the failed target (errors). - An account stopped working.
GET /v1/accounts/{accountId}/healthsays whether the token is valid and what to do (account health). - A webhook did not arrive.
GET /v1/webhooks/logsshows each attempt with the status code and body your server returned (testing webhooks). - A key is refused.
GET /v1/auth/verifyshows what the credential is and what it can reach (authentication).
#Report bugs and missing features from code
POST /v1/feedback files a report straight from your integration or your AI agent, with the request id attached. Use it when the API behaves differently from these docs, an endpoint you need is missing, or a page here is wrong.
curl -X POST https://api.pozy.ai/v1/feedback \
-H "Authorization: Bearer $POZY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "bug",
"summary": "Scheduled carousel published with images in the wrong order",
"endpoint": "POST /v1/posts",
"requestId": "req_P3sK8vN1qL7xT2mR9cZa",
"expected": "Images in the order sent in mediaItems",
"actual": "Second and third image swapped on Instagram"
}'const res = await fetch("https://api.pozy.ai/v1/feedback", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POZY_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
type: "bug",
summary: "Scheduled carousel published with images in the wrong order",
endpoint: "POST /v1/posts",
requestId: "req_P3sK8vN1qL7xT2mR9cZa",
expected: "Images in the order sent in mediaItems",
actual: "Second and third image swapped on Instagram",
}),
});
if (!res.ok) throw new Error((await res.json()).error);requests.post(
"https://api.pozy.ai/v1/feedback",
headers={"Authorization": f"Bearer {os.environ['POZY_API_KEY']}"},
json={
"type": "bug",
"summary": "Scheduled carousel published with images in the wrong order",
"endpoint": "POST /v1/posts",
"requestId": "req_P3sK8vN1qL7xT2mR9cZa",
"expected": "Images in the order sent in mediaItems",
"actual": "Second and third image swapped on Instagram",
},
)| Field | Required | Notes |
|---|---|---|
type |
Yes | bug, missing_feature, docs or other. |
summary |
Yes | One line, up to 200 characters. |
details |
No | Up to 5,000 characters. |
endpoint |
No | Method and path, up to 300 characters. |
requestId |
No | The X-Request-Id of the call in question. |
expected, actual |
No | Up to 2,000 characters each. |
agent |
No | { "name", "model" } when an AI agent files the report, so we can reproduce its behaviour. |
The response is 201 with the report id. The same summary sent again within 24 hours returns the first report with duplicate: true instead of filing a second one, so an agent that retries does not flood the queue. A workspace can file up to 20 reports a day.
#Changes and incidents
Changes to the API are posted in the changelog, and GET /v1/changelog serves the same feed to code (versioning). If many requests fail at once with 5xx, retry with backoff and contact support@pozy.ai with a few request ids.
#Endpoints
| Endpoint | What it does |
|---|---|
POST /v1/feedback |
Submit feedback |
GET /v1/logs |
List activity logs |