Projects API
GET /v1/projects
List Projects
List projects for the current organization.
Auth: BearerAuth with a user session token (JWT). API keys are rejected.
Response 200 (ProjectsContextResponse)
curl -X GET "https://api.pinbridge.io/v1/projects" \
-H "Authorization: Bearer $PINBRIDGE_JWT"
POST /v1/projects/sandbox
Create Sandbox Project
Create sandbox project for the current organization (idempotent).
Auth: BearerAuth with a user session token (JWT). API keys are rejected.
Request body (CreateSandboxProjectRequest)
| Field | Type | Required | Description |
|---|---|---|---|
name |
string? | no |
Response 201 (ProjectsContextResponse)
curl -X POST "https://api.pinbridge.io/v1/projects/sandbox" \
-H "Authorization: Bearer $PINBRIDGE_JWT" \
-H "Content-Type: application/json" \
-d '{}'
POST /v1/projects/sandbox/reset
Reset Sandbox Project Data
Delete all sandbox-scoped resources so users can start fresh for testing.
Auth: BearerAuth with a user session token (JWT). API keys are rejected.
Response 200 (ProjectsContextResponse)
curl -X POST "https://api.pinbridge.io/v1/projects/sandbox/reset" \
-H "Authorization: Bearer $PINBRIDGE_JWT"
POST /v1/projects/switch
Switch Project
Switch active project for the current session and issue a new JWT.
Auth: BearerAuth with a user session token (JWT). API keys are rejected.
Request body (SwitchProjectRequest)
| Field | Type | Required | Description |
|---|---|---|---|
project_id |
string | yes |
Response 200 (ProjectSwitchResponse)
curl -X POST "https://api.pinbridge.io/v1/projects/switch" \
-H "Authorization: Bearer $PINBRIDGE_JWT" \
-H "Content-Type: application/json" \
-d '{"project_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}'
