Cycloid Organization team members API
The Organization team members API from Cycloid — 2 operation(s) for organization team members.
The Organization team members API from Cycloid — 2 operation(s) for organization team members.
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/cycloid:cycloid-organization-team-members-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:
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