Developer API & integrations · API reference

Make your first API call

Call any of the 170+ tools with a single pattern: POST to /api/v1/tools/<toolName> on your own domain, a Bearer key in the header, and arguments in a JSON body. Responses always tell you ok or not.

One endpoint, many tools

The whole API follows one pattern. You send a POST request to your own site's domain at /api/v1/tools/ followed by the tool name, with your API key in the Authorization header and the tool's arguments in a JSON body under "args". The same pattern works for every tool, from listing videos to generating a blog post.

A worked example

This lists your 20 most recent videos:

curl -X POST https://your-domain.com/api/v1/tools/videos.list -H "Authorization: Bearer ac_YOUR_KEY" -H "Content-Type: application/json" -d '{"args": {"limit": 20}}'

A successful response returns { "ok": true, "tool": "videos.list", "result": { ... } }. If the tool runs but can't complete — say, a video ID that doesn't exist on your platform — you still get a 200 response, but with "ok": false and a readable "error" message. Always check the ok field.

Common errors

401 means a missing, invalid, or revoked key. 403 means your key lacks the required scope — the error names the exact scope to add. 404 means that tool isn't available over the API. 400 means the JSON body couldn't be parsed. 429 means you've hit a rate limit (back off and retry). Requests must use POST — a GET returns 405 with a hint.

Finding tool names and arguments

Every tool's name, description, argument schema, and required scope is published in the public docs at autocreator.ai/developers/api, and in machine-readable form at /openapi.json and the agent manifest on your own domain. Your admin also has a docs page under Integrations → API → API docs.

Step by step

  1. Create an API key under Integrations → API with the scope your tool needs (for example "Read videos" for videos.list).
  2. Pick a tool name from the API docs.
  3. Send a POST request to https://your-domain.com/api/v1/tools/<toolName> with the header "Authorization: Bearer ac_..." and a JSON body like {"args": {...}}.
  4. Check "ok" in the response: true means success with data under "result"; false comes with a plain-language "error".

Good to know

  • Many read tools take no arguments at all — an empty body works fine.
  • Test with a read tool like videos.list first; it can't change anything.

Related articles