Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vh3.ai/llms.txt

Use this file to discover all available pages before exploring further.

Teams

The Teams endpoints manage organisational teams — groups of users that can be scoped to specific customers, sites, or other entities. Teams enable access control and filtered views across the platform.

GET /teams/list

List all teams for your company. Query parameters:
ParamTypeRequiredDescription
company_idstringYesYour tenant identifier
api_keystringYesYour tenant API key
purposestringNoFilter by team purpose
searchstringNoSearch by team name
pageintegerNoPage number
per_pageintegerNoResults per page
curl -G "https://api.vh3connect.io/api:kP8T1CK7/teams/list" \
  --data-urlencode "company_id=your-company-id" \
  --data-urlencode "api_key=your-api-key"

POST /teams/create

Create a new team. Request body:
FieldTypeRequiredDescription
company_idstringYesYour tenant identifier
api_keystringYesYour tenant API key
namestringYesTeam name
descriptionstringNoTeam description
purposestringNoTeam purpose/category
metadataobjectNoArbitrary metadata
actor_typestringNoWho created the team (user, system)
actor_idintegerNoID of the creating actor
curl -X POST "https://api.vh3connect.io/api:kP8T1CK7/teams/create" \
  -H "Content-Type: application/json" \
  -d '{
    "company_id": "your-company-id",
    "api_key": "your-api-key",
    "name": "North Region",
    "description": "Engineers and accounts in the northern region"
  }'

GET /teams/

Retrieve a specific team with its members and linked entities.
curl -G "https://api.vh3connect.io/api:kP8T1CK7/teams/team-001" \
  --data-urlencode "company_id=your-company-id" \
  --data-urlencode "api_key=your-api-key"

PATCH /teams/

Update team details. Request body:
FieldTypeRequiredDescription
company_idstringYesYour tenant identifier
api_keystringYesYour tenant API key
namestringNoNew team name
descriptionstringNoUpdated description
purposestringNoUpdated purpose
metadataobjectNoUpdated metadata
is_activebooleanNoActivate or deactivate the team
curl -X PATCH "https://api.vh3connect.io/api:kP8T1CK7/teams/team-001" \
  -H "Content-Type: application/json" \
  -d '{
    "company_id": "your-company-id",
    "api_key": "your-api-key",
    "name": "North Region — HVAC"
  }'

GET /teams//members

List all members of a team.
curl -G "https://api.vh3connect.io/api:kP8T1CK7/teams/team-001/members" \
  --data-urlencode "company_id=your-company-id" \
  --data-urlencode "api_key=your-api-key"

POST /teams//members

Add a member to a team. Request body:
FieldTypeRequiredDescription
company_idstringYesYour tenant identifier
api_keystringYesYour tenant API key
user_idintegerYesUser to add
rolestringYesRole within team (member, admin)
is_default_teambooleanNoSet as default team for this user
actor_typestringNoWho performed the action
actor_idintegerNoID of the acting user
curl -X POST "https://api.vh3connect.io/api:kP8T1CK7/teams/team-001/members" \
  -H "Content-Type: application/json" \
  -d '{
    "company_id": "your-company-id",
    "api_key": "your-api-key",
    "user_id": 42,
    "role": "member"
  }'

DELETE /teams//members/

Remove a member from a team.
curl -X DELETE "https://api.vh3connect.io/api:kP8T1CK7/teams/team-001/members/membership-99" \
  -H "Content-Type: application/json" \
  -d '{
    "company_id": "your-company-id",
    "api_key": "your-api-key"
  }'

GET /teams//entities

List all entities linked to a team. Query parameters:
ParamTypeRequiredDescription
company_idstringYesYour tenant identifier
api_keystringYesYour tenant API key
typestringNoFilter by entity type
curl -G "https://api.vh3connect.io/api:kP8T1CK7/teams/team-001/entities" \
  --data-urlencode "company_id=your-company-id" \
  --data-urlencode "api_key=your-api-key"

POST /teams//entities

Link an entity (customer, site, job type) to a team. Request body:
FieldTypeRequiredDescription
company_idstringYesYour tenant identifier
api_keystringYesYour tenant API key
entity_typestringYesEntity type (e.g. customer, site, job_type)
entity_idstringYesEntity identifier
labelstringNoDisplay label for this link
contextstringNoAdditional context
metadataobjectNoArbitrary metadata
actor_typestringNoWho performed the action
actor_idintegerNoID of the acting user
curl -X POST "https://api.vh3connect.io/api:kP8T1CK7/teams/team-001/entities" \
  -H "Content-Type: application/json" \
  -d '{
    "company_id": "your-company-id",
    "api_key": "your-api-key",
    "entity_type": "customer",
    "entity_id": "contact-456"
  }'

DELETE /teams//entities/

Unlink an entity from a team.
curl -X DELETE "https://api.vh3connect.io/api:kP8T1CK7/teams/team-001/entities/link-77" \
  -H "Content-Type: application/json" \
  -d '{
    "company_id": "your-company-id",
    "api_key": "your-api-key"
  }'

GET /teams/search

Search teams by name or description. Query parameters:
ParamTypeRequiredDescription
company_idstringYesYour tenant identifier
api_keystringYesYour tenant API key
qstringYesSearch term
pageintegerNoPage number
per_pageintegerNoResults per page
curl -G "https://api.vh3connect.io/api:kP8T1CK7/teams/search" \
  --data-urlencode "company_id=your-company-id" \
  --data-urlencode "api_key=your-api-key" \
  --data-urlencode "q=north region"

GET /entities///teams

Find which teams a given entity belongs to (reverse lookup).
curl -G "https://api.vh3connect.io/api:kP8T1CK7/entities/customer/contact-456/teams" \
  --data-urlencode "company_id=your-company-id" \
  --data-urlencode "api_key=your-api-key"

GET /users//teams

Get all teams a specific user belongs to.
curl -G "https://api.vh3connect.io/api:kP8T1CK7/users/42/teams" \
  --data-urlencode "company_id=your-company-id" \
  --data-urlencode "api_key=your-api-key"