Aidelly Docs
Integrations

REST API

Create an integration key and test a read-only Aidelly API request.

Open Aidelly integrations · Open interactive API reference

  1. Create an integration key in Aidelly (API access requires an eligible plan).
  2. Set AIDELLY_API_KEY in your local secret environment, then list workspaces:
curl --fail-with-body https://app.aidelly.ai/api/public/v1/workspaces \
  -H "Authorization: Bearer $AIDELLY_API_KEY"
  1. Copy the intended workspace ID and set AIDELLY_WORKSPACE_ID. List its social accounts:
curl --fail-with-body https://app.aidelly.ai/api/public/v1/accounts \
  -H "Authorization: Bearer $AIDELLY_API_KEY" \
  -H "x-aidelly-workspace-id: $AIDELLY_WORKSPACE_ID"

Schedule a post

Save this as post.json, replacing the future-time placeholder:

{
  "platform": "linkedin",
  "content": { "text": "Your announcement" },
  "scheduled_at": "YOUR_FUTURE_ISO_TIMESTAMP"
}

Send it with a unique idempotency key:

curl --fail-with-body https://app.aidelly.ai/api/public/v1/posts \
  -H "Authorization: Bearer $AIDELLY_API_KEY" \
  -H "x-aidelly-workspace-id: $AIDELLY_WORKSPACE_ID" \
  -H "Idempotency-Key: $AIDELLY_EVENT_ID" \
  -H "Content-Type: application/json" \
  --data-binary @post.json

Set AIDELLY_EVENT_ID to a unique ID for this post, preserving it for retries. Create one request per platform. HTTP 201 confirms asynchronous acceptance, not delivery. Poll GET /posts/{id}; status: completed with a provider_post_id confirms publication. Team approval may hold the post until an approver signs off.

Media

Use POST /media/upload-url to obtain a signed upload URL, PUT the file bytes to that URL, then attach the returned read_url in content.media. See the API reference for media fields, platform requirements, scopes, and error responses.

OpenAPI specification · Authentication