Manage API keys →Developer guide · API v1
Brandsoara has its own accounts, company workspaces, and deployment. Connect any application through your backend.
| Endpoint | Permission |
|---|---|
| GET /brand | brand:read |
| PUT /brand | brand:write |
| GET /campaigns | campaigns:read |
| POST /campaigns | campaigns:generate |
| GET /campaigns/:id | campaigns:read |
| GET /campaigns/:id/results | campaigns:read |
| POST /campaigns/:id/outcomes | outcomes:write |
const response = await fetch(
process.env.POSTLY_URL + '/api/v1/campaigns',
{
method: 'POST',
headers: {
'Authorization': 'Bearer ' + process.env.POSTLY_API_KEY,
'Content-Type': 'application/json',
'Idempotency-Key': 'spring-launch-2027-001'
},
body: JSON.stringify({
name: 'Spring launch',
goal: 'leads',
audience: 'Local business owners seeking our services',
offer: 'Book a consultation with our team',
landing_url: 'https://your-company.example/consult',
platforms: ['facebook', 'instagram'],
post_count: 4,
model: 'gpt-6.1-sol'
})
}
);
const payload = await response.json();
if (!response.ok) throw new Error(payload.error.message);
// Persist payload.data.id and poll its status_url.
// Open review_path in Brandsoara to approve and schedule posts.