Skip to content

Brand profile

There is exactly one brand profile per workspace. It is not paginated and cannot be deleted, only updated. See Brand profile concepts for the field reference.

GET /api/v1/brand_profile
Terminal window
curl https://app.nativpost.com/api/v1/brand_profile \
-H "Authorization: Bearer $NATIVPOST_API_KEY"

Response:

{
"object": "brand_profile",
"workspace_id": "org_2gK9c7dL3eX8fY1a",
"voice": "practical, direct, no filler",
"audience": "founders and product managers",
"topics_to_lean_into": ["shipping speed", "distribution"],
"topics_to_avoid": ["crypto"],
"style_notes": "no em-dashes, sentences under 20 words",
"example_posts": [
"We stopped writing weekly retros last quarter. Nothing broke."
],
"updated_at": "2026-07-01T09:14:00Z"
}
PATCH /api/v1/brand_profile

Send only the fields you want to change. Arrays are replaced wholesale, not merged. To add a topic without removing existing ones, GET first, append, then PATCH.

Terminal window
curl -X PATCH https://app.nativpost.com/api/v1/brand_profile \
-H "Authorization: Bearer $NATIVPOST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice": "warm and practical, never salesy",
"topics_to_avoid": ["crypto", "gambling", "get-rich-quick"]
}'

Updates take effect on the next generation request. In-flight campaigns already in generating finish with the previous profile.

Field length limits are documented in Brand profile concepts. Requests that exceed them return 422 unprocessable_entity with the offending field in param.