Duvo Ai Team API
Inspect the team and members associated with the API key
Inspect the team and members associated with the API key
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/duvo-ai:duvo-ai-team-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Duvo Ai Team API
version: 1.0.0
description: 'Operations tagged Team across 2 of this provider''s published API definitions: duvo-ai-openapi-original.json, duvo-ai-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.duvo.ai
description: Production server
tags:
- name: Team
description: Inspect the team and members associated with the API key
paths:
/v2/teams/{teamId}:
get:
operationId: getTeam
tags:
- Team
description: Get a team by ID. The caller must be scoped to the requested team.
parameters:
- schema:
type: string
format: uuid
in: path
name: teamId
required: true
description: Team ID
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
team:
type: object
properties:
id:
type: string
format: uuid
description: Unique team identifier
name:
type: string
description: Human-readable team name
created_at:
type: string
description: ISO 8601 creation timestamp
organization_id:
description: Parent organization ID, or null if the team is standalone
type:
- string
- 'null'
format: uuid
slack_team_id:
description: Linked Slack workspace ID, or null if Slack is not connected
type:
- string
- 'null'
discovery_mode:
type: string
description: How the team handles agent discovery
x-extensible-enum:
- request
- auto
required:
- id
- name
- created_at
- organization_id
- slack_team_id
- discovery_mode
additionalProperties: false
required:
- team
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
summary: Get Team
servers:
- url: https://api.duvo.ai
description: Production server
/v2/profile:
get:
operationId: getProfile
tags:
- Team
description: Get the profile of the authenticated user (the owner of the API key).
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
profile:
type: object
properties:
id:
type: string
format: uuid
name:
type:
- string
- 'null'
email:
type: string
format: email
teamId:
type:
- string
- 'null'
format: uuid
required:
- id
- name
- email
- teamId
additionalProperties: false
required:
- profile
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
summary: Get Profile
servers:
- url: https://api.duvo.ai
description: Production server
/v2/teams:
get:
operationId: listMyTeams
tags:
- Team
description: List teams the authenticated caller can act on. Team-scoped API keys see only the key's team; user-scoped API keys and OAuth callers see every team they're a member of.
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
teams:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
organization_id:
type:
- string
- 'null'
format: uuid
required:
- id
- name
- organization_id
additionalProperties: false
required:
- teams
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
summary: List My Teams
servers:
- url: https://api.duvo.ai
description: Production server
/v2/teams/{teamId}/members:
get:
operationId: listTeamMembers
tags:
- Team
description: List members of a team. The authenticated session or API key must be scoped to the requested team.
parameters:
- schema:
default: 50
type: integer
minimum: 1
maximum: 100
in: query
name: limit
required: false
description: Number of members per page (1-100, default 50)
- schema:
type: integer
minimum: 0
maximum: 9007199254740991
in: query
name: offset
required: false
description: Number of members to skip
- schema:
type: string
minLength: 1
maxLength: 200
in: query
name: search
required: false
description: Optional case-insensitive name or email search
- schema:
type: string
format: uuid
in: path
name: teamId
required: true
description: Team ID
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
members:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
name:
type:
- string
- 'null'
email:
type: string
format: email
role:
type: string
inheritedFromOrg:
default: false
type: boolean
required:
- id
- name
- email
- role
- inheritedFromOrg
additionalProperties: false
total:
type: integer
minimum: 0
maximum: 9007199254740991
limit:
type: integer
maximum: 9007199254740991
offset:
type: integer
minimum: 0
maximum: 9007199254740991
required:
- members
- total
- limit
- offset
additionalProperties: false
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
required:
- error
additionalProperties: false
summary: List Team Members
servers:
- url: https://api.duvo.ai
description: Production server
/v2/teams/{teamId}/members/{memberId}:
patch:
operationId: updateTeamMemberRole
tags:
- Team
description: Update an existing team member's role. Requires the Manager role or above; only an Owner may grant or remove the Owner role, and the last remaining Owner cannot be demoted. A member whose Owner role is inherited from the organization cannot be changed here.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
role:
type: string
required:
- role
parameters:
- schema:
type: string
format: uuid
in: path
name: teamId
required: true
description: Team ID
- schema:
type: string
format: uuid
in: path
name: memberId
required: true
description: Member (user) ID
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
id:
type: string
format: uuid
name:
type:
- string
- 'null'
email:
type: string
format: email
role:
type: string
inheritedFromOrg:
default: false
type: boolean
orgRole:
default: null
description: The member's role in the team's organization, or null when the team has no organization or the member holds no organization role
type:
- string
- 'null'
required:
- id
- name
- email
- role
- inheritedFromOrg
- orgRole
additionalProperties: false
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
summary: Update Team Member Role
delete:
operationId: removeTeamMember
tags:
- Team
description: Remove a member from a team. Removing another member requires the Superadmin role or above; any member may remove themselves (leaving the team). The last remaining Owner cannot be removed, and a member whose Owner role is inherited from the organization can only leave voluntarily.
parameters:
- schema:
type: string
format: uuid
in: path
name: teamId
required: true
description: Team ID
- schema:
type: string
format: uuid
in: path
name: memberId
required: true
description: Member (user) ID
security:
- bearerAuth: []
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
enum:
- true
nextTeamId:
type:
- string
- 'null'
format: uuid
planType:
type:
- string
- 'null'
x-extensible-enum:
- pro
- business
- enterprise
required:
- success
- nextTeamId
- planType
additionalProperties: false
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
'401':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
'403':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
'404':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
error:
type: string
message:
type: string
code:
type: string
required:
- error
additionalProperties: false
summary: Remove Team Member
servers:
- url: https://api.duvo.ai
description: Production server
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: API key authentication. Get your API key from the Duvo dashboard.
x-refined-from:
- duvo-ai-openapi-original.json
- duvo-ai-openapi.json