Apiable Teams API

Teams are a way to group users together. Teams are used to manage team-based access to subscriptions on the platform with internal roles and permissions. Teams typically consist of one to a handful of users.

Operations 6

PUT /api/teams/{teamId}/users/{userId} Assign user into a team #
DELETE /api/teams/{teamId}/users/{userId} Remove user from team #
GET /api/teams Read Teams #
POST /api/teams Create a new team #
GET /api/teams/{id} Read Team #
PATCH /api/teams/{id} Update Team #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/apiable-teams-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

apiable-teams-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Apiable Platform Teams API
  description: '## Introduction


    The Apiable Platform API is a RESTful API that allows you to manage your portal, teams, users, and subscriptions.'
  contact:
    name: Apiable Team
    url: https://apiable.io
    email: support@apiable.io
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: v2
servers:
- url: https://developer.apiable.io
tags:
- name: Teams
  description: Teams are a way to group users together. Teams are used to manage team-based access to subscriptions on the platform with internal roles and permissions. Teams typically consist of one to a handful of users.
paths:
  /api/teams/{teamId}/users/{userId}:
    put:
      tags:
      - Teams
      summary: Assign user into a team
      description: Assign a user to a team. To update the team object, use the dedicated endpoint to patch the desired values. To assign roles to the user, use the users endpoint. /users/{userId}/roles
      operationId: assignUserToTeam
      parameters:
      - name: teamId
        in: path
        description: ID of the team to be assigned the user to.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 6268ec80a098ed05f047f279
      - name: userId
        in: path
        description: ID of the user to be assigned into the team
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 6268ec80a098ed05f047f278
      - name: X-API-Version
        in: header
        description: API version to use.
        required: false
        style: simple
        explode: false
        schema:
          type: string
          enum:
          - '2024-09-25'
      responses:
        '200':
          description: Team object with the user assigned.
          content:
            application/json:
              schema:
                description: Team
                properties:
                  version:
                    type: integer
                    format: int32
                  created:
                    type: string
                    format: date-time
                  updated:
                    type: string
                    format: date-time
                  id:
                    type: string
                  name:
                    type: string
                    description: The name of the team
                  users:
                    type: array
                    description: List of users in the team
                    items:
                      description: Unique identifier to an object
                      properties:
                        id:
                          type: string
                  internal:
                    type: boolean
                    description: The internal status of the team
                  company:
                    description: Unique identifier to an object
                    properties:
                      id:
                        type: string
                  domains:
                    type: array
                    items:
                      type: string
                    uniqueItems: true
                  allowDomainJoining:
                    type: boolean
              examples:
                Example team:
                  description: Example output of a team object with the user assigned.
                  value:
                    id: 6268ec80a098ed05f047f279
                    created: '2022-04-27T07:10:56.86'
                    updated: '2023-03-09T16:28:30.056'
                    name: Shire-Hobbits
                    users:
                    - id: 6268ec80a098ed05f047f278
                    internal: true
                    version: 5
        '401':
          description: 'Unauthorized for operation: assignUserToTeam'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Unauthorized
                  status:
                    type: string
                    example: '401'
        '404':
          description: 'Not Found: The team or user does not exist.'
          content:
            application/json:
              schema:
                type: string
              examples:
                NotFound:
                  description: Error message when the team or user to be assigned is not found.
                  value: Team or User not found
      security:
      - oauth-cc:
        - apiable/platform
    delete:
      tags:
      - Teams
      summary: Remove user from team
      description: Remove a user from a team. To update the team object, use the dedicated endpoint to patch the desired values. To remove roles from the user, use the users endpoint. /users/{userId}/roles
      operationId: removeUserFromTeam
      parameters:
      - name: teamId
        in: path
        description: ID of the team to be remove the user from.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 6268ec80a098ed05f047f279
      - name: userId
        in: path
        description: ID of the user to be removed from the team
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 6268ec80a098ed05f047f278
      - name: X-API-Version
        in: header
        description: API version to use.
        required: false
        style: simple
        explode: false
        schema:
          type: string
          enum:
          - '2024-09-25'
      responses:
        '200':
          description: Team object with the user removed.
          content:
            application/json:
              schema:
                description: Team
                properties:
                  version:
                    type: integer
                    format: int32
                  created:
                    type: string
                    format: date-time
                  updated:
                    type: string
                    format: date-time
                  id:
                    type: string
                  name:
                    type: string
                    description: The name of the team
                  users:
                    type: array
                    description: List of users in the team
                    items:
                      description: Unique identifier to an object
                      properties:
                        id:
                          type: string
                  internal:
                    type: boolean
                    description: The internal status of the team
                  company:
                    description: Unique identifier to an object
                    properties:
                      id:
                        type: string
                  domains:
                    type: array
                    items:
                      type: string
                    uniqueItems: true
                  allowDomainJoining:
                    type: boolean
              examples:
                Example team:
                  description: Example output of a team object with the user removed.
                  value:
                    id: 6268ec80a098ed05f047f279
                    created: '2022-04-27T07:10:56.86'
                    updated: '2023-03-09T16:28:30.056'
                    name: Shire-Hobbits
                    users:
                    - id: 6268ec80a098ed05f047f278
                    internal: true
                    version: 5
        '401':
          description: 'Unauthorized for operation: removeUserFromTeam'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Unauthorized
                  status:
                    type: string
                    example: '401'
        '404':
          description: 'Not Found: The team or user does not exist.'
          content:
            application/json:
              schema:
                type: string
              examples:
                NotFound:
                  description: Error message when the team or user to be removed is not found.
                  value: Team or User not found
      security:
      - oauth-cc:
        - apiable/platform
  /api/teams:
    get:
      tags:
      - Teams
      summary: Read Teams
      description: List all teams on the platform that match the pagination and search criteria.
      operationId: findAllTeams
      parameters:
      - name: page
        in: query
        description: The page number of the teams to be returned.
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int32
        example: 0
      - name: size
        in: query
        description: The number of teams to be returned per page.
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int32
        example: 10
      - name: sort
        in: query
        description: The sorting criteria for the teams. The sorting criteria is a list of fields separated by commas.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
        example:
        - name:DESC
      - name: search
        in: query
        description: The search criteria for the teams.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
        example:
        - name.like=engineering
      - name: X-API-Version
        in: header
        description: API version to use.
        required: false
        style: simple
        explode: false
        schema:
          type: string
          enum:
          - '2024-09-25'
      responses:
        '200':
          description: 'OK: Successfully retrieved the list of teams.'
          content:
            application/json:
              schema:
                description: Response object for paginated team results
                properties:
                  content:
                    type: array
                    items:
                      description: Team
                      properties:
                        version:
                          type: integer
                          format: int32
                        created:
                          type: string
                          format: date-time
                        updated:
                          type: string
                          format: date-time
                        id:
                          type: string
                        name:
                          type: string
                          description: The name of the team
                        users:
                          type: array
                          description: List of users in the team
                          items:
                            description: Unique identifier to an object
                            properties:
                              id:
                                type: string
                        internal:
                          type: boolean
                          description: The internal status of the team
                        company:
                          description: Unique identifier to an object
                          properties:
                            id:
                              type: string
                        domains:
                          type: array
                          items:
                            type: string
                          uniqueItems: true
                        allowDomainJoining:
                          type: boolean
                  pageable:
                    description: The PageableObject schema is used to represent pagination information for API responses. It includes details such as the current page number, size of the page, total number of pages, and total number of items available.
                    properties:
                      offset:
                        type: integer
                        format: int64
                      pageNumber:
                        type: integer
                        format: int32
                      pageSize:
                        type: integer
                        format: int32
                      paged:
                        type: boolean
                      unpaged:
                        type: boolean
                      sort:
                        description: The SortObject schema is used to represent sorting information for API responses.
                        properties:
                          empty:
                            type: boolean
                          sorted:
                            type: boolean
                          unsorted:
                            type: boolean
                  last:
                    type: boolean
                  totalElements:
                    type: integer
                    format: int64
                  totalPages:
                    type: integer
                    format: int32
                  size:
                    type: integer
                    format: int32
                  number:
                    type: integer
                    format: int32
                  sort:
                    description: The SortObject schema is used to represent sorting information for API responses.
                    properties:
                      empty:
                        type: boolean
                      sorted:
                        type: boolean
                      unsorted:
                        type: boolean
                  first:
                    type: boolean
                  numberOfElements:
                    type: integer
                    format: int32
                  empty:
                    type: boolean
              examples:
                Example list of teams:
                  description: List of all teams that exist on the portal.
                  value:
                    content:
                    - id: 6268ec80a098ed05f047f279
                      created: '2022-04-27T07:10:56.86'
                      updated: '2023-03-09T16:28:30.056'
                      name: Shire-Hobbits
                      users:
                      - id: 6268ec80a098ed05f047f278
                      internal: true
                      version: 5
                    - id: 62691aa099a7d17e2cac7664
                      created: '2022-04-27T10:27:44.198'
                      updated: '2024-09-18T15:18:42.505'
                      name: Isengard-Orcs
                      users:
                      - id: 62691aa099a7d17e2cac7663
                      internal: false
                      version: 10
                    pageable:
                      pageNumber: 0
                      pageSize: 10
                      sort:
                        empty: true
                        sorted: false
                        unsorted: true
                      offset: 0
                      unpaged: false
                      paged: true
                    last: true
                    totalElements: 2
                    totalPages: 1
                    size: 10
                    number: 0
                    sort:
                      empty: true
                      sorted: false
                      unsorted: true
                    first: true
                    numberOfElements: 2
                    empty: false
        '401':
          description: 'Unauthorized for operation: findAllTeams'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Unauthorized
                  status:
                    type: string
                    example: '401'
      security:
      - oauth-cc:
        - apiable/platform
    post:
      tags:
      - Teams
      summary: Create a new team
      description: Creates a new team programmatically with the specified name, users, company, and domain settings. The team can be configured for domain-based joining and linked to a company.
      operationId: createTeam
      parameters:
      - name: X-API-Version
        in: header
        description: API version to use.
        required: false
        style: simple
        explode: false
        schema:
          type: string
          enum:
          - '2024-09-25'
      requestBody:
        description: 'Request body for operation: createTeam.'
        content:
          application/json:
            schema:
              properties:
                name:
                  type: string
                users:
                  type: array
                  items:
                    description: Unique identifier to an object
                    properties:
                      id:
                        type: string
                internal:
                  type: boolean
                company:
                  description: Unique identifier to an object
                  properties:
                    id:
                      type: string
                domains:
                  type: array
                  items:
                    type: string
                  uniqueItems: true
                domainJoinEnabled:
                  type: boolean
            examples:
              Create team request:
                description: Example request to create a new team with users and company association.
                value:
                  name: Engineering Team
                  users:
                  - 6268ec80a098ed05f047f278
                  internal: false
                  company: 62691aa099a7d17e2cac7665
                  domains:
                  - example.com
                  domainJoinEnabled: true
        required: true
      responses:
        '200':
          description: 'OK: Team created successfully.'
          content:
            application/json:
              schema:
                description: Team
                properties:
                  version:
                    type: integer
                    format: int32
                  created:
                    type: string
                    format: date-time
                  updated:
                    type: string
                    format: date-time
                  id:
                    type: string
                  name:
                    type: string
                    description: The name of the team
                  users:
                    type: array
                    description: List of users in the team
                    items:
                      description: Unique identifier to an object
                      properties:
                        id:
                          type: string
                  internal:
                    type: boolean
                    description: The internal status of the team
                  company:
                    description: Unique identifier to an object
                    properties:
                      id:
                        type: string
                  domains:
                    type: array
                    items:
                      type: string
                    uniqueItems: true
                  allowDomainJoining:
                    type: boolean
              examples:
                Example response:
                  description: Created team with all details.
                  value:
                    id: 6268ec80a098ed05f047f279
                    created: '2022-04-27T07:10:56.86'
                    updated: '2023-03-09T16:28:30.056'
                    name: Shire-Hobbits
                    users:
                    - id: 6268ec80a098ed05f047f278
                    internal: true
                    version: 5
        '400':
          description: 'Bad Request: Invalid input data.'
          content:
            application/json:
              schema:
                type: string
              examples:
                Missing Required Field:
                  description: Error when required field (name) is missing from request
                  value:
                    error: Bad Request
                    message: Team name is required
                Blank Field:
                  description: Error when team name is provided but blank
                  value:
                    error: Bad Request
                    message: Team name cannot be blank
                Invalid Domain:
                  description: Error when domain format is invalid
                  value:
                    error: Bad Request
                    message: Invalid domain format
        '401':
          description: 'Unauthorized for operation: createTeam'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Unauthorized
                  status:
                    type: string
                    example: '401'
        '404':
          description: 'Not Found: The company or user specified does not exist.'
          content:
            application/json:
              schema:
                type: string
              examples:
                NotFound:
                  description: Error when the company or user cannot be found
                  value: Not Found
      security:
      - oauth-cc:
        - apiable/platform
  /api/teams/{id}:
    get:
      tags:
      - Teams
      summary: Read Team
      description: Retrieve a team by id. The team will be returned with all its details.
      operationId: findTeamById
      parameters:
      - name: id
        in: path
        description: The id of the team to be retrieved.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 6409edb91c6c14300fce1a3c
      - name: X-API-Version
        in: header
        description: API version to use.
        required: false
        style: simple
        explode: false
        schema:
          type: string
          enum:
          - '2024-09-25'
      responses:
        '200':
          description: 'OK: Successfully retrieved the team.'
          content:
            application/json:
              schema:
                description: Team
                properties:
                  version:
                    type: integer
                    format: int32
                  created:
                    type: string
                    format: date-time
                  updated:
                    type: string
                    format: date-time
                  id:
                    type: string
                  name:
                    type: string
                    description: The name of the team
                  users:
                    type: array
                    description: List of users in the team
                    items:
                      description: Unique identifier to an object
                      properties:
                        id:
                          type: string
                  internal:
                    type: boolean
                    description: The internal status of the team
                  company:
                    description: Unique identifier to an object
                    properties:
                      id:
                        type: string
                  domains:
                    type: array
                    items:
                      type: string
                    uniqueItems: true
                  allowDomainJoining:
                    type: boolean
              examples:
                Example team:
                  description: Team object with all its details.
                  value:
                    id: 6268ec80a098ed05f047f279
                    created: '2022-04-27T07:10:56.86'
                    updated: '2023-03-09T16:28:30.056'
                    name: Shire-Hobbits
                    users:
                    - id: 6268ec80a098ed05f047f278
                    internal: true
                    version: 5
        '401':
          description: 'Unauthorized for operation: findTeamById'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Unauthorized
                  status:
                    type: string
                    example: '401'
        '404':
          description: 'Not Found: The requested team does not exist.'
          content:
            application/json:
              schema:
                type: string
              examples:
                NotFound:
                  description: Error message when the team with the given ID is not found.
                  value: Team not found
      security:
      - oauth-cc:
        - apiable/platform
    patch:
      tags:
      - Teams
      summary: Update Team
      description: Update values of the platform team. The response of the operation will be the updated team. The updates are applied through patch logic, which means that only the fields that are included in the request will be updated. The rest of the fields will remain unchanged.
      operationId: updateTeam
      parameters:
      - name: id
        in: path
        description: The id of the team to be updated.
        required: true
        style: simple
        explode: false
        schema:
          type: string
        example: 6409edb91c6c14300fce1a3c
      - name: X-API-Version
        in: header
        description: API version to use.
        required: false
        style: simple
        explode: false
        schema:
          type: string
          enum:
          - '2024-09-25'
      requestBody:
        description: 'Request body for operation: updateTeam.'
        content:
          application/json:
            schema:
              type: array
              items:
                description: Patch object for team
                properties:
                  op:
                    type: string
                    description: Supported patch operations
                    enum:
                    - replace
                  path:
                    type: string
                    description: Supported patch paths for Team
                    enum:
                    - /name
                    - /internal
                  value:
                    type: string
                    description: Value to be patched, can be a boolean or a string depending on the path
            examples:
              Example patch operations:
                description: Patch operation to update the team.
                value:
                - op: replace
                  path: /name
                  value: Lothlorien-Elves
        required: true
      responses:
        '200':
          description: 'OK: Team updated successfully.'
          content:
            application/json:
              schema:
                description: Team
                properties:
                  version:
                    type: integer
                    format: int32
                  created:
                    type: string
                    format: date-time
                  updated:
                    type: string
                    format: date-time
                  id:
                    type: string
                  name:
                    type: string
                    description: The name of the team
                  users:
                    type: array
                    description: List of users in the team
                    items:
                      description: Unique identifier to an object
                      properties:
                        id:
                          type: string
                  internal:
                    type: boolean
                    description: The internal status of the team
                  company:
                    description: Unique identifier to an object
                    properties:
                      id:
                        type: string
                  domains:
                    type: array
                    items:
                      type: string
                    uniqueItems: true
                  allowDomainJoining:
                    type: boolean
              examples:
                Example response:
                  description: Updated team object.
                  value:
                    id: 6268ec80a098ed05f047f279
                    created: '2022-04-27T07:10:56.86'
                    updated: '2023-03-09T16:28:30.056'
                    name: Shire-Hobbits
                    users:
                    - id: 6268ec80a098ed05f047f278
                    internal: true
                    version: 5
        '400':
          description: 'Bad Request: Invalid update parameters or operation.'
          content:
            application/json:
              schema:
                type: string
              examples:
                BadRequest:
                  description: Error message when the patch operation is not allowed for the team.
                  value: Bad Request
        '401':
          description: 'Unauthorized for operation: updateTeam'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Unauthorized
                  status:
                    type: string
                    example: '401'
      security:
      - oauth-cc:
        - apiable/platform
components:
  securitySchemes:
    oauth-cc:
      type: oauth2
      description: 'OAuth 2.0: Client Credentials'
      flows:
        clientCredentials:
          tokenUrl: https://developer.apiable.io/api/oauth2/token
          scopes: {}
      x-receive-token-in: request-body
      x-client-id: ''
      x-client-secret: ''