Generated OpenAPI reference

Socialize

Generated from the source-controlled OpenAPI specification.

version 1.0.031 operations8 tags

Servers and authentication

Default security: none declared

  • https://socialize-api.topolo.app — Production API
  • http://localhost:8787 — Local development

Operations

GET /health

Comprehensive health check

Returns detailed health status including dependency checks

Auth: none declared · Responses: 200, 503

curl -X GET 'https://socialize-api.topolo.app/health' \
  -H 'Accept: application/json'

GET /healthz

Liveness probe

Simple liveness check for container orchestration

Auth: none declared · Responses: 200

curl -X GET 'https://socialize-api.topolo.app/healthz' \
  -H 'Accept: application/json'

GET /readyz

Readiness probe

Check if service is ready to accept traffic

Auth: none declared · Responses: 200, 503

curl -X GET 'https://socialize-api.topolo.app/readyz' \
  -H 'Accept: application/json'

GET /api/posts

List posts

Auth: BearerAuth (http) · Responses: 200, 401

curl -X GET 'https://socialize-api.topolo.app/api/posts' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

POST /api/posts

Create a post

Auth: BearerAuth (http) · Responses: 201, 400, 401

curl -X POST 'https://socialize-api.topolo.app/api/posts' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET /api/posts/{postId}

Get a post

Auth: BearerAuth (http) · Responses: 200, 404

curl -X GET 'https://socialize-api.topolo.app/api/posts/{postId}' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

PUT /api/posts/{postId}

Update a post

Auth: BearerAuth (http) · Responses: 200, 404

curl -X PUT 'https://socialize-api.topolo.app/api/posts/{postId}' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

DELETE /api/posts/{postId}

Delete a post

Auth: BearerAuth (http) · Responses: 204, 404

curl -X DELETE 'https://socialize-api.topolo.app/api/posts/{postId}' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/content-ops/queue

List machine-readable content queue items

Returns actionable content queue items for a brand, including approval state, publish status, timestamps, failure details, and supported safe actions. OpenClaw service requests may authenticate with `X-Api-Key` and should send `X-Brand-ID`.

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200, 401

curl -X GET 'https://socialize-api.topolo.app/api/content-ops/queue' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/content-ops/daily

Get deterministic daily content rollups

Returns a per-day rollup of content creation, approvals, scheduling, publishing, and failures. Buckets are derived from content timestamps rather than only the current status, so a publish later in the day does not erase earlier schedule activity.

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200, 401

curl -X GET 'https://socialize-api.topolo.app/api/content-ops/daily' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/content-ops/events

List content operations audit events

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200, 401

curl -X GET 'https://socialize-api.topolo.app/api/content-ops/events' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/content-ops/deck

List the freshness-ranked approval deck

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200, 401

curl -X GET 'https://socialize-api.topolo.app/api/content-ops/deck' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/content-ops/items/{contentId}

Get a content item with full machine-readable detail

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200, 404

curl -X GET 'https://socialize-api.topolo.app/api/content-ops/items/{contentId}' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

PATCH /api/content-ops/items/{contentId}

Edit draft content safely

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200

curl -X PATCH 'https://socialize-api.topolo.app/api/content-ops/items/{contentId}' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

POST /api/content-ops/items/{contentId}/approve

Approve a suggestion draft

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200

curl -X POST 'https://socialize-api.topolo.app/api/content-ops/items/{contentId}/approve' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

POST /api/content-ops/items/{contentId}/reject

Reject a suggestion draft

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200

curl -X POST 'https://socialize-api.topolo.app/api/content-ops/items/{contentId}/reject' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

POST /api/content-ops/items/{contentId}/reschedule

Reschedule a queued or failed post

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200

curl -X POST 'https://socialize-api.topolo.app/api/content-ops/items/{contentId}/reschedule' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

POST /api/content-ops/items/{contentId}/retry

Retry a failed publish

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200

curl -X POST 'https://socialize-api.topolo.app/api/content-ops/items/{contentId}/retry' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/media

List media files

Auth: BearerAuth (http) · Responses: 200

curl -X GET 'https://socialize-api.topolo.app/api/media' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

POST /api/media/upload

Get upload URL

Generate a presigned URL for direct upload to R2

Auth: BearerAuth (http) · Responses: 200

curl -X POST 'https://socialize-api.topolo.app/api/media/upload' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

POST /api/ai/generate-image

Generate AI image

Auth: BearerAuth (http) · Responses: 200, 429

curl -X POST 'https://socialize-api.topolo.app/api/ai/generate-image' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET /api/trends

List normalized trend or shared-seed items for a brand

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200

curl -X GET 'https://socialize-api.topolo.app/api/trends' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/seeds

List shared seeds for a brand

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200

curl -X GET 'https://socialize-api.topolo.app/api/seeds' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

POST /api/seeds/share

Save a shared source item as a reusable seed

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 201

curl -X POST 'https://socialize-api.topolo.app/api/seeds/share' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

POST /api/content-strategy/suggestions/generate-from-trends

Generate platform-specific suggestions from supplied trend or seed items

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 201

curl -X POST 'https://socialize-api.topolo.app/api/content-strategy/suggestions/generate-from-trends' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

GET /api/brands/{brandId}/publishing-readiness

Report machine-readable publishing readiness by platform

Auth: BearerAuth (http), ApiKeyAuth (apiKey) · Responses: 200

curl -X GET 'https://socialize-api.topolo.app/api/brands/{brandId}/publishing-readiness' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/brands

List user's brands

Auth: BearerAuth (http) · Responses: 200

curl -X GET 'https://socialize-api.topolo.app/api/brands' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

POST /api/brands

Create a brand

Auth: BearerAuth (http) · Responses: 201

curl -X POST 'https://socialize-api.topolo.app/api/brands' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

POST /api/brands/{brandId}/transfer-organization

Transfer brand ownership to another organization

Moves a Socialize brand to a different Topolo Auth organization while keeping the same brand ID and content records.

Auth: BearerAuth (http) · Responses: 200, 400, 401, 404

curl -X POST 'https://socialize-api.topolo.app/api/brands/{brandId}/transfer-organization' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{}'

POST /api/integrations/{platform}/connect

Start OAuth flow

Auth: BearerAuth (http) · Responses: 200, 409

curl -X POST 'https://socialize-api.topolo.app/api/integrations/{platform}/connect' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'

GET /api/integrations

List connected integrations

Auth: BearerAuth (http) · Responses: 200

curl -X GET 'https://socialize-api.topolo.app/api/integrations' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer <token>'