REST API
Create an integration key and test a read-only Aidelly API request.
Open Aidelly integrations · Open interactive API reference
- Create an integration key in Aidelly (API access requires an eligible plan).
- Set
AIDELLY_API_KEYin 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"- 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.jsonSet 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.