Skip to main content

API 1 - Collab Agent

Collab Agent Backend API (1.0.0)

Download OpenAPI specification:Download

Official REST API used by the Collab Agent VS Code extension. It covers authentication, users, Jira integration, AI features, Live Share telemetry, and profile management.

Authentication

Email / password sign-in

Sign-in using email credentials.

Authorizations:
bearerAuth
query Parameters
provider
required
string
Value: "email"
Request Body schema: application/json
email
required
string <email>
password
required
string <password>

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "pa$$word"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Create account

Authorizations:
bearerAuth
Request Body schema: application/json
email
required
string <email>
password
required
string <password>
first_name
required
string
last_name
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "pa$$word",
  • "first_name": "string",
  • "last_name": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Invalidate session

Authorizations:
bearerAuth
Request Body schema: application/json
user_id
required
string

Responses

Request samples

Content type
application/json
{
  • "user_id": "string"
}

Response samples

Content type
application/json
{
  • "error": "string"
}

Users

Lock / unlock user

Authorizations:
bearerAuth
path Parameters
userId
required
string
Request Body schema: application/json
user_id
required
string
is_locked
required
boolean

Responses

Request samples

Content type
application/json
{
  • "user_id": "string",
  • "is_locked": true
}

Response samples

Content type
application/json
{
  • "error": "string"
}

Update overall user status

Authorizations:
bearerAuth
path Parameters
userId
required
string
Request Body schema: application/json
status
required
string (UserStatus)
Enum: "ACTIVE" "SUSPENDED" "LOCKED"
userClassId
string or null

Responses

Request samples

Content type
application/json
{
  • "status": "ACTIVE",
  • "userClassId": "string"
}

Get user by ID

Authorizations:
bearerAuth
path Parameters
userId
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "user@example.com",
  • "first_name": "string",
  • "last_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "userStatus": "ACTIVE",
  • "role": "string",
  • "settings": {
    }
}

Classes & Sections

Get per-class user status

Authorizations:
bearerAuth
path Parameters
userId
required
string
query Parameters
class_id
string

Responses

Response samples

Content type
application/json
{
  • "data": "ACTIVE"
}

Get section IDs for user

Authorizations:
bearerAuth
path Parameters
userId
required
string
query Parameters
class_id
string

Responses

Response samples

Content type
application/json
{
  • "user_section_id": "string"
}

Create / update section

Authorizations:
bearerAuth
path Parameters
userId
required
string
Request Body schema: application/json
status
required
string (UserSectionStatus)
Enum: "ACTIVE" "NEED_REVIEW" "COMPLETE"
userSectionId
string or null

Responses

Request samples

Content type
application/json
{
  • "status": "ACTIVE",
  • "userSectionId": "string"
}

List classes for user

Authorizations:
bearerAuth
path Parameters
userId
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Jira Integration

Save Jira integration (admin)

Authorizations:
bearerAuth
Request Body schema: application/json
team_id
required
string
jira_url
required
string <uri>
jira_project_key
required
string
access_token
required
string
refresh_token
string or null
admin_user_id
required
string
created_at
string <date-time>
updated_at
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "team_id": "string",
  • "jira_url": "http://example.com",
  • "jira_project_key": "string",
  • "access_token": "string",
  • "refresh_token": "string",
  • "admin_user_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "error": "string"
}

Get Jira config

Authorizations:
bearerAuth
path Parameters
teamId
required
string

Responses

Response samples

Content type
application/json
{
  • "team_id": "string",
  • "jira_url": "http://example.com",
  • "jira_project_key": "string",
  • "access_token": "string",
  • "refresh_token": "string",
  • "admin_user_id": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Remove Jira config

Authorizations:
bearerAuth
path Parameters
teamId
required
string

Responses

AI Features

Team activity timeline

Authorizations:
bearerAuth
query Parameters
team_id
required
string
limit
integer >= 1
Default: 25

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Insert Live Share event

Authorizations:
bearerAuth
Request Body schema: application/json
event_type
required
string
Enum: "started" "joined" "ended"
session_id
string
team_id
required
string
user_id
required
string
display_name
required
string
duration_minutes
integer or null
snapshot_id
string or null

Responses

Request samples

Content type
application/json
{
  • "event_type": "started",
  • "session_id": "string",
  • "team_id": "string",
  • "user_id": "string",
  • "display_name": "string",
  • "duration_minutes": 0,
  • "snapshot_id": "string"
}

Upload Live Share git diff / summary

Authorizations:
bearerAuth
Request Body schema: application/json
team_id
required
string
user_id
required
string
display_name
required
string
session_id
required
string
changes
required
string

Responses

Request samples

Content type
application/json
{
  • "team_id": "string",
  • "user_id": "string",
  • "display_name": "string",
  • "session_id": "string",
  • "changes": "string"
}

Response samples

Content type
application/json
{
  • "snapshot_id": "string"
}

Generate AI task delegation suggestions

Authorizations:
bearerAuth
Request Body schema: application/json
team_id
required
string
user_id
required
string
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "team_id": "string",
  • "user_id": "string",
  • "unassigned_tasks": [
    ]
}

Response samples

Content type
application/json
{
  • "recommendations_count": 0
}

User Profile

Fetch profile

Authorizations:
bearerAuth
query Parameters
user_id
required
string

Responses

Response samples

Content type
application/json
{
  • "user_id": "string",
  • "name": "string",
  • "interests": [
    ],
  • "strengths": [
    ],
  • "weaknesses": [
    ],
  • "custom_skills": [
    ]
}

Create / update profile

Authorizations:
bearerAuth
Request Body schema: application/json
user_id
required
string
name
string
interests
Array of strings
strengths
Array of strings
weaknesses
Array of strings
custom_skills
Array of strings

Responses

Request samples

Content type
application/json
{
  • "user_id": "string",
  • "name": "string",
  • "interests": [
    ],
  • "strengths": [
    ],
  • "weaknesses": [
    ],
  • "custom_skills": [
    ]
}