Partner Posts API
Upload a link-in-bio post tile to any Kind Joe desk. No staff login. Same key as the partner publish API.
Endpoint
POST /api/partner/posts
Authentication
Send Authorization: Bearer <HOPE_PUBLISH_API_KEY> or x-api-key: <HOPE_PUBLISH_API_KEY>.
Desks
kindjoe—/postsventura—/ventura/postsla—/joeknowsla/postsoxnard—/oxnard/postsslo—/joefromslo/posts
Aliases also work: joeknowsla, oxnard-news, cityofox, joefromslo, ventura-county.
Cloudinary
Kind Joe uploads the photo to Cloudinary in the kindjoe/posts folder and saves that link on the post. The caller does not need Cloudinary keys.
- Send the file as multipart field
file. - Or send
imageBase64as adata:image/…;base64,…string. - Or send
imageUrl. A link that is not already on Kind Joe Cloudinary is copied there first.
File upload
curl -X POST https://www.kindjoe.com/api/partner/posts \
-H "Authorization: Bearer $HOPE_PUBLISH_API_KEY" \
-F "desk=ventura" \
-F "destinationUrl=https://www.kindjoe.com/your-story" \
-F "caption=Optional" \
-F "file=@tile.jpg"JSON body
{
"desk": "ventura",
"imageUrl": "https://res.cloudinary.com/…/tile.jpg",
"destinationUrl": "https://www.kindjoe.com/your-story",
"caption": "Optional"
}imageUrl in the response is the Cloudinary URL stored on the post.
Response (201)
{
"success": true,
"desk": "ventura",
"id": 42,
"feedPath": "/ventura/posts",
"imageUrl": "https://…",
"destinationUrl": "https://…"
}