Skip to content
This page is a stub. It records what belongs here and is not written yet. Contributions are welcome.

API authentication

Every operation in the reference names the scheme it accepts, in a security block and in its code samples. This page says what each of those schemes is and how a caller gets one.

Most calls to a Depot come from the console in a browser. The credential is one thing in two parts.

SchemeSent asHow it is obtained
consoleSessionThe outpost_console cookieSigning in to the console. The browser sends it. A script cannot set it
csrfTokenThe X-Csrf-Token headerIssued with the session. It goes with every request that changes something

Sending the cookie without the header fails on any request that changes state, which is the point. A form on another site can make a browser send the cookie, but it cannot read the token.

Because the cookie is set by signing in, a sample in a language other than curl shows the request with credentials: "include" or its equivalent, not a line that invents a session.

SchemeSent asHow it is obtained
provisionTokenAuthorization: Bearer ...Issued when an installer or an integration is configured

This is the credential an integration holds. It identifies the integration rather than a person, so it carries only the permissions it was granted, and it is revoked where it was created.

Authorization: Bearer <provision-token>

Some operations take no credential at all. They are marked in the reference with no permission badge, and where the URL itself is the credential, with Token in the path.

A token in the path means the whole URL is a secret. Do not paste one into a ticket, a chat message or a log line. These routes exist so somebody outside the organisation can answer a survey or read a status page without an account, and the token is what stands in for one.

An Agent authenticates with neither of the above. It connects to its Depot over gRPC with mutual TLS and is identified by its client certificate, which it receives during enrolment. See the Agent gRPC API.

This page is an outline. It still needs:

  • The exact sign in exchange, request by request.
  • How long each credential lasts and how it is renewed.
  • How a provisioning token is created, scoped and revoked.
  • What a caller should do on a 401 compared with a 403.
  • Guidance for an AI agent holding a credential on a person’s behalf.

Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either licence.