Skip to main content

Poweruser API

The Poweruser API gives you programmatic access to everything you can do in the Autessa Builder — create and publish agents, configure tools, manage AutessaDB tables and triggers, provision phone numbers, send e-signature envelopes, and more. It is the management surface of the platform, as opposed to the Client API, which executes published resources.


Base URL​

https://api.autessa.com/autessa_poweruser

Every endpoint is POST and takes a JSON request body. Endpoints with no parameters still expect a body — send an empty object {}.


Authentication​

Pass a poweruser key in the Authorization header. Two formats are accepted:

Permanent keys

Authorization: pwrusr:{key_id}:{secret}

Temporary keys (JWT-based, expiring credentials — issued for scoped integrations):

Authorization: pwrusr_temp:{jwt}

Both formats are validated by the same filter and behave identically once authenticated; the only difference is lifetime and how the credential is issued.

Creating a key​

Poweruser keys are created in the Builder under API management. See Poweruser Keys for a step-by-step walkthrough, including how to create endpoint-scoped keys.

curl https://api.autessa.com/autessa_poweruser/user/me \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Response
{
"email": "jane@acme.com",
"name": "Jane Doe",
"companyName": "Acme Corp"
}

The acts-as-user model​

Every poweruser key is linked to a user and a company. When a request authenticates, the platform builds the exact same session context that user would have in the Builder for that company, and the request executes as that user:

  • Resource visibility follows the linked user's ownership and sharing — "list all" endpoints return the same owned / company-shared / shared-with-me groupings the user sees in the Builder.
  • Access-level checks (READ / WRITE / PUBLISH / ADMIN on agents, tools, managers, and so on) are evaluated against the linked user.
  • Anything the key creates is owned by the linked user in the linked company.
  • All activity is logged to the transaction log as the linked user.

If you need the API to own resources on behalf of a team, link the key to a service user with the right memberships rather than a personal account.


Scoped keys and endpoint discovery​

A poweruser key can be scoped to an explicit allow-list of endpoints when it is created. A scoped key that calls any endpoint outside its allow-list is rejected with HTTP 403 before the request reaches the endpoint:

{
"error": "Endpoint not permitted for this API key"
}

Scopes are defined in terms of endpoint keys (for example AGENTS_ALL, TOOLS_CREATE). To discover every endpoint key, its path, and its group, call /user/available-endpoints — it returns the full endpoint registry, which is also the set of values you can select when creating a scoped key.

cURL
curl https://api.autessa.com/autessa_poweruser/user/available-endpoints \
-X POST \
-H "Authorization: $POWERUSER_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Response (truncated)
{
"endpoints": [
{
"key": "AGENTS_ALL",
"path": "/autessa_poweruser/agents/all",
"group": "Agents"
},
{
"key": "TOOLS_CREATE",
"path": "/autessa_poweruser/tools/create",
"group": "Tools"
}
],
"errors": []
}

Conventions​

IDs are opaque strings​

Every resource ID that appears in a request or response — agentId, toolId, managerId, newOwnerId, mcpServerId, and so on — is a short opaque string like "V1StGXR8Z5". Treat IDs as stable identifiers: pass them back exactly as you received them, and never construct or increment them.

Requests​

  • Method is always POST, body is always JSON (Content-Type: application/json).
  • Endpoints without parameters take an empty object {}.
  • Timestamps are ISO-8601 date-times without a zone suffix (for example "2026-06-28T17:42:10"), interpreted as UTC.

Error shape​

Every response body extends a common envelope. On success the HTTP status is 200 and errors is empty or absent. On failure the body carries human-readable messages:

{
"errors": ["User does not have permission to delete agent."]
}

HTTP status codes:

StatusMeaning
200Success.
401Authentication or authorization failed (bad key, or the linked user lacks access to the resource).
403A scoped key called an endpoint outside its allow-list (body is {"error": "..."}, sent by the auth filter).
408A server-side error was caught while executing the request; errors contains the message.

Responses may also include a deprecationWarnings array of strings when you call something slated for change — treat entries as a prompt to migrate.


Endpoint directory​

GroupPageWhat it covers
UserUserKey introspection: linked user, company, endpoint registry.
AgentsAgentsCreate, configure, version, publish, and analyze agents.
ToolsToolsCreate and configure tools of any tool type, including from MCP servers.
ManagersManagersMulti-agent managers: configuration, versioning, conversations.
AutessaDB TablesAutessaDB TablesTable and schema management, knowledge bases, sharing.
AutessaDB QueriesAutessaDB QueryRow-level insert, update, delete, query, search, and uploads.
AutessaDB TriggersAutessaDB TriggersTrigger creation, enable/disable, and execution history.
AutessaDB AnalyticsAutessaDB AnalyticsAnalytics table creation, columns, semantic layer, loads, and SQL query jobs.
ConnectorsConnectorsConnect, manage, share, and operate external connectors, including per-family actions.
Scheduled EventsScheduled EventsCron and one-off scheduled event management.
Custom WebhooksCustom WebhooksInbound webhook handlers and execution history.
API KeysAPI KeysProvision, scope, rotate and audit client API keys (so a hosted app can mint its own).
MCP ServersMCPMCP server registration, connection testing, discovery.
Custom AppsCustom AppsCustom app projects, files, builds, and vibecode sessions.
Phone NumbersPhone NumbersPhone number purchase, routing, and release.
SMS ConsentSMS ConsentSMS consent record creation and search.
Meeting RecorderMeeting RecorderMeeting bots and recordings.
E-SignatureE-Signature Envelopes and E-Signature TemplatesEnvelope send/track and template management.
Voice CloningVoice CloningInstant and deep voice clones.
Conversation SyncConversation SyncConversation data export and sync.
CompanyCompanyCompany settings, team, and limits.