Courier User Tenants API
The User Tenants API from Courier — 2 operation(s) for user tenants.
The User Tenants API from Courier — 2 operation(s) for user tenants.
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/courier-user-tenants-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: Courier User Tenants API
description: The Courier REST API.
version: ''
servers:
- url: https://api.courier.com
description: Production
tags:
- name: User Tenants
paths:
/users/{user_id}/tenants:
get:
description: Returns a paginated list of user tenant associations.
operationId: users_tenants_list
tags:
- User Tenants
parameters:
- name: user_id
in: path
description: Id of the user to retrieve all associated tenants for.
required: true
schema:
type: string
- name: limit
in: query
description: "The number of accounts to return \n(defaults to 20, maximum value of 100)"
required: false
schema:
type:
- integer
- 'null'
- name: cursor
in: query
description: Continue the pagination with the next cursor
required: false
schema:
type:
- string
- 'null'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UsersListTenantsForUserResponse'
summary: Get tenants associated with a given user
security:
- BearerAuth: []
put:
description: 'This endpoint is used to add a user to
multiple tenants in one call.
A custom profile can also be supplied for each tenant.
This profile will be merged with the user''s main
profile when sending to the user with that tenant.'
operationId: users_tenants_addMultiple
tags:
- User Tenants
parameters:
- name: user_id
in: path
description: The user's ID. This can be any uniquely identifiable string.
required: true
schema:
type: string
responses:
'204':
description: ''
summary: Add a User to Multiple Tenants
security:
- BearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
tenants:
type: array
items:
$ref: '#/components/schemas/UserTenantAssociation'
required:
- tenants
delete:
description: Removes a user from any tenants they may have been associated with.
operationId: users_tenants_removeAll
tags:
- User Tenants
parameters:
- name: user_id
in: path
description: Id of the user to be removed from the supplied tenant.
required: true
schema:
type: string
responses:
'204':
description: ''
summary: Remove User From All Associated Tenants
security:
- BearerAuth: []
/users/{user_id}/tenants/{tenant_id}:
put:
description: 'This endpoint is used to add a single tenant.
A custom profile can also be supplied with the tenant.
This profile will be merged with the user''s main profile
when sending to the user with that tenant.'
operationId: users_tenants_add
tags:
- User Tenants
parameters:
- name: user_id
in: path
description: Id of the user to be added to the supplied tenant.
required: true
schema:
type: string
- name: tenant_id
in: path
description: Id of the tenant the user should be added to.
required: true
schema:
type: string
responses:
'204':
description: ''
summary: Add a User to a Single Tenant
security:
- BearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
profile:
type:
- object
- 'null'
additionalProperties: true
delete:
description: Removes a user from the supplied tenant.
operationId: users_tenants_remove
tags:
- User Tenants
parameters:
- name: user_id
in: path
description: Id of the user to be removed from the supplied tenant.
required: true
schema:
type: string
- name: tenant_id
in: path
description: Id of the tenant the user should be removed from.
required: true
schema:
type: string
responses:
'204':
description: ''
summary: Remove User from a Tenant
security:
- BearerAuth: []
components:
schemas:
UsersListTenantsForUserResponse:
title: UsersListTenantsForUserResponse
type: object
properties:
items:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/UserTenantAssociation'
has_more:
type: boolean
description: Set to true when there are more pages that can be retrieved.
url:
type: string
description: A url that may be used to generate these results.
next_url:
type:
- string
- 'null'
description: "A url that may be used to generate fetch the next set of results. \nDefined only when `has_more` is set to true"
cursor:
type:
- string
- 'null'
description: "A pointer to the next page of results. Defined \nonly when `has_more` is set to true"
type:
type: string
enum:
- list
description: Always set to `list`. Represents the type of this object.
required:
- has_more
- url
- type
UserTenantAssociation:
title: UserTenantAssociation
type: object
properties:
user_id:
type:
- string
- 'null'
description: User ID for the association between tenant and user
type:
type:
- string
- 'null'
enum:
- user
tenant_id:
type: string
description: Tenant ID for the association between tenant and user
profile:
type:
- object
- 'null'
additionalProperties: true
description: Additional metadata to be applied to a user profile when used in a tenant context
required:
- tenant_id
securitySchemes:
BearerAuth:
type: http
scheme: bearer