Cycloid Organization team members API

The Organization team members API from Cycloid — 2 operation(s) for organization team members.

Operations 4

GET /organizations/{organization_canonical}/teams/{team_canonical}/members Get team members #
POST /organizations/{organization_canonical}/teams/{team_canonical}/members Assign member to team #
GET /organizations/{organization_canonical}/teams/{team_canonical}/members/{member_id} Get team member #
DELETE /organizations/{organization_canonical}/teams/{team_canonical}/members/{member_id} Unassign member from 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/cycloid:cycloid-organization-team-members-api"
All apis
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.

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

cycloid-organization-team-members-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: This is the Cycloid's API Reference. It provides descriptions, syntax, and usage examples for each of the actions and data types available within our console.
  title: Welcome! Organization team members API
  termsOfService: https://console.cycloid.io/terms
  contact:
    name: The Great Owl
    url: https://www.cycloid.io
    email: contact@cycloid.io
  license:
    name: Cycloid @copyrights
    url: https://cycloid.io
  version: '0'
servers:
- url: https://http-api.cycloid.io
security:
- api_key: []
- api_key_query: []
tags:
- name: Organization team members
paths:
  /organizations/{organization_canonical}/teams/{team_canonical}/members:
    parameters:
    - $ref: '#/components/parameters/organization_canonical'
    - $ref: '#/components/parameters/team_canonical'
    get:
      description: Get the members of a team of the organization.
      tags:
      - Organization team members
      operationId: getTeamMembers
      parameters:
      - $ref: '#/components/parameters/page_index'
      - $ref: '#/components/parameters/page_size'
      responses:
        '200':
          description: List of the members who are assigned to the team.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                - pagination
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/MemberTeam'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
              example:
                data:
                - created_at: 1503225026
                  email: mariano.jimenez@fakeemail.com
                  full_name: Mariano Jimenez
                  id: 1
                  last_login_at: 1503225576
                  picture_url: https://avatars2.githubusercontent.com/u/14579210
                  username: user-1
                - created_at: 1503281026
                  email: jordi.capdevila@fakeemail.com
                  full_name: Jordi Capdevila
                  id: 1
                  invited_at: 1503281026
                  picture_url: https://avatars2.githubusercontent.com/u/14579210
                  username: user2
                pagination:
                  index: 1
                  size: 10
                  total: 2
        '403':
          $ref: '#/components/responses/not_enough_permissions'
        '404':
          $ref: '#/components/responses/not_found_entity_in_path'
        '422':
          $ref: '#/components/responses/unprocessable_entity'
        default:
          $ref: '#/components/responses/unexpected_error'
      summary: Get team members
      x-summary-source: derived
    post:
      description: Assign a user of the organization to be a member of a team.
      tags:
      - Organization team members
      operationId: assignMemberToTeam
      responses:
        '200':
          description: The information of the member of the team.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/MemberTeam'
              example:
                data:
                  created_at: 1503225026
                  email: mariano.jimenez@fakeemail.com
                  full_name: Mariano Jimenez
                  id: 1
                  last_login_at: 1503281333
                  picture_url: https://avatars2.githubusercontent.com/u/14579210
                  role:
                    canonical: role-can
                    description: Organization existing role
                    id: 17
                    name: existing
                    rules:
                    - action: organization:delete
                      effect: allow
                      id: 1
                      resources:
                      - organization:org-can
                      - organization:org-can2
                    - action: organization:team:create
                      effect: allow
                      id: 20
                      resources: null
                    - action: organization:team:read
                      effect: allow
                      id: 21
                      resources:
                      - organization:org-can:team:team-can
                  username: user-1
        '403':
          $ref: '#/components/responses/not_enough_permissions'
        '404':
          $ref: '#/components/responses/not_found_entity_in_path'
        '422':
          $ref: '#/components/responses/unprocessable_entity'
        default:
          $ref: '#/components/responses/unexpected_error'
      requestBody:
        content:
          application/vnd.cycloid.io.v1+json:
            schema:
              $ref: '#/components/schemas/NewTeamMemberAssignation'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/NewTeamMemberAssignation'
        description: The assignation information for being a member or being updated.
        required: true
      summary: Assign member to team
      x-summary-source: derived
  /organizations/{organization_canonical}/teams/{team_canonical}/members/{member_id}:
    parameters:
    - $ref: '#/components/parameters/organization_canonical'
    - $ref: '#/components/parameters/team_canonical'
    - $ref: '#/components/parameters/member_id'
    get:
      description: Get the information of a member of the team.
      tags:
      - Organization team members
      operationId: getTeamMember
      responses:
        '200':
          description: The information of the member of the team.
          content:
            application/json:
              schema:
                type: object
                required:
                - data
                properties:
                  data:
                    $ref: '#/components/schemas/MemberTeam'
              example:
                data:
                  created_at: 1503225026
                  email: mariano.jimenez@fakeemail.com
                  full_name: Mariano Jimenez
                  id: 1
                  last_login_at: 1503281333
                  picture_url: https://avatars2.githubusercontent.com/u/14579210
                  role:
                    canonical: role-can
                    description: Organization existing role
                    id: 17
                    name: existing
                    rules:
                    - action: organization:delete
                      effect: allow
                      id: 1
                      resources:
                      - organization:org-can
                      - organization:org-can2
                    - action: organization:team:create
                      effect: allow
                      id: 20
                      resources: null
                    - action: organization:team:read
                      effect: allow
                      id: 21
                      resources:
                      - organization:org-can:team:team-can
                  username: user-1
        '403':
          $ref: '#/components/responses/not_enough_permissions'
        '404':
          $ref: '#/components/responses/not_found_entity_in_path'
        default:
          $ref: '#/components/responses/unexpected_error'
      summary: Get team member
      x-summary-source: derived
    delete:
      description: Unassign a member of the team. After this operation, the user will not be a member of the team.
      tags:
      - Organization team members
      operationId: unassignMemberFromTeam
      responses:
        '204':
          description: The user has been unassigned of the team.
        '403':
          $ref: '#/components/responses/not_enough_permissions'
        '404':
          $ref: '#/components/responses/not_found_entity_in_path'
        default:
          $ref: '#/components/responses/unexpected_error'
      summary: Unassign member from team
      x-summary-source: derived
components:
  parameters:
    member_id:
      description: A member id
      name: member_id
      in: path
      required: true
      schema:
        type: integer
        format: uint32
    page_index:
      description: The page number to request. The first page is 1.
      name: page_index
      in: query
      schema:
        type: integer
        format: uint32
        default: 1
    team_canonical:
      description: A canonical of a team.
      name: team_canonical
      in: path
      required: true
      schema:
        type: string
        maxLength: 100
        minLength: 2
        pattern: ^[a-z0-9]([a-z0-9\-_]*[a-z0-9])?$
    page_size:
      description: The number of items at most which the response can have.
      name: page_size
      in: query
      schema:
        type: integer
        format: uint32
        default: 100
    organization_canonical:
      description: A canonical of an organization.
      name: organization_canonical
      in: path
      required: true
      schema:
        type: string
        maxLength: 100
        minLength: 2
        pattern: ^[a-z0-9]([a-z0-9\-_]*[a-z0-9])?$
  responses:
    not_found_entity_in_path:
      description: The response sent when any of the entities present in the path is not found.
      headers:
        Content-Length:
          description: The length of the response body in octets (8-bit bytes).
          schema:
            type: integer
            format: uint64
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorPayload'
          example:
            errors:
            - code: NotFoundEntity
              message: Entity not found
    not_enough_permissions:
      description: The authenticated user cannot perform the operation because, it doesn't have permissions for such operation.
      headers:
        Content-Length:
          description: The length of the response body in octets (8-bit bytes).
          schema:
            type: integer
            format: uint64
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorPayload'
          example:
            errors:
            - code: Unauthorized
              message: Not enough permissions to perform the operation
    unprocessable_entity:
      description: All the custom errors that are generated from the Cycloid API
      headers:
        Content-Length:
          description: The length of the response body in octets (8-bit bytes).
          schema:
            type: integer
            format: uint64
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorPayload'
          example:
            errors:
            - code: SomeCode
              message: some error
    unexpected_error:
      description: The response sent when an unexpected error happened, as known as an internal server error.
      headers:
        Content-Length:
          description: The length of the response body in octets (8-bit bytes).
          schema:
            type: integer
            format: uint64
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorPayload'
          example:
            errors:
            - code: Unexpected
              message: Server Internal error
  schemas:
    MemberTeam:
      description: Member is a user who is associated to a team.
      type: object
      title: Member of a team
      required:
      - id
      - email
      - created_at
      - mfa_enabled
      properties:
        created_at:
          description: When the user became a member.
          type: integer
          format: uint64
        email:
          description: user email
          type: string
          format: email
        full_name:
          description: Full name, can be empty in case if the user hasn't accepted the invitation yet.
          type: string
          maxLength: 255
          minLength: 2
        id:
          type: integer
          format: uint32
          minimum: 1
        invited_by:
          description: Team member who invited the current user to the team.
          $ref: '#/components/schemas/SimpleMemberOrg'
        last_login_at:
          description: When the user logged in last time.
          type: integer
          format: uint64
        mfa_enabled:
          type: boolean
        picture_url:
          type: string
          format: uri
        updated_at:
          description: When the user had the role modified.
          type: integer
          format: uint64
        username:
          description: User canonical, can be empty in case if the user hasn't accepted the invitation yet.
          type: string
          maxLength: 100
          minLength: 2
          pattern: ^[a-z0-9]([a-z0-9\-_]*[a-z0-9])?$
    ErrorPayload:
      description: 'The payload used by the server to response to the client with an Error, those errors could be any of the ones listed [here](https://github.com/cycloidio/youdeploy-http-api/blob/develop/errors/code.go#L10), only the CODE of the error is the one that is guaranteed to not change between the same major version, the MESSAGE could change.

        '
      title: Error Payload
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetailsItem'
        request_id:
          type: string
    NewTeamMemberAssignation:
      description: 'Member is a user assigned to a Team. This is a good place to use oneOf property, but unfortunatelly we are still in 2.0, so the rule is:

        one of username or email must be given. In case if both are present, only the username is used to send the invite,

        because only one user can be added at the time.

        '
      title: Assign user
      properties:
        email:
          description: Assign user by email (can be used for users who didn't accept the invitation yet and have no username)
          type: string
          format: email
        username:
          description: Assign user by username
          type: string
          format: string
    Pagination:
      type: object
      title: Pagination
      required:
      - total
      - index
      - size
      properties:
        index:
          description: The index of the page sent (the first page is 1).
          type: integer
          format: uint64
          minimum: 1
        size:
          description: The size of the page (the number of entities per page)
          type: integer
          format: uint64
        total:
          description: The total number of items.
          type: integer
          format: uint64
    ErrorDetailsItem:
      description: Represents an item of the list of details of an error.
      title: Error details item
      required:
      - message
      - code
      properties:
        code:
          type: string
        details:
          type: array
          items:
            type: string
        message:
          type: string
    SimpleMemberOrg:
      description: Simplified model of a member of an organization. The member is 'accepted' and have an associated user account.
      type: object
      title: Simplified model of a member of an organization
      required:
      - id
      - email
      - created_at
      properties:
        created_at:
          description: When the user became a member.
          type: integer
          format: uint64
        email:
          description: Primary email
          type: string
          format: email
        full_name:
          type: string
        id:
          description: Member ID (different from the user ID)
          type: integer
          format: uint32
          minimum: 1
        last_login_at:
          description: When the user logged in last time.
          type: integer
          format: uint64
        picture_url:
          type: string
          format: uri
        updated_at:
          description: When the user had the role modified.
          type: integer
          format: uint64
        username:
          type: string
          maxLength: 100
          minLength: 2
          pattern: ^[a-z0-9]([a-z0-9\-_]*[a-z0-9])?$
  securitySchemes:
    api_key:
      description: The API authorization is done with JWT tokens
      type: apiKey
      name: Authorization
      in: header
    api_key_query:
      description: The API authorization is done with JWT tokens in the query string
      type: apiKey
      name: api_key
      in: query