Skip to content

Overview

Backend API for the Plune eval/TMS platform. Two credential surfaces: a web session cookie (magic-link sign-in) manages CLI tokens; a bearer API token ingests runs from the CLI.

Projects. Every record belongs to a project, and every request acts in exactly one: the one named by the X-Plune-Project header (an id from GET /v1/projects), else your default project. A project you are not a member of answers 404, the same as one that does not exist. A reader is refused every write with 403 read-only member. A bearer token is bound to the project it was minted in and ignores the header. /v1/projects stands outside a project — it is how a client learns which ones it may name.

Companies. A company sits above projects (ADR 0038): it has people with a company role and projects whose names every member sees — and it opens none of them. A project is read and written through its own membership only; a member of the company becomes one by joining (POST /v1/companies/{id}/projects/{projectId}/join) or by being added by an owner or admin, with the project role their company role maps to — owner and admin join as owner. /v1/companies stands outside a project too; a company you are not in answers 404, the same as one that does not exist.

Informations

  • OpenAPI version: 3.0.3

A CLI API token (plune_…) minted via POST /v1/tokens.

Security scheme type: http

The signed, httpOnly session cookie set by GET /v1/auth/verify.

Security scheme type: apiKey

Cookie parameter name: plune_session