Skip to main content

API Access

Three namespaces governing how systems and people authenticate into your company: api-keys for programmatic access, oauth-clients for registered applications, and sso for workforce identity. All 29 commands are listed by the CLI and none are runnable — every one is administered in the web app.

Why none of this is scriptable​

These namespaces mint and rotate credentials, and grant the permissions those credentials carry. Autessa keeps that behind a browser session deliberately: a credential-minting endpoint reachable from a script is a credential-minting endpoint reachable from a stolen script.

The commands still appear in the help tree so discovery tells you the capability exists and where it lives, rather than leaving you unsure whether you mistyped:

autessa api-keys create
Create a new API key (done in the web app).
This is the same pattern as billing payments, SSO and payment methods — see What stays in the browser. Roughly 157 of the CLI's commands are listed-but-not-runnable for reasons of this kind.

API keys​

Programmatic API keys and their per-resource permissions — created, listed, updated, enabled/disabled and rotated, with permissions granted or revoked per resource and per type. Managed from account settings in the web app.

The namespace also carries the observability commands: monthly-stats for a key's usage and transaction-history for what it has actually done. Both are web-app views.

What matters when you are working from the terminal: an API key is the credential a client application uses against the Client API, scoped by the per-resource permissions you grant it. It is not what the CLI itself uses — autessa login mints a separate, short-lived, tenant-scoped session credential. See Install and sign in.

17 commands17 in the web app
CommandWhat it does
autessa api-keys add-permission-groupWeb appAPI key permissions are managed from your account settings in the web app.
autessa api-keys add-resource-permissionWeb appAPI key permissions are managed from your account settings in the web app.
autessa api-keys createWeb appAPI keys are created from your account settings in the web app.
autessa api-keys deleteWeb appAPI keys are deleted from your account settings in the web app.
autessa api-keys delete-specific-permissionWeb appAPI key permissions are managed from your account settings in the web app.
autessa api-keys disableWeb appAPI keys are disabled from your account settings in the web app.
autessa api-keys enableWeb appAPI keys are enabled from your account settings in the web app.
autessa api-keys getWeb appAPI key details are viewed from your account settings in the web app.
autessa api-keys grant-esignature-permissionWeb appAPI key e-signature permissions are managed from your account settings in the web app.
autessa api-keys listWeb appAPI keys are listed from your account settings in the web app.
autessa api-keys monthly-statsWeb appAPI key usage stats are viewed from your account settings in the web app.
autessa api-keys refreshWeb appAPI keys are refreshed from your account settings in the web app.
autessa api-keys remove-all-permissions-for-typeWeb appAPI key permissions are managed from your account settings in the web app.
autessa api-keys revoke-esignature-permissionWeb appAPI key e-signature permissions are managed from your account settings in the web app.
autessa api-keys set-all-permissions-for-typeWeb appAPI key permissions are managed from your account settings in the web app.
autessa api-keys transaction-historyWeb appAPI key transaction history is viewed from your account settings in the web app.
autessa api-keys updateWeb appAPI keys are updated from your account settings in the web app.

OAuth clients​

Registering OAuth client applications for your company, rotating their secrets, and revoking them. Five commands, all web-app-only.

Use these when an external application needs to act on behalf of your users, rather than with a fixed company-scoped key.

5 commands5 in the web app
CommandWhat it does
autessa oauth-clients createWeb appRegistering an OAuth application is done from your developer settings in the web app.
autessa oauth-clients deleteWeb appDeleting an OAuth application is done from your developer settings in the web app.
autessa oauth-clients listWeb appYour OAuth applications are managed from your developer settings in the web app.
autessa oauth-clients rotate-secretWeb appRotating an OAuth application's client secret is done from your developer settings in the web app.
autessa oauth-clients updateWeb appEditing an OAuth application is done from your developer settings in the web app.

Single sign-on​

Configuring the identity provider, managing verified email domains, setting the auto-join role, and toggling login enforcement.

Domain verification involves DNS records and a verification step, and enforcement changes how everyone in the company signs in — both are firmly human-confirmation territory.

7 commands7 in the web app
CommandWhat it does
autessa sso add-domainWeb appSSO email domains are claimed from your company's settings in the web app.
autessa sso get-configWeb appSingle sign-on is viewed and configured from your company's settings in the web app.
autessa sso remove-domainWeb appSSO email domains are removed from your company's settings in the web app.
autessa sso set-auto-join-roleWeb appThe SSO auto-join role is set from your company's settings in the web app.
autessa sso set-enforcementWeb appSSO enforcement is toggled from your company's settings in the web app.
autessa sso set-providerWeb appThe SSO identity provider is chosen from your company's settings in the web app.
autessa sso verify-domainWeb appSSO domain verification is done from your company's settings in the web app.

What to use for unattended automation​

Since you cannot mint a credential from the CLI, the question this page usually raises is: how do I run automation with no human present?

Three answers, in the order worth trying:

  1. Put the work on the platform. Scheduled jobs, table triggers and inbound webhooks run server-side with no session to expire. Use the CLI to create them and let the platform run them. This is the durable answer for most cases.
  2. Use a poweruser key over HTTP. The Poweruser API covers the same operations the CLI exposes, and every CLI command has a poweruser equivalent. Keys are minted in the browser — see Poweruser keys.
  3. Use an API key from your application. For a client app acting against the Client API, with per-resource permissions scoped to exactly what it needs.

What not to do is wrap the autessa CLI in a cron job: autessa login mints a credential that expires in roughly eight hours with no silent refresh, so the job will start failing and the failure will look like a bug in your script.