Vigilfield Docs
API referenceInstallations

`POST /apps/{id}/installations` — install an App into the caller's acting team, conferring one grant per approved permission.

POST/apps/{id}/installations

The request carries no team: the installing team is the acting team the extractor has already validated is one of the caller's own.

Path Parameters

id*string

App id (app-…)

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

POST /apps/{id}/installations body.

⚠️ There is no team_id field, and adding one would reopen a check this design removes. The installing team is auth.acting_team_id, which the extractor has already validated is one of the caller's own teams (extractor.rs:63-66) — so there is no field in which to name somebody else's team, and no membership check to forget. export/logic.rs:56-62 is the shipped precedent for reading the acting team this way.

Response Body

application/json

curl -X POST "https://example.com/apps/string/installations" \  -H "Content-Type: application/json" \  -d '{}'
{  "app_id": "string",  "created_at": "string",  "id": "string",  "installed_by": "string",  "permissions": [    {      "grant_id": "string",      "scope": "string",      "target": "string"    }  ],  "team_id": "string"}