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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/coalesce:coalesce-users-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
openapi: 3.2.0
info:
version: 1.0.0
title: Coalesce Users API
description: REST API for performing operations with the Coalesce backend.
servers:
- url: https://app.coalescesoftware.io
description: 'Region: us-central1'
- url: https://app.australia-southeast1.gcp.coalescesoftware.io
description: 'Region: australia-southeast1 (Sydney)'
- url: https://app.northamerica-northeast1.gcp.coalescesoftware.io
description: 'Region: northamerica-northeast1 (Montreal)'
- url: https://app.eu-west-2.aws.coalescesoftware.io
description: 'Region: eu-west-2 (London)'
- url: https://app.eu.coalescesoftware.io
description: 'Region: europe-west-3 (Frankfurt)'
- url: https://app.europe-west1.gcp.coalescesoftware.io
description: 'Region: europe-west-1 (Belgium)'
- url: https://app.us-east-1.aws.coalescesoftware.io
description: 'Region: us-east-1 (Virginia)'
- url: https://app.us-east-2.aws.coalescesoftware.io
description: 'Region: us-east-2 (Ohio)'
- url: https://app.us-west-2.aws.coalescesoftware.io
description: 'Region: us-west-2 (Oregon)'
- url: https://app.centralus.azure.coalescesoftware.io
description: 'Region: centralus (Iowa)'
- url: https://app.eastus2.azure.coalescesoftware.io
description: 'Region: eastus2 (Virginia)'
- url: https://app.westus2.azure.coalescesoftware.io
description: 'Region: westus2 (Washington)'
- url: https://app.southcentralus.azure.coalescesoftware.io
description: 'Region: southcentral (San Antonio)'
- url: https://app.us-east4.gcp.coalescesoftware.io
description: 'Region: us-east4 (Virginia)'
- url: https://app.eu-central-1.aws.coalescesoftware.io
description: 'Region: eu-central-1 (Frankfurt)'
security:
- BearerAuth: []
tags:
- name: Users
paths:
/api/v1/users:
summary: All users in the current org
get:
description: Returns a list of all users in an Org.
operationId: ListOrgUsers
parameters:
- name: limit
description: The maximum number of users to return.
in: query
schema:
type: integer
minimum: 1
maximum: 500
default: 50
required: false
- name: startingFrom
description: The cursor point for paging the query results.
in: query
allowReserved: true
schema:
type: string
required: false
- name: orderBy
description: The field to order the results by.
in: query
schema:
type: string
enum:
- id
default: id
required: false
security:
- BearerAuth: []
responses:
'200':
$ref: '#/components/responses/AllUsersResult'
'400':
$ref: '#/components/responses/InvalidRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/AlreadyExistsError'
'500':
$ref: '#/components/responses/InternalServerError'
'502':
$ref: '#/components/responses/BadGatewayError'
'503':
$ref: '#/components/responses/ServiceUnavailableError'
'504':
$ref: '#/components/responses/GatewayTimeoutError'
summary: List All Organization Users
tags:
- Users
/api/v2/userRoles:
summary: User Roles
get:
summary: List All User Roles In Organization
description: Get all user roles in the organization.
operationId: ListAllUserRoleInOrg
parameters:
- name: projectID
description: Return only user roles pertaining to the specified project.
in: query
schema:
type: string
required: false
- name: environmentID
description: Return only user roles pertaining to the specified environment.
in: query
schema:
type: string
required: false
responses:
'200':
$ref: '#/components/responses/UserRoleResponseV2'
'400':
$ref: '#/components/responses/InvalidRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/AlreadyExistsError'
'500':
$ref: '#/components/responses/InternalServerError'
'502':
$ref: '#/components/responses/BadGatewayError'
'503':
$ref: '#/components/responses/ServiceUnavailableError'
'504':
$ref: '#/components/responses/GatewayTimeoutError'
tags:
- Users
/api/v2/userRoles/{userID}:
summary: Single User roles
parameters:
- name: userID
description: The user ID.
in: path
schema:
type: string
required: true
- name: projectID
description: The project ID.
in: query
schema:
type: string
required: false
- name: environmentID
description: The environment ID.
in: query
schema:
type: string
required: false
get:
summary: Get a Single User's Role
description: Retrieve a specific user's role.
operationId: GetSingleUserRoles
responses:
'200':
$ref: '#/components/responses/SingleUserRoleResponseV2'
'400':
$ref: '#/components/responses/InvalidRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/AlreadyExistsError'
'500':
$ref: '#/components/responses/InternalServerError'
'502':
$ref: '#/components/responses/BadGatewayError'
'503':
$ref: '#/components/responses/ServiceUnavailableError'
'504':
$ref: '#/components/responses/GatewayTimeoutError'
tags:
- Users
/api/v2/userRoles/{userID}/organizationRole:
summary: Organization User Roles
parameters:
- name: userID
description: The user ID.
in: path
schema:
type: string
required: true
put:
summary: Set User's Organization Role
description: 'Creates or updates a user''s organization role.
:::info
Available for organization admins only.
:::'
operationId: SetUsersOrgRole
requestBody:
description: The user's organization role.
required: true
content:
application/json:
schema:
type: object
required:
- organizationRole
properties:
organizationRole:
enum:
- admin
- contributor
- member
responses:
'200':
$ref: '#/components/responses/SingleUserRoleResponseV2'
'400':
$ref: '#/components/responses/InvalidRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/AlreadyExistsError'
'500':
$ref: '#/components/responses/InternalServerError'
'502':
$ref: '#/components/responses/BadGatewayError'
'503':
$ref: '#/components/responses/ServiceUnavailableError'
'504':
$ref: '#/components/responses/GatewayTimeoutError'
tags:
- Users
/api/v2/userRoles/{userID}/projects/{projectID}:
summary: Project User Roles
parameters:
- name: userID
description: The user ID.
in: path
schema:
type: string
required: true
- name: projectID
description: The project ID.
in: path
schema:
type: string
required: true
delete:
summary: Delete User's Project Roles
description: 'Deletes all project roles for a user.
:::info
Available for organization admins only.
:::'
operationId: DeleteUserProjectRole
responses:
'204':
description: The user's project roles were successfully deleted.
'400':
$ref: '#/components/responses/InvalidRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/AlreadyExistsError'
'500':
$ref: '#/components/responses/InternalServerError'
'502':
$ref: '#/components/responses/BadGatewayError'
'503':
$ref: '#/components/responses/ServiceUnavailableError'
'504':
$ref: '#/components/responses/GatewayTimeoutError'
tags:
- Users
put:
summary: Set User's Project Role
description: 'Creates or updates a user''s project role.
:::info
Available for organization admins only.
:::'
operationId: SetUsersProjectRole
requestBody:
description: The user project role
required: true
content:
application/json:
schema:
type: object
required:
- projectRole
properties:
projectRole:
enum:
- member
- admin
- contributor
- architect
responses:
'200':
$ref: '#/components/responses/SingleUserRoleResponseV2'
'400':
$ref: '#/components/responses/InvalidRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/AlreadyExistsError'
'500':
$ref: '#/components/responses/InternalServerError'
'502':
$ref: '#/components/responses/BadGatewayError'
'503':
$ref: '#/components/responses/ServiceUnavailableError'
'504':
$ref: '#/components/responses/GatewayTimeoutError'
tags:
- Users
/api/v2/userRoles/{userID}/environments/{environmentID}:
summary: Environment User Roles
parameters:
- name: userID
description: The user ID.
in: path
schema:
type: string
required: true
- name: environmentID
description: The environment ID.
in: path
schema:
type: string
required: true
delete:
summary: Delete Environment User Roles
description: Deletes all environment roles for a user.
operationId: DeleteUserEnvironmentRole
responses:
'204':
description: The user's environment role was successfully deleted.
'400':
$ref: '#/components/responses/InvalidRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/AlreadyExistsError'
'500':
$ref: '#/components/responses/InternalServerError'
'502':
$ref: '#/components/responses/BadGatewayError'
'503':
$ref: '#/components/responses/ServiceUnavailableError'
'504':
$ref: '#/components/responses/GatewayTimeoutError'
tags:
- Users
put:
summary: Set User's Environment Role
description: Creates or updates a user's environment role.
operationId: SetUsersEnvironmentRole
requestBody:
description: The user environment role.
required: true
content:
application/json:
schema:
type: object
properties:
environmentRole:
description: The environment role to set
enum:
- reader
- admin
setDefaultProjectRole:
description: If the user doesn't have a role for the environment's project, they will be assigned the role specified in setDefaultProjectRole. If setDefaultProjectRole is not specified and the user lacks a project role, attempting to assign an environment role will result in an HTTP 403 error.
enum:
- member
- admin
- architect
- contributor
required:
- environmentRole
responses:
'200':
$ref: '#/components/responses/SingleUserRoleResponseV2'
'400':
$ref: '#/components/responses/InvalidRequestError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'409':
$ref: '#/components/responses/AlreadyExistsError'
'500':
$ref: '#/components/responses/InternalServerError'
'502':
$ref: '#/components/responses/BadGatewayError'
'503':
$ref: '#/components/responses/ServiceUnavailableError'
'504':
$ref: '#/components/responses/GatewayTimeoutError'
tags:
- Users
components:
examples:
SingleUsersRole:
value:
userID: boC3UgRYtaMjxEqv2bxPugrNCJx1
organizationRole: admin
projectRoles:
45a4f214-8a3e-48c7-8c6b-ff284798de4c: admin
7e854ee0-4b7f-46ae-b79c-ace867941f11: admin
0d42aaab-895d-446a-9014-f4256b575ce2: admin
0a57c272-d602-4f5d-af23-8be96aa4aa5d: admin
77b53b16-baa6-49a0-9d97-a515cae50b28: admin
76f1cc6f-e1de-4380-8004-1c3b2e5191fd: admin
02c1274e-05a3-4039-a787-dd25b71950d9: admin
46b15547-25c3-4890-9b9e-772bbc780d0e: admin
6e948d90-2ef9-4680-9ed1-0600a3601c84: admin
environmentRoles:
'3': admin
'33': admin
'34': admin
'39': admin
'40': admin
'41': admin
'42': admin
'48': admin
'52': admin
'53': admin
'54': admin
'56': admin
'67': admin
UserRolesResponse:
value:
userRoles:
- userID: XV801jcwjFeKCvfqwFLOhVk2NEF2
organizationRole: contributor
projectRoles:
7e854ee0-4b7f-46ae-b79c-ace867941f11: member
environmentRoles:
'34': reader
- userID: boC3UgRYtaMjxEqv2bxPugrNCJx1
organizationRole: admin
projectRoles:
45a4f214-8a3e-48c7-8c6b-ff284798de4c: admin
7e854ee0-4b7f-46ae-b79c-ace867941f11: admin
0d42aaab-895d-446a-9014-f4256b575ce2: admin
0a57c272-d602-4f5d-af23-8be96aa4aa5d: admin
77b53b16-baa6-49a0-9d97-a515cae50b28: admin
76f1cc6f-e1de-4380-8004-1c3b2e5191fd: admin
02c1274e-05a3-4039-a787-dd25b71950d9: admin
46b15547-25c3-4890-9b9e-772bbc780d0e: admin
6e948d90-2ef9-4680-9ed1-0600a3601c84: admin
environmentRoles:
'3': admin
'33': admin
'34': admin
'39': admin
'40': admin
'41': admin
'42': admin
'48': admin
'52': admin
'53': admin
'54': admin
'56': admin
'67': admin
- userID: hBaH2n5qnAWqsUvHvsoBbChqsPf1
organizationRole: member
ErrorResponse:
value:
error:
errorString: string
errorDetail: string
responses:
AlreadyExistsError:
description: The requested resource already exists.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Example 1:
$ref: '#/components/examples/ErrorResponse'
UserRoleResponseV2:
description: 'Returns user role information for all users in an org.
'
content:
application/json:
schema:
$ref: '#/components/schemas/UserRoleResponseV2'
examples:
Example 1:
$ref: '#/components/examples/UserRolesResponse'
ForbiddenError:
description: The client is not permitted to perform the requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Forbidden Error:
$ref: '#/components/examples/ErrorResponse'
NotFoundError:
description: The requested resource could not be found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Not Found Error:
$ref: '#/components/examples/ErrorResponse'
GatewayTimeoutError:
description: The server did not receive a response in time from an upstream system.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Gateway Timeout Error:
$ref: '#/components/examples/ErrorResponse'
InvalidRequestError:
description: The request was invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Invalid Request Error:
$ref: '#/components/examples/ErrorResponse'
BadGatewayError:
description: The server received an error from an upstream system.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Bad Gateway Error:
$ref: '#/components/examples/ErrorResponse'
SingleUserRoleResponseV2:
description: A single user's role information
content:
application/json:
schema:
$ref: '#/components/schemas/SingleUserRoleResponseV2'
examples:
Example 1:
$ref: '#/components/examples/SingleUsersRole'
Unauthorized:
description: User lacks authorization to perform this action.
content:
application/json:
schema:
type: object
$ref: '#/components/schemas/ErrorResponse'
examples:
Unauthorized:
$ref: '#/components/examples/ErrorResponse'
AllUsersResult:
description: The list of users
content:
application/json:
schema:
type: object
properties:
total:
type: integer
description: Number of records returned.
startingFrom:
type: string
description: A cursor that tells the API where to begin returning results. Use it to continue pagination from a specific point in the dataset. This value must come from the `next` field in the previous response. If you define a query cursor using `startingFrom`, you must also include the `orderBy` parameter.
limit:
type: integer
description: The requested page size.
next:
type:
- string
- 'null'
description: The field value representing the start of the next page of results.
data:
type: array
items:
type: object
properties:
firstName:
type: string
lastName:
type: string
email:
type: string
id:
type: string
authDisabled:
type: boolean
deleted:
type: boolean
required:
- total
- limit
- next
- data
InternalServerError:
description: The server encountered an unexpected condition that prevented it from fulfilling the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Internal Server Error:
$ref: '#/components/examples/ErrorResponse'
ServiceUnavailableError:
description: The service is currently unavailable.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
Service Unavailable Error:
$ref: '#/components/examples/ErrorResponse'
schemas:
SingleUserRoleResponseV2:
$ref: '#/components/schemas/UserOrgRolesV2'
UserOrgRolesV2:
description: The roles assigned to a user.
type: object
required:
- userID
properties:
userID:
type: string
description: The user ID.
organizationRole:
type: string
description: User's organization role. Excluded when requesting specific environments/projects if the role lacks project permissions.
projectRoles:
type: object
description: 'Returns a dictionary mapping project IDs to user roles.
**Example:**
```
"45a4f214-8a3e-48c7-8c6b-ff284798de4c": "admin"
```
**Format:** `projectID: userRole`
**Note:** Only includes projects where the user has a role. Environment-only roles are excluded.'
additionalProperties:
type: string
environmentRoles:
type: object
description: 'Returns a dictionary mapping environment IDs to user roles.
**Example:**
```
"33": "admin"
```
**Format:** `environmentID: userRole`
**Note:** Only includes environments where the user has a role.'
additionalProperties:
type: string
Error:
type: object
additionalProperties: false
properties:
errorString:
description: The error message.
type: string
errorDetail:
description: Additional detail about the error.
type: string
required:
- errorString
UserRoleResponseV2:
type: object
properties:
userRoles:
type: array
items:
$ref: '#/components/schemas/UserOrgRolesV2'
required:
- userRoles
additionalProperties: false
ErrorResponse:
description: Error detail in addition to the HTTP status code and text.
type: object
required:
- error
properties:
error:
$ref: '#/components/schemas/Error'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
x-provenance:
method: harvested
publisher: Coalesce
source: https://docs.coalesce.io/api/coalesce-api.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)