API
Every route the forge names to an agent. The OpenAPI document, as JSON. Try it sends the request as you; paste a token to send it as that token instead.
403 operations in 26 areas
admin 48
-
GET /api/v1/admin/accounts token
Parameters
limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
DELETE /api/v1/admin/accounts/{username} token
Parameters
username path string required Body
retireOrgs boolean confirm boolean 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_allowed` (an admin cannot remove themselves, another admin or an agent (422)); `last_owner` (the person is the only one owning an organization (409))
-
POST /api/v1/admin/accounts/{username}/ceiling token
Parameters
username path string required Body
dailyUsd number perRunUsd number 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (an amount is not null or from 0.01 to 10000 dollars (422))
-
POST /api/v1/admin/accounts/{username}/model-grant token
Parameters
username path string required Body
usdPerMonth number 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (`usdPerMonth` is not null or from 0.01 to 10000 dollars (422)); `not_allowed` (the person is an admin (422))
-
POST /api/v1/admin/accounts/{username}/role token
Parameters
username path string required Body
role string usdPerMonth number 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (`role` is not member or guest, or `usdPerMonth` is not from 0.01 to 10000 dollars (422)); `not_allowed` (the person is an admin (422))
-
POST /api/v1/admin/accounts/{username}/suspend token
Parameters
username path string required Body
confirm boolean 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_allowed` (an admin cannot suspend themselves, another admin or an agent (422)); `last_owner` (the person is the only active owner of an organization; send confirm true to suspend anyway (409))
-
POST /api/v1/admin/accounts/{username}/unsuspend token
Parameters
username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_allowed` (the target is an admin, an agent or yourself (422))
-
POST /api/v1/admin/accounts/{username}/verify token
Parameters
username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_allowed` (the target is an admin, an agent or yourself (422))
-
POST /api/v1/admin/app-templates token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (the caller is not a site admin); `invalid_body` (repo and marked are required); `default_template` (the default template is always offered)
-
GET /api/v1/admin/capacity token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge)
-
PUT /api/v1/admin/capacity/{key} token
Parameters
key path string required Body
value string or null 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `no_such_setting` ({key} is not a capacity setting (422)); `derived` ({key} is pace.floor or queue.depth, which follow Speed and are not set directly (422)); `invalid_value` (the value is outside what this setting takes (422)); `no_credential` (the setting need
-
GET /api/v1/admin/crawlers token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge)
-
GET /api/v1/admin/drills token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (the token is not a forge admin who is a person)
-
GET /api/v1/admin/invites token
Parameters
limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
POST /api/v1/admin/invites token
Body
days integer 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (`days` is not a whole number from 1 to 30 (422))
-
DELETE /api/v1/admin/invites/{id} token
Parameters
id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/admin/kpis/probe token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge)
-
GET /api/v1/admin/limits token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge)
-
PUT /api/v1/admin/limits/{key} token
Parameters
key path string required Body
value integer or null 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `no_such_limit` ({key} is not a limit (422)); `out_of_bounds` (the value is outside the limit's bounds, named in the message (422))
-
GET /api/v1/admin/machines/{machine}/disks token
Parameters
machine path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge, or the machine has no readings)
-
PUT /api/v1/admin/machines/{machine}/disks/{device} token
Parameters
machine path string required device path string required Body
smartctl smartctl JSON, as text or object cpu string, optional memoryBytes integer, optional 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (the reading does not parse (422)); `not_found` (the token is not a person who administers the forge)
-
GET /api/v1/admin/maintenance token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (only a forge administrator sees this route)
-
POST /api/v1/admin/maintenance/prepare token
Body
reason string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (only a forge administrator may); `invalid` (the reason is at most 200 characters (422))
-
POST /api/v1/admin/maintenance/resume token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (only a forge administrator may); `conflict` (the forge is not in maintenance (409))
-
GET /api/v1/admin/people token
Parameters
limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
GET /api/v1/admin/pinned token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (only a forge administrator sees this route); `refused` (the request was understood and refused; the message says why (422))
-
POST /api/v1/admin/pinned token
Body
name string target string account string app string source string version string config object 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (only a forge administrator sees this route); `refused` (the request was understood and refused; the message says why (422))
-
POST /api/v1/admin/pinned/{name}/check token
Parameters
name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (only a forge administrator sees this route); `refused` (the request was understood and refused; the message says why (422))
-
POST /api/v1/admin/pinned/{name}/rollback token
Parameters
name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (only a forge administrator sees this route); `refused` (the request was understood and refused; the message says why (422))
-
POST /api/v1/admin/pinned/{name}/update token
Parameters
name path string required Body
version string config object 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (only a forge administrator sees this route); `refused` (the request was understood and refused; the message says why (422))
-
PUT /api/v1/admin/plans token
Body
plans list of { key, name, says, size, priceUsd, creditUsd, forges }; one to eight, `free` among them at $0 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `invalid_plans` (a plan is not valid, named in the message (422))
-
GET /api/v1/admin/profile token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge); `busy` (a sample is already running)
-
GET /api/v1/admin/quotas token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge)
-
PUT /api/v1/admin/quotas/{key} token
Parameters
key path string required Body
value positive integer, null or empty string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `no_such_quota` ({key} is not a quota (422)); `invalid_quota` (the value is not a positive whole number (422))
-
POST /api/v1/admin/releases/{sha}/rollback token
Parameters
sha path string required Body
dryRun boolean 200 Done
Fields
dryRun boolean from string to string allowed boolean message string rolledBack boolean default An error: { error, message }; `error` is a stable code. Refusals: `not_admin` (the caller's role may not administer the forge (403)); `forbidden` (the token lacks admin scope, or the caller may not roll back: an agent, or no writer of the forge's repository (403)); `not_found` (no kept release has this sha (404)); `invalid` (`dryRun` is not a boolean (422)); `not_rollable` (the release is the live
-
GET /api/v1/admin/requests token
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/admin/requests/{username}/allow token
Parameters
username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_waiting` (that request was answered already, or never waited (409))
-
POST /api/v1/admin/requests/{username}/decline token
Parameters
username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_waiting` (that request was answered already, or never waited (409))
-
GET /api/v1/admin/settings token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge)
-
PATCH /api/v1/admin/settings token
Body
signup string quotas object forgeRepo string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_body` (none of signup, quotas or forgeRepo was sent, or more than one was); `invalid_forge_repo` (forgeRepo is not owner/name or null); `invalid_signup` (signup is not open, invite or closed); `no_such_quota` (a quota key is unknown); `invalid_quota` (a quota is not a positive whole number or null); `not_found` (the token i
-
GET /api/v1/admin/shield token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a forge admin (404)); `not_admin` (the person's role may not administer the forge (403))
-
PUT /api/v1/admin/shield token
Body
state open, ceiling or signin 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `not_admin` (the person's role may not administer the forge (403)); `no_such_state` (state is not open, ceiling or signin (422))
-
GET /api/v1/admin/subscriptions token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_admin` (the caller is not a forge admin (403))
-
GET /api/v1/admin/teams token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge)
-
PUT /api/v1/admin/teams/{slug} token
Parameters
slug path string required Body
charter string dial integer members array of agent ids 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_body` (charter is not text, dial not a number, or members not a list of agent ids (422)); `not_found` (no such team, or the token is not a person who administers the forge (404)); `bad_dial` (dial is not a whole number in range (422)); `bad_charter` (the charter is too long (422)); `over_100` (the teams' dials together woul
-
GET /api/v1/admin/traffic/probe token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge, or the scope names no app)
-
POST /api/v1/first-admin
Body
code string username string email string scope string name string expiresIn integer 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `too_large` (413, the body is over the limit for a stranger's); `invalid_scope` (422, scope is not ro, rw or admin); `invalid_expiry` (422, expiresIn is not whole seconds in range); `rate_limited` (429, too many attempts from here; retry-after says when); `refused` (403, the code does not work or this forge already has an admin); `i
-
POST /api/v1/first-admin/recover
Body
code string scope string name string expiresIn integer 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `too_large` (413, the body is over the limit for a stranger's); `invalid_scope` (422, scope is not ro, rw or admin); `invalid_expiry` (422, expiresIn is not whole seconds in range); `rate_limited` (429, too many attempts from here; retry-after says when); `refused` (403, the code does not work)
apps 30
-
GET /api/v1/app-templates token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals:
-
GET /api/v1/apps
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/apps token
Body
name string owner string description string sentence string visibility string agent string pick boolean template string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unverified` (the account has not verified its email); `no_name` (no `name`, and the `sentence` leaves nothing to make one from); `app_limit` (the owner is at the app limit); `no_such_agent` (`agent` names no one on the crew); `slug_taken` (another app already has this name's slug); `name_taken` (the owner already has a repository o
-
GET /api/v1/repos/{owner}/{name}/app
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/app token
Parameters
owner path string required name path string required Body
slug string access string previewData string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `app_limit` (the owner is at the app limit)
-
DELETE /api/v1/repos/{owner}/{name}/app token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
PATCH /api/v1/repos/{owner}/{name}/app token
Parameters
owner path string required name path string required Body
slug string access string previewData string 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/app/domains token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/app/domains token
Parameters
owner path string required name path string required Body
host string 201 Done
default An error: { error, message }; `error` is a stable code
-
DELETE /api/v1/repos/{owner}/{name}/app/domains/{host} token
Parameters
owner path string required name path string required host path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/app/domains/{host}/check token
Parameters
owner path string required name path string required host path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/app/env token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
PUT /api/v1/repos/{owner}/{name}/app/env/{var} token
Parameters
owner path string required name path string required var path string required Body
value string scope string 200 Done
default An error: { error, message }; `error` is a stable code
-
DELETE /api/v1/repos/{owner}/{name}/app/env/{var} token
Parameters
owner path string required name path string required var path string required scope query string 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/app/members token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
PUT /api/v1/repos/{owner}/{name}/app/members token
Parameters
owner path string required name path string required Body
members object[] dryRun boolean 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (`members` is not a list of usernames)
-
GET /api/v1/repos/{owner}/{name}/app/notes token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such repository, or it is not an app); `forbidden` (not an admin of the repository, or a read-only token)
-
POST /api/v1/repos/{owner}/{name}/app/notes/{id}/ban token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such repository, app or note); `forbidden` (not an admin of the repository, or a read-only token)
-
POST /api/v1/repos/{owner}/{name}/app/notes/{id}/hide token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such repository, app or note); `forbidden` (not an admin of the repository, or a read-only token)
-
POST /api/v1/repos/{owner}/{name}/app/notes/{id}/unban token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such repository, app or note); `forbidden` (not an admin of the repository, or a read-only token)
-
GET /api/v1/repos/{owner}/{name}/app/production/open
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/app/pull token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/app/pulls
Parameters
owner path string required name path string required limit query integer 200 Done
Fields
items object[] default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository or app, or not the caller's to read); `invalid_limit` (422: limit is not a whole number from 1 to 100)
-
GET /api/v1/repos/{owner}/{name}/app/{env}/open
Parameters
owner path string required name path string required env path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository or app, or not the caller's to see); `no_such_env` (422: `env` is not an environment name); `no_runtime` (422: this forge runs no apps); `unauthorized` (401: a private app and no signed-in account)
-
POST /api/v1/repos/{owner}/{name}/app/{env}/redeploy token
Parameters
owner path string required name path string required env path string required 202 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/app/{env}/stop token
Parameters
owner path string required name path string required env path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/data token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/data/{env}/{file}/query token
Parameters
owner path string required name path string required env path string required file path string required Body
sql string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_sql` (sql is not one SELECT or WITH statement, or SQLite refused it (422)); `timeout` (the query ran past 5 seconds (422)); `busy` (other queries are running; try again (429))
-
GET /api/v1/repos/{owner}/{name}/data/{env}/{file}/rows token
Parameters
owner path string required name path string required env path string required file path string required table query string page query integer 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_table` (table is missing (422)); `invalid_page` (page is not a whole number from 0 (422))
-
GET /api/v1/repos/{owner}/{name}/data/{env}/{file}/tables token
Parameters
owner path string required name path string required env path string required file path string required 200 Done
default An error: { error, message }; `error` is a stable code
asks 8
-
GET /api/v1/asked token
Parameters
show query string order query string repo query string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_show` (show is all, unshipped or flagged); `invalid_order` (order is oldest or newest)
-
GET /api/v1/asks token
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/asks/bulk token
Body
action string items object[] reason string preview boolean 200 Done
201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_action` (`action` is unknown, `items` is not a list of ask ids, or `reason` is not a sentence or not for this action (422)); `too_many` (more than 100 asks at once (429))
-
POST /api/v1/asks/bulk/{id}/undo token
Parameters
id path string required 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such asks operation here); `already_undone` (the operation was undone already (409)); `expired` (too long has passed to undo it (409))
-
POST /api/v1/asks/decide token
Body
item string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_action` (the ask is not a hand-over, or no decider is set up on this forge (422)); `not_found` (the ask no longer asks the caller); `too_many` (the decider answered this a moment ago; try again in a few minutes (429))
-
POST /api/v1/asks/decide/{id}/undo token
Parameters
id path string required 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such decision); `expired` (a day has passed; it stays set aside (409))
-
POST /api/v1/asks/give-back token
Body
item string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_action` (the ask is not a hand-over, or no crew builder worked on the pull); `not_found` (the ask no longer asks the caller)
-
POST /api/v1/asks/proposal/{id}/{verb} token
Parameters
id path string required verb path string required Body
words string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (a proposal is the owner's to decide, or the caller is not on the crew (403)); `conflict` (it was already decided (409)); `invalid` (no words for redirect, too long, no planner or direction issue, or the app is archived (422)); `not_found` (no such proposal, or no such verb)
billing 5
-
GET /api/v1/credit token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no parent funds this forge)
-
POST /api/v1/repos/{owner}/{name}/spend token
Parameters
owner path string required name path string required Body
who string tokensIn integer tokensOut integer usd number model string note string issue integer 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (who is 1 to 100 characters and some spend is given (tokensIn, tokensOut whole numbers; usd 0 to 10000); note is at most 500)
-
GET /api/v1/repos/{owner}/{name}/usage token
Parameters
owner path string required name path string required days query integer 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_days` (days is not a whole number from 1 to 90)
-
GET /api/v1/returns token
Parameters
repo query string days query integer 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_days` (days is not a whole number in range)
-
GET /api/v1/usage token
200 Done
default An error: { error, message }; `error` is a stable code
builds 15
-
POST /api/v1/builds token
Body
prompt string template string 201 Done
Fields
conversation string repo string branch string default An error: { error, message }; `error` is a stable code. Refusals: `invalid_template` (the template is not owner/name (422)); `bad_template` (the template is not one on offer to you (422)); `rate_limited` (at most 5 builds an hour (429)); `too_many_builds` (you hold 10 builds that are not published (429)); `unauthorized` (sign in (401)); `forbidden` (the request is cross-origin, or the token may on
-
GET /api/v1/repos/{owner}/{name}/builds
Parameters
owner path string required name path string required 200 Done
Fields
items object[] next_cursor null 304 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository, or it is not readable)
-
POST /api/v1/repos/{owner}/{name}/builds token
Parameters
owner path string required name path string required Body
label string sha string note string parent string source string 201 Done
Fields
label string oid string note string parent string source string pinnedBy string pinnedAt string default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: not a person who writes the repository (an agent is refused)); `not_found` (404: no such repository, or the caller cannot read it); `invalid_label` (422: the label is not a valid pin name); `invalid_parent` (422: `parent` is neither a label nor `owner/name:label`); `not_a_commit` (422: `sha` names no commit of the
-
POST /api/v1/repos/{owner}/{name}/builds/preview token
Parameters
owner path string required name path string required Body
sha string 201 Done
Fields
env string url string default An error: { error, message }; `error` is a stable code
-
DELETE /api/v1/repos/{owner}/{name}/builds/{label} token
Parameters
owner path string required name path string required label path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: not a person who writes the repository (an agent is refused)); `not_found` (404: no such repository or pin, or the caller cannot read it); `mirrored` (409: the repository mirrors an origin); `moved` (409: the pin changed while it was being deleted); `git_failed` (422: git refused the change)
-
PATCH /api/v1/repos/{owner}/{name}/builds/{label} token
Parameters
owner path string required name path string required label path string required Body
notes string note string body string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: not a person who writes the repository (an agent is refused)); `not_found` (404: no such repository or pin, or the caller cannot read it); `invalid_note` (422: the notes pass 10 KB, or `note` is not one line of at most 200 characters); `mirrored` (409: the repository mirrors an origin); `moved` (409: the pin change
-
GET /api/v1/repos/{owner}/{name}/builds/{label}/cart
Parameters
owner path string required name path string required label path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/builds/{label}/cart token
Parameters
owner path string required name path string required label path string required 202 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: not a person who writes the repository (an agent is refused)); `not_found` (404: no such repository or pin, or the caller cannot read it); `mirrored` (409: the repository mirrors an origin); `moved` (409: the pin changed while it was written); `invalid_demo` (422: a name over 60 or version over 40 characters, more
-
GET /api/v1/repos/{owner}/{name}/builds/{label}/shots
Parameters
owner path string required name path string required label path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/builds/{label}/shots token
Parameters
owner path string required name path string required label path string required 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: not a person who writes the repository (an agent is refused)); `not_found` (404: no such repository or pin, or the caller cannot read it); `mirrored` (409: the repository mirrors an origin); `moved` (409: the screenshots changed since `at` was read); `git_failed` (422: git refused the change); `invalid_shot` (422:
-
GET /api/v1/repos/{owner}/{name}/builds/{label}/shots/looks
Parameters
owner path string required name path string required label path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/builds/{label}/shots/looks token
Parameters
owner path string required name path string required label path string required Body
looks object[] 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: not a person who writes the repository (an agent is refused)); `not_found` (404: no such repository or pin, or the caller cannot read it); `mirrored` (409: the repository mirrors an origin); `moved` (409: the screenshots changed since `at` was read); `git_failed` (422: git refused the change); `nothing_picked` (422
-
POST /api/v1/repos/{owner}/{name}/builds/{label}/shots/{file} token
Parameters
owner path string required name path string required label path string required file path string required Body
caption string move string at string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: not a person who writes the repository (an agent is refused)); `not_found` (404: no such repository or pin, or the caller cannot read it); `mirrored` (409: the repository mirrors an origin); `moved` (409: the screenshots changed since `at` was read); `git_failed` (422: git refused the change); `no_such_shot` (404:
-
DELETE /api/v1/repos/{owner}/{name}/builds/{label}/shots/{file} token
Parameters
owner path string required name path string required label path string required file path string required at query string 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: not a person who writes the repository (an agent is refused)); `not_found` (404: no such repository or pin, or the caller cannot read it); `mirrored` (409: the repository mirrors an origin); `moved` (409: the screenshots changed since `at` was read); `git_failed` (422: git refused the change); `no_such_shot` (404:
-
PUT /api/v1/repos/{owner}/{name}/display/builds token
Parameters
owner path string required name path string required Body
builds object[] 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_json` (the body is not JSON (400)); `invalid` (the body is malformed or names a build that is not there (422)); `no_display` (the repository has no display.json (404)); `too_large` (the body is too large (413))
contract 2
-
GET /api/v1/openapi.json
308 Done
default An error: { error, message }; `error` is a stable code
-
GET /contract/openapi.json
200 Done
default An error: { error, message }; `error` is a stable code
conversations 16
-
POST /api/v1/conversation-confirms/{id}
Parameters
id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such confirm of the person's); `answered` (the confirm was already answered (409)); `expired` (the confirm is 10 minutes old or more (410)); `forbidden` (the request is cross-origin, or the action is no longer the person's to take)
-
POST /api/v1/conversation-tokens
Body
conversation string words string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_conversation` (conversation is not 1 to 40 lowercase letters or digits, or not one of the person's own); `invalid_words` (words is not a string of at most 20000 characters); `forbidden` (the request is cross-origin)
-
POST /api/v1/conversation/files token
201 Done
Fields
id string name string type string size integer default An error: { error, message }; `error` is a stable code. Refusals: `empty` (the file is empty (422)); `too_large` (an image is over 5 MB or a text file over 100 KB (413)); `bad_type` (not a supported image or text file (415)); `too_many` (four files are waiting for a message already (422)); `storage_full` (the file does not fit in the 50 MB kept, even after the oldest sent files are dropped (507));
-
GET /api/v1/conversation/files/{id} token
Parameters
id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such attachment (404))
-
DELETE /api/v1/conversation/files/{id} token
Parameters
id path string required 200 Done
Fields
ok boolean default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such unsent attachment of yours (404)); `forbidden` (the request is cross-origin, or the token may only read)
-
POST /api/v1/conversation/messages token
Body
text string conversation string 202 Done
Fields
how string default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (conversation names none of the person's (404)); `invalid_text` (text is not a string of 1 to 20000 characters); `invalid_during` (during is not queue or steer); `file_taken` (an attached file already waits in a queued message (409)); `queue_full` (five messages already wait (429)); `too_large` (the body is over 128000 b
-
DELETE /api/v1/conversation/queue/{id} token
Parameters
id path string required 200 Done
Fields
ok boolean default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such waiting message of yours (404)); `forbidden` (the request is cross-origin, or the token may only read)
-
POST /api/v1/conversation/stop token
202 Done
Fields
stopped boolean default An error: { error, message }; `error` is a stable code. Refusals: `idle` (no answer is running (409)); `off` (the forge's agent is not running here (503)); `forbidden` (the request is cross-origin, or the token may only read)
-
GET /api/v1/conversation/turns token
Parameters
limit query integer before query string conversation query string 200 Done
Fields
running boolean turns object[] default An error: { error, message }; `error` is a stable code
-
GET /api/v1/conversations token
Parameters
archived query string 200 Done
Fields
conversations object[] default An error: { error, message }; `error` is a stable code
-
POST /api/v1/conversations token
Body
title string 201 Done
Fields
conversation object default An error: { error, message }; `error` is a stable code. Refusals: `invalid_title` (title is over 80 characters or has a line break (422)); `forbidden` (the request is cross-origin, or the token is read-only)
-
PATCH /api/v1/conversations/{id} token
Parameters
id path string required Body
title string archived boolean 200 Done
Fields
conversation object default An error: { error, message }; `error` is a stable code. Refusals: `invalid_title` (title is over 80 characters or has a line break (422)); `not_found` (no such conversation of yours (404)); `forbidden` (the request is cross-origin, or the token is read-only)
-
GET /api/v1/conversations/{id}/build token
Parameters
id path string required 200 Done
Fields
repo string versions object[] published boolean default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such build of yours (404)); `unauthorized` (sign in (401)); `forbidden` (the request is cross-origin, or the token may only read)
-
POST /api/v1/conversations/{id}/build/publish token
Parameters
id path string required 200 Done
Fields
published boolean default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such build of yours (404)); `unauthorized` (sign in (401)); `forbidden` (the request is cross-origin, or the token may only read)
-
POST /api/v1/conversations/{id}/build/restore token
Parameters
id path string required Body
version number 201 Done
Fields
version object default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such build of yours (404)); `unauthorized` (sign in (401)); `forbidden` (the request is cross-origin, or the token may only read)
-
GET /api/v1/conversations/{id}/build/versions/{n}/diff token
Parameters
id path string required n path string required 200 Done
Fields
files object[] default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such build of yours (404)); `unauthorized` (sign in (401)); `forbidden` (the request is cross-origin, or the token may only read)
crew 17
-
GET /api/v1/agents token
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/agents token
Body
username string displayName string model string brief string budgetUsd integer 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (a token below admin scope); `unauthorized` (no account)
-
GET /api/v1/agents/{username}
Parameters
username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such agent, or not yours to see)
-
DELETE /api/v1/agents/{username} token
Parameters
username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (a token below admin scope); `not_found` (no such agent)
-
PATCH /api/v1/agents/{username} token
Parameters
username path string required Body
model string brief string budgetUsd integer 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (a token below admin scope)
-
GET /api/v1/crew/now token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent)
-
GET /api/v1/crew/scorecard token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent); `forbidden` (the caller is not a forge admin)
-
GET /api/v1/crew/week token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent); `forbidden` (the caller is not a forge admin)
-
GET /api/v1/fleet/graph token
Parameters
repo query string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_selection` (`repo` is not a list of owner/name)
-
GET /api/v1/fleet/ops token
Parameters
limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422))
-
POST /api/v1/fleet/ops token
Body
query string action object dryRun boolean 201 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/fleet/ops/{id}
Parameters
id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/fleet/ops/{id}/undo token
Parameters
id path string required 201 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/fleet/rows
Parameters
q query string sort query string 200 Done
Fields
kind string columns object[] items object[] default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (q is empty, over 500 characters, or does not parse; the reason is the message (422)); `invalid_sort` (sort is not a column of the kind (422))
-
GET /api/v1/repos/{owner}/{name}/crew
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
PUT /api/v1/repos/{owner}/{name}/crew/{username} token
Parameters
owner path string required name path string required username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `no_such_agent` (`username` names no one (422)); `not_an_agent` (`username` is a person, not an agent (422)); `unverified` (the caller's email is unproven (403))
-
DELETE /api/v1/repos/{owner}/{name}/crew/{username} token
Parameters
owner path string required name path string required username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `no_such_agent` (`username` names no one on the crew)
egress-grants 3
-
GET /api/v1/repos/{owner}/{name}/egress-grants token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/egress-grants token
Parameters
owner path string required name path string required Body
destination string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (`destination` is not acceptable (422))
-
DELETE /api/v1/repos/{owner}/{name}/egress-grants token
Parameters
owner path string required name path string required Body
destination string 200 Done
default An error: { error, message }; `error` is a stable code
feed 12
-
GET /api/v1/explore
Parameters
q query string cursor query string 200 Done
304 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
GET /api/v1/feed token
Parameters
limit query integer cursor query string before query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 50 (422)); `invalid_cursor` (the cursor was not issued here (422))
-
GET /api/v1/feed/chips token
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/feed/chips token
Body
kind string value string hidden boolean 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_hidden` (hidden is not true or false (422)); `invalid_chip` (`kind` is neither `kind` nor `person`, or that kind of post has no chip (422)); `not_found` (no such person, or an organization)
-
POST /api/v1/feed/interactions token
Body
item string kind string app string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_item` (`item` is not a feed item id (422)); `invalid_kind` (`kind` is not one the feed knows (422)); `not_found` (the item or repository is not one the caller can read)
-
GET /api/v1/feed/likes token
Parameters
item query string app query string before query string 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/feed/tells token
Body
app string text string variants integer from string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_text` (`text` is empty or over 2000 characters (422)); `invalid_variants` (`variants` is not a whole number from 1 to 4 (400)); `invalid_from` (`from` is not a same-forge path of at most 512 characters (400)); `not_found` (`app` names no repository the caller can read (404)); `forbidden` (the caller may not direct the crew
-
GET /api/v1/front
200 Done
default An error: { error, message }; `error` is a stable code
-
PUT /api/v1/front token
Body
pinned object[] hidden object[] weights object 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (the picks are malformed or name no repository (422)); `forbidden` (the front page is a site admin's to set (403))
-
GET /api/v1/search
Parameters
q query string kind query string limit query integer 200 Done
Fields
repos object[] issues object[] code object[] truncated object moreCode boolean codeSkipped boolean note string, only when q is blank: what to send default An error: { error, message }; `error` is a stable code. Refusals: `invalid_kind` (kind is not all, repos, issues or code (422)); `invalid_limit` (limit is not a whole number from 1 to 100 (422))
-
POST /api/v1/thoughts token
Body
text string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (text is not a string within the length limit)
forges 37
-
GET /api/v1/boards token
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/boards/pins token
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/boards/pins token
Body
op string slug string title string by integer 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_json` (the body is not a JSON object (400)); `invalid` (`op` is not pin, unpin or move (422)); `too_many` (there are too many pins (422)); `not_a_panel` (slug and title name no panel (422)); `not_found` (no such board)
-
POST /api/v1/boards/query token
Body
source string from string to string filter object[] groupBy object step integer aggregate string column string series string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_json` (the body is not JSON (400)); `bad_query` (the query is refused (400): an unknown source (`unknown source: "x"`, see GET /api/v1/boards/sources), column, op, bucket or aggregate, a bad date, or too many points); `too_large` (the body is too large (413))
-
GET /api/v1/boards/sources token
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/boards/{slug} token
Parameters
slug path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
PUT /api/v1/boards/{slug} token
Parameters
slug path string required Body
title string range string refresh string panels object[] 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_json` (the body is not JSON (400)); `refused` (the board or a panel's query is refused, with the reason (422)); `invalid` (the board is malformed (422)); `too_many` (the owner is at the board limit (422)); `exists` (the board already exists (409)); `branch_moved` (the boards changed while writing (409)); `too_large` (the body i
-
DELETE /api/v1/boards/{slug} token
Parameters
slug path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/boards/{slug}/panels/{id} token
Parameters
slug path string required id path string required format query string from query string to query string step query string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_format` (format is not json or csv (422)); `invalid_window` (from, to or step is not a window (422)); `bad_query` (the panel's query cannot run (400))
-
GET /api/v1/cloud/accounts token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (a read-only token cannot list cloud accounts); `not_found` (only a forge administrator sees this route)
-
GET /api/v1/family
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/forge
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: this forge was not spawned)
-
GET /api/v1/forge/economics token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `not_admin` (the person's role may not administer the forge (403))
-
PUT /api/v1/forge/economics token
Body
position whole number 0-100 marginPct whole number 0-500 ownedNodeLabel node label key=value, e.g. plat.sh/site=vxrail ownedMonthUsd US dollars per month for the owned box, 0-1000000, at most two decimals ownedSlots whole number of app-slots the owned box holds, 0-10000 cloudHourUsd US dollars per awake-hour on cloud, 0-1000000, at most two decimals storageGbMonthUsd US dollars per GB-month kept, 0-1000000, at most two decimals awakePriceHourUsd list price a customer pays, US dollars per awake-hour, 0-1000000, at most two decimals storagePriceGbMonthUsd list price a customer pays, US dollars per GB-month kept, 0-1000000, at most two decimals 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `not_admin` (the person's role may not administer the forge (403)); `bad_position` (position is not a whole number from 0 to 100 (422)); `bad_margin` (marginPct is not a whole number from 0 to 500 (422)); `bad_price` (a price is not US dollars from 0 to 1000000
-
PATCH /api/v1/forge/following token
Body
mode string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_following` (404: this repository follows nothing across forges); `forbidden` (403: only this forge's owner can change how it follows); `invalid_mode` (422: mode is not one the forge knows); `severed` (409: this forge is severed and follows nothing)
-
GET /api/v1/forge/view token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent)
-
GET /api/v1/forges token
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/forges token
Body
name string apps object[] crew object[] dryRun boolean direction string keepAccess boolean size string plan string (a key from GET /api/v1/plans; gives the size and a monthly crew credit; a paid plan is a forge admin's until payment exists) for string fresh boolean followMode string budgetUsd number modelKey string modelEndpoint string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (a field is missing or not valid); `rate_limited` (a stranger has started enough forges today)
-
GET /api/v1/forges/sizes
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/forges/templates
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/forges/{name}/claim-link token
Parameters
name path string required 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no child forge has this name); `forbidden` (the caller is not a site admin); `claimed` (the forge is already claimed)
-
PUT /api/v1/forges/{name}/credit token
Parameters
name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no child forge has this name); `forbidden` (the caller is not a site admin); `invalid` (usd is not dollars in range)
-
GET /api/v1/forges/{name}/plan token
Parameters
name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `no_such_forge` (no child forge has this name (404))
-
PUT /api/v1/forges/{name}/plan token
Parameters
name path string required Body
plan small, medium or large 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the token is not a person who administers the forge (404)); `no_such_forge` (no child forge has this name (404)); `bad_plan` (plan is not small, medium or large (422))
-
POST /api/v1/migrate token
Body
source object owner string name string visibility string branch string after string crew object 202 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `invalid_source` (422: source is neither { url } nor { originId, fullName }); `invalid_after` (400: `after` is not leave, archive or mirror); `unverified` (403: the account has not verified its email); `repository_limit` (403: the owner is at the repository limit); `storage_limit` (403: th
-
GET /api/v1/migrate/{job} token
Parameters
job path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `not_found` (404: no such job, or not the caller's)
-
GET /api/v1/migrate/{job}/stream token
Parameters
job path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `not_found` (404: no such job, or not the caller's)
-
POST /api/v1/orgs token
Body
name string 201 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/orgs/{org}
Parameters
org path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/orgs/{org}/teams
Parameters
org path string required limit query integer cursor query string 200 Done
304 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
POST /api/v1/orgs/{org}/teams token
Parameters
org path string required Body
name string permission string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such organisation, or not yours to see)
-
DELETE /api/v1/orgs/{org}/teams/{team} token
Parameters
org path string required team path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such team)
-
GET /api/v1/orgs/{org}/teams/{team}/members
Parameters
org path string required team path string required limit query integer cursor query string 200 Done
304 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
POST /api/v1/orgs/{org}/teams/{team}/members token
Parameters
org path string required team path string required Body
user string 201 Done
default An error: { error, message }; `error` is a stable code
-
DELETE /api/v1/orgs/{org}/teams/{team}/members/{username} token
Parameters
org path string required team path string required username path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such team, or the user is not in it); `last_owner` (409, an organisation keeps at least one owner; make someone else an owner first)
-
GET /api/v1/plans
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/start
Body
name string description string agent string code string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `off` (403, the owner turned the start call off); `code_needed` (403, this forge asks for an open invite link's token as `code`); `rate_limited` (429, too many starts from this source; retry-after says when); `full` (429, the forge has started its share for today); `too_large` (413, the body is over the limit for a stranger's); `inv
forks 15
-
GET /api/v1/contribute
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/contribute token
Parameters
owner path string required name path string required Body
branch string base string message string files object[] openPull object 201 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/following
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_a_fork` (404: this repository follows nothing)
-
POST /api/v1/repos/{owner}/{name}/following/converge token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_a_fork` (404: this repository follows nothing); `forbidden` (403: only someone who may direct the crew); `archived` (409: the repository is archived); `ceiling` (429: the crew is at its ceiling)
-
GET /api/v1/repos/{owner}/{name}/following/proposals
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/following/propose token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_a_fork` (404: this repository follows nothing); `nothing_to_propose` (409: nothing here is ahead of the parent); `refused` (409: the parent refused, with the reason)
-
POST /api/v1/repos/{owner}/{name}/following/propose-parent token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `no_parent_forge` (404: this repository has no parent forge to propose to); `nothing_to_propose` (409: nothing here is ahead of the parent forge); `parent_unreachable` (502: the parent forge did not answer); `refused` (409: the parent forge refused, with the reason)
-
POST /api/v1/repos/{owner}/{name}/following/sever token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_following` (404: this repository follows nothing across forges)
-
POST /api/v1/repos/{owner}/{name}/following/take token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_a_fork` (404: this repository follows nothing); `not_following` (404: this repository follows nothing across forges); `conflict` (409: both sides changed these files; the crew was told; { files, converge, issue }); `moved` (409: something moved while this was read; try again)
-
GET /api/v1/repos/{owner}/{name}/forks
Parameters
owner path string required name path string required limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422)); `invalid_cursor` (cursor is not the next_cursor of a page before, or names a row deleted since (422))
-
POST /api/v1/repos/{owner}/{name}/forks token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/make-it-yours token
Parameters
owner path string required name path string required Body
dryRun boolean name string visibility string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (422: visibility is public or private); `own` (409: this app is already yours); `unverified` (403: prove your email first); `limit` (429: at most so many copies a day; { resetsAt }); `repository_limit` (403: at the repository limit); `storage_limit` (403: at the storage limit); `not_member` (403: not a member)
-
GET /api/v1/repos/{owner}/{name}/upstream token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
PUT /api/v1/repos/{owner}/{name}/upstream token
Parameters
owner path string required name path string required Body
url string branch string enabled boolean 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_enabled` (422: enabled is true or false); `invalid_url` (422: not an https or http git address); `invalid_branch` (422: not a branch name git accepts); `not_found` (404: no such repository, or it is not readable by the caller)
-
POST /api/v1/repos/{owner}/{name}/upstream/check token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `busy` (409: a check is already running); `invalid_url` (422: not an https or http git address)
gates 2
-
GET /api/v1/repos/{owner}/{name}/gates/{id}/log
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/queue/gates
Parameters
owner path string required name path string required limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
hooks 8
-
GET /api/v1/repos/{owner}/{name}/hooks token
Parameters
owner path string required name path string required limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422)); `invalid_cursor` (cursor is not the next_cursor of a page before, or names a row deleted since (422))
-
POST /api/v1/repos/{owner}/{name}/hooks token
Parameters
owner path string required name path string required Body
url string kinds string secret string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (`url` or `kinds` is not acceptable (422))
-
DELETE /api/v1/repos/{owner}/{name}/hooks/{id} token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/hooks/{id}/deliveries token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/hooks/{id}/deliveries/{delivery}/redeliver token
Parameters
owner path string required name path string required id path string required delivery path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/hooks/{id}/pause token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/hooks/{id}/ping token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/hooks/{id}/resume token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code
issues 17
-
GET /api/v1/repos/{owner}/{name}/issues
Parameters
owner path string required name path string required state query enum(open, closed, all) limit query integer cursor query integer label query string author query string fields query enum(brief) 200 Done
304 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422)); `invalid_cursor` (cursor is not the next_cursor of a previous page (422)); `invalid_state` (state is not open, closed or all (422))
-
POST /api/v1/repos/{owner}/{name}/issues token
Parameters
owner path string required name path string required Body
title string body string 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/issues/{number}
Parameters
owner path string required name path string required number path integer required comments query integer 200 Done
304 Done
default An error: { error, message }; `error` is a stable code
-
PATCH /api/v1/repos/{owner}/{name}/issues/{number} token
Parameters
owner path string required name path string required number path integer required Body
state string reason string into integer 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (Refused. A planner is told the rule: done needs an "already done on main" note naming commits on main; dropped is refused because a person's ask stands in the issue (split, replace or defer it); split needs open issues opened after the hand-over time it names; any other close is not the planner's. Any other caller is to
-
PUT /api/v1/repos/{owner}/{name}/issues/{number}/assignee token
Parameters
owner path string required name path string required number path integer required Body
assignee string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_assignee` (`assignee` is neither a username nor null (422)); `no_such_user` (`assignee` names no account (422))
-
GET /api/v1/repos/{owner}/{name}/issues/{number}/comments
Parameters
owner path string required name path string required number path integer required after query string cursor query string limit query integer 200 Done
304 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
POST /api/v1/repos/{owner}/{name}/issues/{number}/comments token
Parameters
owner path string required name path string required number path integer required Body
body string 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/issues/{number}/dependencies
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/issues/{number}/dependencies token
Parameters
owner path string required name path string required number path integer required Body
blockedBy integer 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `no_such_issue` (`blockedBy` names no issue in this repository (422)); `self` (an issue cannot wait for itself (422)); `cycle` (that would make a loop (422)); `cross_repo` (dependencies stay inside one repository (422)); `not_an_issue` (only issues can depend on issues (422))
-
DELETE /api/v1/repos/{owner}/{name}/issues/{number}/dependencies/{blocker} token
Parameters
owner path string required name path string required number path integer required blocker path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/issues/{number}/dependencies/{blocker}/confirm token
Parameters
owner path string required name path string required number path integer required blocker path integer required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such issue or blocker, or not yours to see (404)); `unauthorized` (no account (401)); `forbidden` (not a person who writes to the repository, or a crew member (403))
-
PUT /api/v1/repos/{owner}/{name}/issues/{number}/labels token
Parameters
owner path string required name path string required number path integer required Body
labels object[] 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unknown_label` (a name or id in the set names no label of the repository); `forbidden` (the caller cannot write to the repository); `mirrored` (the repository mirrors an origin; do it there); `origin_owner_only` (only the person who connected the origin can write through it); `origin_unreachable` (the origin could not be reached (5
-
GET /api/v1/repos/{owner}/{name}/issues/{number}/plan
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
PUT /api/v1/repos/{owner}/{name}/issues/{number}/plan token
Parameters
owner path string required name path string required number path integer required Body
items object[] ask string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (items is not a list of up to 12 { text, done? }, or ask is not text); `forbidden` (the caller is neither a writer nor on the repository's crew)
-
POST /api/v1/repos/{owner}/{name}/issues/{number}/private token
Parameters
owner path string required name path string required number path integer required 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such issue, or sealed reports are not the caller's to see); `not_sealed` (the issue is not sealed, so it has nothing to hide); `unverified` (the account has not verified its email); `name_taken` (the owner already has a repository of the private name); `limit` (the owner is at the daily fork limit); `fork_failed` (th
-
GET /api/v1/repos/{owner}/{name}/issues/{number}/teams
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
PUT /api/v1/repos/{owner}/{name}/issues/{number}/teams token
Parameters
owner path string required name path string required number path integer required Body
teams object[] 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `too_many` (more teams than an issue may name); `no_such_team` (a slug names no team); `mirrored` (the repository mirrors an origin; do it there); `forbidden` (the caller cannot write to the repository)
labels 4
-
GET /api/v1/repos/{owner}/{name}/labels
Parameters
owner path string required name path string required limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422)); `invalid_cursor` (cursor is not the next_cursor of a page before, or names a row deleted since (422))
-
POST /api/v1/repos/{owner}/{name}/labels token
Parameters
owner path string required name path string required Body
name string color string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (422: the name is empty or the color is not six hex digits); `taken` (422: a label of that name exists (any case))
-
DELETE /api/v1/repos/{owner}/{name}/labels/{id} token
Parameters
owner path string required name path string required id path string required 204 Done
default An error: { error, message }; `error` is a stable code
-
PATCH /api/v1/repos/{owner}/{name}/labels/{id} token
Parameters
owner path string required name path string required id path string required Body
name string color string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (a token below admin scope)
meta 29
-
GET /api/v1
200 Done
default An error: { error, message }; `error` is a stable code. Refusals:
-
GET /api/v1/changelog
Parameters
repo query string 200 Done
304 Done
default An error: { error, message }; `error` is a stable code. Refusals:
-
POST /api/v1/devices/{id}/print token
Parameters
id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: the app holds no grant on this device); `rate_limited` (429: the app started more than 10 prints in a minute, or has 2 in flight); `too_large` (422: the PDF is over the size bound); `not_pdf` (422: the body is not a PDF); `too_many_pages` (422: the PDF has more pages than the grant allows); `pages_unknown` (422: th
-
POST /api/v1/drills token
Body
domain string seen object backSeconds integer 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unknown_domain` (`domain` is not one of the forge's failure domains); `invalid_seen` (`seen` needs health and board as text); `invalid_back` (`backSeconds` is not a whole number of seconds, 0 to 31536000); `too_large` (the body is too large)
-
GET /api/v1/features token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (you are not a site admin)
-
GET /api/v1/features/{slug}
Parameters
slug path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such app, or one you may not read); `not_a_feature` (the app's forge.json declares no feature (422))
-
PUT /api/v1/features/{slug} token
Parameters
slug path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such app, or one you may not read); `forbidden` (you are not a site admin (403)); `not_a_feature` (the app's forge.json declares no feature, or declares it wrongly (422))
-
DELETE /api/v1/features/{slug} token
Parameters
slug path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such app, or one you may not read); `forbidden` (you are not a site admin (403)); `not_absorbed` (the app is not absorbed (409))
-
GET /api/v1/features/{slug}/feed
Parameters
slug path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such app, or one you may not read); `not_a_feature` (the app's forge.json declares no feature (422))
-
PATCH /api/v1/features/{slug}/settings token
Parameters
slug path string required Body
settings object 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such app, or one you may not read); `forbidden` (you are not a site admin (403)); `not_absorbed` (the app is not absorbed (409)); `invalid_setting` (a setting is unknown or its value does not fit; the message names it (422))
-
GET /api/v1/flags token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (the token is not a person who administers the forge)
-
GET /api/v1/health
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/heartbeat
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the beat is not signed by a child of this forge)
-
GET /api/v1/here
Parameters
path query string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: the path names no page you can read)
-
GET /api/v1/keeper
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (the release history is for the forge's administrators and its repository's readers)
-
GET /api/v1/map
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/packs
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/packs/{name}
Parameters
name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such pack)
-
PUT /api/v1/packs/{name} token
Parameters
name path string required Body
title string, at most 80 pitch string, at most 300 brief string, at most 4000 repos list of owner/name 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (the caller is not a site admin who is a person (403)); `invalid` (a field is the wrong shape, or a repo is not owner/name (422)); `not_found` (no such pack (404))
-
GET /api/v1/releases
Parameters
shipped query boolean 200 Done
304 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (the release history is for the forge's administrators and its repository's readers); `invalid_shipped` (shipped is true or absent (422))
-
GET /api/v1/repos/{owner}/{name}/map
Parameters
owner path string required name path string required done query string 200 Done
304 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/telemetry/flow token
200 Done
304 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/telemetry/history token
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/telemetry/home token
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/telemetry/sources token
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/telemetry/system token
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/version
200 Done
default An error: { error, message }; `error` is a stable code. Refusals:
-
POST /mcp token
Body
jsonrpc string id integer method string params object 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /metrics token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404, the caller is not a site admin)
milestones 5
-
GET /api/v1/repos/{owner}/{name}/milestones
Parameters
owner path string required name path string required limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
GET /api/v1/repos/{owner}/{name}/milestones/{number}
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/milestones/{number}/limb token
Parameters
owner path string required name path string required number path integer required Body
action string dryRun boolean reason string pillar string under string 200 Done
201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_action` (action is not defer, resume, close, raise, lower, replan or takeback (422)); `not_found` (no such repository or milestone, or not yours to see); `unauthorized` (no account); `forbidden` (the caller may not act on this limb)
-
PUT /api/v1/repos/{owner}/{name}/milestones/{number}/watch token
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: only a person watches a milestone); `not_found` (404: no such repository, or it is not readable, or the number is no milestone)
-
DELETE /api/v1/repos/{owner}/{name}/milestones/{number}/watch token
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: only a person watches a milestone); `not_found` (404: no such repository, or it is not readable, or the number is no milestone)
plan 8
-
POST /api/v1/repos/{owner}/{name}/edits token
Parameters
owner path string required name path string required Body
branch string base string message string newBranch string files object[] openPull object 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `no_files` (files holds nothing to write)
-
GET /api/v1/repos/{owner}/{name}/iterations
Parameters
owner path string required name path string required 200 Done
Fields
forks object[] lanes object[] default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository, or it is not readable)
-
POST /api/v1/repos/{owner}/{name}/plan token
Parameters
owner path string required name path string required Body
issues object[] 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/roadmap
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/statement token
Parameters
owner path string required name path string required month query string format query string 200 Done
Fields
app string month string from string to string currency string marginPct number lines object[] total number default An error: { error, message }; `error` is a stable code. Refusals: `bad_month` (month is not YYYY-MM from 2000-01 (422)); `invalid_format` (format is not json or csv (422))
-
GET /api/v1/repos/{owner}/{name}/vision
Parameters
owner path string required name path string required number query integer 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_number` (number is not a whole number of 1 or more (422))
-
GET /api/v1/repos/{owner}/{name}/waves
Parameters
owner path string required name path string required 200 Done
Fields
items object[] next_cursor null default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository, or it is not readable)
-
GET /api/v1/repos/{owner}/{name}/waves/{version}
Parameters
owner path string required name path string required version path string required 200 Done
Fields
version string date string headline string highlights object[] pulls object[] default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository, or it is not readable, or no such wave)
prompts 4
-
GET /api/v1/repos/{owner}/{name}/prompts token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/prompts token
Parameters
owner path string required name path string required Body
kind string token string at string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid` (`kind`, `token` or `at` is not acceptable (422))
-
DELETE /api/v1/repos/{owner}/{name}/prompts/{id} token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/prompts/{id}/run token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `no_such_source` (the repository has no such prompt source (422)); `not_running` (the prompt routine is not running on this forge (422))
pulls 26
-
POST /api/v1/repos/{owner}/{name}/checks/recheck token
Parameters
owner path string required name path string required 200 Done
Fields
queued object[] default An error: { error, message }; `error` is a stable code. Refusals: `invalid_test` (test is a name of 1 to 300 characters (400))
-
GET /api/v1/repos/{owner}/{name}/pulls
Parameters
owner path string required name path string required state query enum(open, closed, all) limit query integer cursor query integer label query string author query string 200 Done
304 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422)); `invalid_cursor` (cursor is not the next_cursor of a previous page (422)); `invalid_state` (state is not open, closed or all (422))
-
POST /api/v1/repos/{owner}/{name}/pulls token
Parameters
owner path string required name path string required Body
title string head string headRepo string 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/pulls/{number}
Parameters
owner path string required name path string required number path integer required diff query enum(0, 1) 200 Done
Fields
check string 304 Done
default An error: { error, message }; `error` is a stable code
-
PATCH /api/v1/repos/{owner}/{name}/pulls/{number} token
Parameters
owner path string required name path string required number path integer required Body
title string body string state string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_text` (`title` or `body` is not a string (422)); `invalid_state` (`state` is neither open nor closed (422)); `invalid_reason` (`reason` or `into` is given; a pull has none (422)); `nothing_to_change` (none of `title`, `body` and `state` is given (422)); `taken_up` (someone who directs the crew has acted on the words, so an
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/approve-here token
Parameters
owner path string required name path string required number path integer required 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_foreign` (the pull needs no approval to run (422)); `self_review` (you cannot approve your own pull (422)); `not_open` (the pull is closed (422))
-
PUT /api/v1/repos/{owner}/{name}/pulls/{number}/assignee token
Parameters
owner path string required name path string required number path integer required Body
assignee string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_assignee` (`assignee` is neither a username nor null (422)); `no_such_user` (`assignee` names no account (422))
-
GET /api/v1/repos/{owner}/{name}/pulls/{number}/checks
Parameters
owner path string required name path string required number path integer required 200 Done
Fields
head string state string required boolean run object runs object[] default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/checks token
Parameters
owner path string required name path string required number path integer required 202 Done
Fields
run object default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (only a writer can ask for a check (403)); `not_open` (only an open pull is checked (409)); `no_checks` (this forge runs no checks (409)); `no_check_declared` (this head declares no check, or waits for a writer's approval (409))
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/comments token
Parameters
owner path string required name path string required number path integer required Body
body string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `empty_body` (`body` is empty (422)); `mirrored` (the repository mirrors an origin; comment there (409))
-
PUT /api/v1/repos/{owner}/{name}/pulls/{number}/hold token
Parameters
owner path string required name path string required number path integer required Body
why string until string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (you are an agent, or you cannot write the repository (403)); `not_open` (the pull is closed or merged (409)); `empty_why` (`why` is empty (422)); `bad_until` (`until` is given and is not `green` (422)); `why_too_long` (`why` is longer than 200 characters (422))
-
DELETE /api/v1/repos/{owner}/{name}/pulls/{number}/hold token
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (you are an agent, or you cannot write the repository (403))
-
PUT /api/v1/repos/{owner}/{name}/pulls/{number}/labels token
Parameters
owner path string required name path string required number path integer required Body
labels object[] 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unknown_label` (a name or id in the set names no label of the repository); `forbidden` (the caller cannot write to the repository); `mirrored` (the repository mirrors an origin; do it there); `origin_owner_only` (only the person who connected the origin can write through it); `origin_unreachable` (the origin could not be reached (5
-
GET /api/v1/repos/{owner}/{name}/pulls/{number}/looks
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/looks token
Parameters
owner path string required name path string required number path integer required Body
width string says string image string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `too_large` (the picture is over the size cap (413)); `not_open` (the pull is closed or merged (409)); `no_app` (the repository has no app to look at (409)); `bad_image` (`image` is not an acceptable picture (422)); `bad_note` (`says` is not acceptable (422)); `bad_width` (`width` is not one the forge takes (422))
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/merge token
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/pulls/{number}/review-states
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/review-states token
Parameters
owner path string required name path string required number path integer required Body
state string body string comments object[] ticks object[] left object[] 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_state` (`state` is not approved, changes_requested or commented (422)); `invalid_comments` (`comments` is not a list of {path, line, side, body} (422)); `invalid_boxes` (`ticks` is not a list of {issue, box} or `left` of {issue, box, why} (422)); `self_review` (you cannot approve your own pull (422)); `bad_anchor` (a commen
-
GET /api/v1/repos/{owner}/{name}/pulls/{number}/reviews
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/reviews token
Parameters
owner path string required name path string required number path integer required Body
path string line integer side string body string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_anchor` (`path`, `line` and `side` (old or new) name no line of the pull's current diff (422))
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/slices token
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/take-back token
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/pulls/{number}/threads
Parameters
owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/threads/{anchor}/resolve token
Parameters
owner path string required name path string required number path integer required anchor path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the pull has no thread at `anchor` (404)); `forbidden` (you neither wrote the thread's comments nor can write to the repository (403))
-
DELETE /api/v1/repos/{owner}/{name}/pulls/{number}/threads/{anchor}/resolve token
Parameters
owner path string required name path string required number path integer required anchor path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the pull has no thread at `anchor` (404)); `forbidden` (you neither wrote the thread's comments nor can write to the repository (403))
-
POST /api/v1/repos/{owner}/{name}/pulls/{number}/variant token
Parameters
owner path string required name path string required number path integer required Body
answer string reason string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_answer` (`answer` is not like or dislike (422)); `not_variant` (the pull is not one of a set of variants (422)); `not_open` (the pull is closed or merged (422)); `failed` (the vote could not be recorded (422))
reports 4
-
GET /api/v1/repos/{owner}/{name}/reports token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/reports
Parameters
owner path string required name path string required Body
title string body string page string agent string 202 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/reports/{id}/accept token
Parameters
owner path string required name path string required id path string required Body
title string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such repository or report, or not yours to decide); `forbidden` (not a person who writes to the repository); `decided` (the report was already accepted or dismissed (409)); `mirrored` (the repository mirrors an origin (409))
-
POST /api/v1/repos/{owner}/{name}/reports/{id}/dismiss token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such repository or report, or not yours to decide); `forbidden` (not a person who writes to the repository); `decided` (the report was already accepted or dismissed (409))
repos 20
-
GET /api/v1/repos
Parameters
limit query integer cursor query string 200 Done
304 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422)); `invalid_cursor` (cursor is not the next_cursor of a previous page (422))
-
POST /api/v1/repos token
Body
name string owner string visibility string description string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_name` (422: not a name a repository may have); `name_taken` (422: the owner already has a repository of this name); `forbidden_owner` (403: `owner` is not you or an organisation you can write to, or the caller is an agent); `repository_limit` (403: at the repository limit); `storage_limit` (403: at the storage limit); `unve
-
GET /api/v1/repos/{owner}/{name}
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository, or it is not readable by the caller)
-
DELETE /api/v1/repos/{owner}/{name} token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository, or the caller is not its admin); `delete_failed` (500: the repository could not be removed)
-
PATCH /api/v1/repos/{owner}/{name} token
Parameters
owner path string required name path string required Body
description string visibility string archived boolean showProvenance boolean defaultBranch string protectDefault boolean requireReview boolean requireChecks boolean crewOutsiders boolean decisionsBy string plansNeedNod boolean 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `bad_archived` (422: archived is true or false); `bad_decisions_by` (422: decisionsBy is me, decider or decider_tell); `bad_plans_need_nod` (422: plansNeedNod is true or false); `bad_show_provenance` (422: showProvenance is true or false); `no_provenance` (422: this repository was not migrated here); `forbidden` (403: only an admin
-
POST /api/v1/repos/{owner}/{name}/atlas token
Parameters
owner path string required name path string required Body
plan object 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/branches
Parameters
owner path string required name path string required limit query integer cursor query string 200 Done
304 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422)); `invalid_cursor` (cursor is not the next_cursor of a page before (422))
-
POST /api/v1/repos/{owner}/{name}/branches token
Parameters
owner path string required name path string required Body
name string from string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_name` (name is not a branch name); `unknown_start` (from names nothing in the repository); `exists` (the branch is already there (409)); `origin_refused` (a mirror's origin refused the branch)
-
DELETE /api/v1/repos/{owner}/{name}/branches/{branch} token
Parameters
owner path string required name path string required branch path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_name` (not a branch name); `default_branch` (the default branch cannot be deleted (409)); `unknown_branch` (no such branch (404)); `origin_refused` (a mirror's origin refused the deletion)
-
GET /api/v1/repos/{owner}/{name}/commits
Parameters
owner path string required name path string required ref query string limit query integer 200 Done
304 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/commits/{oid}
Parameters
owner path string required name path string required oid path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/commits/{oid}/check
Parameters
owner path string required name path string required oid path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/repos/{owner}/{name}/contents
Parameters
owner path string required name path string required path query string ref query string 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/contents token
Parameters
owner path string required name path string required Body
branch string base string message string files object[] 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_branch` (branch or base is not a safe ref name); `invalid_path` (a file path is not a safe relative path); `path_conflict` (a path is a directory in the tree, or an ancestor of it is a file); `no_files` (files holds nothing to write); `protected_branch` (the default branch is protected and the caller is not a repo admin); `
-
GET /api/v1/repos/{owner}/{name}/contents/{path}
Parameters
owner path string required name path string required path path string required ref query string 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/origin-hook
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/origin/reconnect token
Parameters
owner path string required name path string required Body
originId string 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/sync token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_a_fork` (404: this repository follows nothing); `conflict` (409: both sides changed these files; the crew was told); `moved` (409: something moved while this was read; try again)
-
GET /api/v1/repos/{owner}/{name}/tags
Parameters
owner path string required name path string required limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
POST /api/v1/repos/{owner}/{name}/transfer token
Parameters
owner path string required name path string required Body
newOwner string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such repository, or the caller is not its admin); `bad_new_owner` (422: newOwner is not a name); `unknown_owner` (422: no account or organisation has that name); `forbidden_owner` (403: the caller cannot create repositories under that owner); `name_taken` (409: the new owner already has a repository by that name
runs 8
-
GET /api/v1/repos/{owner}/{name}/decisions
Parameters
owner path string required name path string required kind query string limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
GET /api/v1/repos/{owner}/{name}/events
Parameters
owner path string required name path string required kind query string limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
GET /api/v1/repos/{owner}/{name}/flow
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such repository, or it is not readable by the caller)
-
GET /api/v1/repos/{owner}/{name}/runs
Parameters
owner path string required name path string required kind query string state query enum(open, closed, all) env query string limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
GET /api/v1/repos/{owner}/{name}/runs/{id}
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/runs/{id}/cancel token
Parameters
owner path string required name path string required id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `finished` (the run has already finished (409))
-
GET /api/v1/repos/{owner}/{name}/runs/{id}/log
Parameters
owner path string required name path string required id path string required follow query string 200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/repos/{owner}/{name}/runs/{id}/steer token
Parameters
owner path string required name path string required id path string required Body
text string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `empty` (`text` is empty (422)); `not_agent` (the run is not an agent's (422)); `unverified` (verify your email first (403)); `forbidden` (the caller is an agent (403))
tokens 9
-
POST /api/v1/repos/{owner}/{name}/proposal-tokens token
Parameters
owner path string required name path string required Body
child string origin string childRepo string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_child` (child is not an acceptable name); `invalid_origin` (origin is not an acceptable origin); `too_large` (the body is over its byte limit (413)); `not_found` (no such repository, or not one the caller writes to)
-
GET /api/v1/secrets/{scope} token
Parameters
scope path string required ref query string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (the scope's owner is unknown); `invalid_scope` (the scope is not one the forge keeps secrets for)
-
PUT /api/v1/secrets/{scope}/{name} token
Parameters
scope path string required name path string required Body
value string ref string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_name` (`name` is not an acceptable secret name (422)); `invalid_value` (`value` is not acceptable (422)); `invalid_scope` (the scope is not one the forge keeps secrets for (422))
-
DELETE /api/v1/secrets/{scope}/{name} token
Parameters
scope path string required name path string required ref query string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (no such secret or scope owner); `invalid_scope` (the scope is not one the forge keeps secrets for)
-
POST /api/v1/sessions
Body
username string password string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401, the username or password is wrong); `too_many_attempts` (429, past the sign-in windows; retry-after says when); `too_large` (413, the body is over the limit for a stranger's)
-
DELETE /api/v1/sessions
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/tokens
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (the caller holds a bearer token, which cannot manage tokens)
-
POST /api/v1/tokens
Body
name string scope string username string password string adminConfirm boolean 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_scope` (scope is not ro, rw or admin); `admin_confirm` (a site admin did not send adminConfirm: true); `forbidden` (a bearer token cannot mint tokens, or the account may not hold an admin token)
-
DELETE /api/v1/tokens/{id}
Parameters
id path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (the caller holds a bearer token, which cannot manage tokens)
user 51
-
GET /api/v1/passport/health
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (the passport is missing, malformed, expired, or not for this audience and scope (always 401))
-
GET /api/v1/user token
200 Done
default An error: { error, message }; `error` is a stable code
-
PATCH /api/v1/user token
Body
displayName string email string commitEmail string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `forbidden` (403: the token is ro or rw; only a session, the password or an admin token may change the profile); `invalid_commit_email` (`commitEmail` is neither `noreply` nor `account` (422)); `invalid_email` (`email` is not an address an account may have (422)); `email_taken` (another account has this `email` (422)); `display_name
-
GET /api/v1/user/assigned token
200 Done
default An error: { error, message }; `error` is a stable code
-
POST /api/v1/user/email/verify token
202 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `too_soon` (429: a link was sent a moment ago); `capped` (429: the forge's mail cap is reached); `no_mail` (503: this forge sends no mail); `failed` (502: the link could not be sent)
-
GET /api/v1/user/keys token
Parameters
limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
POST /api/v1/user/keys token
Body
name string key string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no valid credentials were sent); `forbidden` (403: the token scope is below rw, or a browser session sent a cross-origin request); `invalid_key` (`key` is not a usable public key (422)); `key_exists` (the key is already registered (422))
-
DELETE /api/v1/user/keys/{id} token
Parameters
id path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no valid credentials were sent); `forbidden` (403: the token scope is below rw, or a browser session sent a cross-origin request); `not_found` (404: none of your keys has this id)
-
GET /api/v1/user/next-steps token
200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/user/notify token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no valid credentials were sent); `forbidden` (403: the caller is an agent)
-
PUT /api/v1/user/notify token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no valid credentials were sent); `forbidden` (403: the caller is an agent, the token scope is below admin, or a browser session sent a cross-origin request); `invalid_url` (422: the URL is refused, with the reason in message); `invalid` (422: url was not text)
-
GET /api/v1/user/orgs token
Parameters
limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
GET /api/v1/user/origin-apps token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope)
-
POST /api/v1/user/origin-apps token
Body
host string kind string clientId string clientSecret string 201 Done
Fields
id string userId string kind string apiUrl string webUrl string clientId string hasSecret boolean createdAt string default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `unknown_host` (422: that does not look like a forge host); `private_host` (422: that address is inside a network, not on the internet); `unreachable` (422: that host could not be reached)
-
DELETE /api/v1/user/origin-apps/{id} token
Parameters
id path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such application of yours)
-
GET /api/v1/user/origins token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent); `forbidden` (the credential is not the account: a session from another origin, or a token without admin scope)
-
POST /api/v1/user/origins token
Body
kind string host string token string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent); `forbidden` (the credential is not the account: a session from another origin, or a token without admin scope); `unknown_host` (422, that does not look like a forge host); `private_host` (422, that address is inside a network, not on the internet); `unreachable` (422, that host could
-
POST /api/v1/user/origins/oauth token
Body
kind string host string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent); `forbidden` (the credential is not the account: a session from another origin, or a token without admin scope); `unknown_host` (422, that does not look like a forge host); `private_host` (422, that address is inside a network, not on the internet); `unreachable` (422, that host could
-
GET /api/v1/user/origins/oauth/{id} token
Parameters
id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent); `forbidden` (the credential is not the account: a session from another origin, or a token without admin scope); `not_found` (no such flow among the caller's)
-
DELETE /api/v1/user/origins/{id} token
Parameters
id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent); `forbidden` (the credential is not the account: a session from another origin, or a token without admin scope); `not_found` (no such origin among the caller's)
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name} token
Parameters
id path string required owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, issue or pull); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused t
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/blob/{ref}/{path} token
Parameters
id path string required owner path string required name path string required ref path string required path path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused thi
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/branches token
Parameters
id path string required owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused thi
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/commits token
Parameters
id path string required owner path string required name path string required ref query string cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/commits/{sha} token
Parameters
id path string required owner path string required name path string required sha path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused thi
-
POST /api/v1/user/origins/{id}/browse/{owner}/{name}/contribute token
Parameters
id path string required owner path string required name path string required Body
branch string base string message string files object[] openPull object 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such origin of yours, or no such repository there); `unverified` (403: prove your email first); `origin_unreachable` (422: the origin could not be reached); `invalid_branch` (422: that branch is not one this forge can use); `unknown_base` (422: that base branch is not one this forge can use); `fork_timeout` (504
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/issues token
Parameters
id path string required owner path string required name path string required state query enum(open, closed, all) label query string author query string q query string cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, issue or pull); `rat
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/issues/{number} token
Parameters
id path string required owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, issue or pull); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused t
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/labels token
Parameters
id path string required owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused thi
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/paths/{ref} token
Parameters
id path string required owner path string required name path string required ref path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused thi
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/pulls token
Parameters
id path string required owner path string required name path string required state query enum(open, closed, all) label query string author query string q query string cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, issue or pull); `rat
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/pulls/{number} token
Parameters
id path string required owner path string required name path string required number path integer required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, issue or pull); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused t
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/tags token
Parameters
id path string required owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused thi
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/tree/{ref} token
Parameters
id path string required owner path string required name path string required ref path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused thi
-
GET /api/v1/user/origins/{id}/browse/{owner}/{name}/tree/{ref}/{path} token
Parameters
id path string required owner path string required name path string required ref path string required path path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `not_found` (404: no such origin of yours, or the origin has no such repository, ref or path); `rate_limited` (429: the origin is rate-limiting this forge); `origin_unauthorized` (502: the origin refused thi
-
POST /api/v1/user/origins/{id}/fork token
Parameters
id path string required Body
fullName string 202 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such origin of yours); `origin_unreachable` (422: the origin could not be reached); `fork_timeout` (504: the origin took the fork and it has not appeared yet; try again shortly); `mirror_failed` (502: a local copy of the fork could not be made)
-
POST /api/v1/user/origins/{id}/mirror token
Parameters
id path string required Body
fullName string name string 202 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such origin of yours, or no such repository there)
-
GET /api/v1/user/origins/{id}/mirror/{job} token
Parameters
id path string required job path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such origin or job of yours)
-
GET /api/v1/user/origins/{id}/mirror/{job}/stream token
Parameters
id path string required job path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `not_found` (404: no such origin or job of yours)
-
GET /api/v1/user/origins/{id}/repos token
Parameters
id path string required refresh query string group query string q query string cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `unauthorized` (no valid credentials were sent); `forbidden` (the credential is not the account: a session from another origin, or a token without admin scope); `not_found` (no such origin among the caller's); `invalid_group` (4
-
POST /api/v1/user/origins/{id}/sync token
Parameters
id path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent); `forbidden` (the credential is not the account: a session from another origin, or a token without admin scope); `not_found` (no such origin among the caller's)
-
POST /api/v1/user/password token
Body
current string next string 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no signed-in account); `forbidden` (403: a cross-origin browser request, or a token without admin scope); `bad_credentials` (403: current is not the password); `throttled` (429: too many wrong passwords from this address or for this name); `weak_password` (422: next is shorter than the minimum); `password_too_lo
-
GET /api/v1/user/pins token
Parameters
limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400))
-
PUT /api/v1/user/pins/{owner}/{name} token
Parameters
owner path string required name path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no valid credentials were sent); `forbidden` (403: the token scope is below rw, or a browser session sent a cross-origin request); `not_found` (404: no such repository, or it is not readable by the caller)
-
DELETE /api/v1/user/pins/{owner}/{name} token
Parameters
owner path string required name path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (401: no valid credentials were sent); `forbidden` (403: the token scope is below rw, or a browser session sent a cross-origin request); `not_found` (404: no such repository, or it is not readable by the caller)
-
GET /api/v1/user/repos token
200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no valid credentials were sent)
-
POST /api/v1/users
Body
username string email string password string invite string note string from string turnstile_token string 201 Done
default An error: { error, message }; `error` is a stable code. Refusals: `rate_limited` (429, too many sign-ups; retry-after says when); `too_large` (413, the body is over the limit for a stranger's); `signup_closed` (403, this forge makes no new accounts (or the invite is not one)); `forbidden` (403, the name is not one this edge allows); `passkey_required` (422, this forge signs up with a passkey on th
-
GET /api/v1/users/{username}
Parameters
username path string required 200 Done
default An error: { error, message }; `error` is a stable code
-
GET /api/v1/users/{username}/repos
Parameters
username path string required limit query integer cursor query string 200 Done
400 page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)
default An error: { error, message }; `error` is a stable code. Refusals: `invalid_query` (page or offset was sent: this list pages by cursor, pass next_cursor as ?cursor= (400)); `invalid_limit` (limit is not a whole number from 1 to 200 (422)); `invalid_cursor` (cursor is not the next_cursor of a previous page (422))
-
DELETE /api/v1/users/{username}/sessions/{id} token
Parameters
username path string required id path string required 204 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no credentials were sent); `forbidden` (the caller holds a token below admin scope); `not_found` (no such account or session, or it is not one the caller may end)
-
GET /api/v1/users/{username}/signins token
Parameters
username path string required 200 Done
default An error: { error, message }; `error` is a stable code. Refusals: `unauthorized` (no credentials were sent); `forbidden` (the caller holds a token below admin scope); `not_found` (no such account, or it is not one the caller may see)