Creators · Creator Portal
Submits a post.
POST
https://api.pozy.ai/public/creator-campaigns/{token}/submissionsPublic, no API keysubmitCreatorPost
Guide: Run a campaign
Request
This endpoint is public. Call it without an API key.
Path parameters
| Name | Type | Notes |
|---|---|---|
tokenrequired | string | Matches ^[A-Za-z0-9_-]{16,128}$ |
Request body
application/json, required
urlstringrequired1 to 2048 characters.
Example
curl -X POST "https://api.pozy.ai/public/creator-campaigns/string/submissions" \
-H "Content-Type: application/json" \
-d '{
"url": "https://pozy.ai/media/example-1.jpg"
}'const res = await fetch("https://api.pozy.ai/public/creator-campaigns/string/submissions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
url: "https://pozy.ai/media/example-1.jpg"
}),
});
const data = await res.json();
if (!res.ok) throw new Error(data?.error ?? `Request failed with status ${res.status}`);
console.log(data);import os
import requests
resp = requests.post(
"https://api.pozy.ai/public/creator-campaigns/string/submissions",
json={
"url": "https://pozy.ai/media/example-1.jpg",
},
timeout=30,
)
resp.raise_for_status()
print(resp.json())Response
201 on success
submissionobjectrequired12 child fields
idstringrequiredplatformstringrequiredpostIdstringrequiredurlstringrequiredCan be null.
statusstringrequiredOne of
received,tracking,pending_review,approved,rejected,expired,withdrawn.submittedAtstring (date-time)requiredpublishedAtstring (date-time)requiredCan be null.
viewsintegerrequiredearnedCentsintegerrequiredrejectReasonstringrequiredCan be null.
flagsarray of stringrequiredEach item: one of
unreachable,post_deleted,duplicate_post,under_review.trackingEndsAtstring (date-time)requiredCan be null.
201 response
{
"submission": {
"id": "6bfebd43ddc270f6d2c56fc5",
"platform": "instagram",
"postId": "6108a2cc742cb4e991051e0c",
"url": "https://pozy.ai/media/example-1.jpg",
"status": "received",
"submittedAt": "2026-10-02T09:00:00.000Z",
"publishedAt": "2026-10-02T09:00:00.000Z",
"views": 1,
"earnedCents": 1,
"rejectReason": "string",
"flags": [
"unreachable"
],
"trackingEndsAt": "2026-10-02T09:00:00.000Z"
}
}Errors
Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:
| 400 | invalid_request_error | A parameter or body field is missing or invalid. param names it. |
| 404 | not_found | Nothing with that id exists in your workspace. |
| 429 | rate_limit_error | Too many requests this minute. Wait for Retry-After seconds. |
Every code is listed in Errors.