Cal.com Orgs / Attributes API
The Orgs / Attributes API from Cal.com — 2 operation(s) for orgs / attributes.
The Orgs / Attributes API from Cal.com — 2 operation(s) for orgs / attributes.
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/cal-com:cal-com-orgs-attributes-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: Cal.com API v2 Orgs / Attributes API
description: ''
version: 1.0.0
contact: {}
servers: []
tags:
- name: Orgs / Attributes
paths:
/v2/organizations/{orgId}/attributes:
get:
description: 'Required membership role: `org member`. PBAC permission: `organization.attributes.read`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control'
operationId: OrganizationsAttributesController_getOrganizationAttributes
parameters:
- name: Authorization
in: header
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_
required: true
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: take
required: false
in: query
description: Maximum number of items to return
schema:
minimum: 1
maximum: 250
default: 250
example: 25
type: number
- name: skip
required: false
in: query
description: Number of items to skip
schema:
minimum: 0
default: 0
example: 0
type: number
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetOrganizationAttributesOutput'
summary: Get all attributes
tags:
- Orgs / Attributes
x-mcp:
name: get_org_attributes
guidance: List all attributes defined for an organization. Attributes are custom fields (TEXT, NUMBER, SINGLE_SELECT, MULTI_SELECT) used to tag members for routing and round-robin. Supports pagination with skip/take.
x-oauth-scopes:
- ORG_ATTRIBUTES_READ
x-platform-plan: ESSENTIALS
post:
description: 'Required membership role: `org admin`. PBAC permission: `organization.attributes.create`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control'
operationId: OrganizationsAttributesController_createOrganizationAttribute
parameters:
- name: Authorization
in: header
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_
required: true
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrganizationAttributeInput'
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrganizationAttributesOutput'
summary: Create an attribute
tags:
- Orgs / Attributes
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/attributes/{attributeId}:
get:
description: 'Required membership role: `org member`. PBAC permission: `organization.attributes.read`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control'
operationId: OrganizationsAttributesController_getOrganizationAttribute
parameters:
- name: Authorization
in: header
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_
required: true
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: attributeId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetSingleAttributeOutput'
summary: Get an attribute
tags:
- Orgs / Attributes
x-mcp:
name: get_org_attribute
guidance: Get a single organization attribute by ID. Use get_org_attributes to find attribute IDs and get_attribute_options to list available options.
x-oauth-scopes:
- ORG_ATTRIBUTES_READ
x-platform-plan: ESSENTIALS
patch:
description: 'Required membership role: `org admin`. PBAC permission: `organization.attributes.update`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control'
operationId: OrganizationsAttributesController_updateOrganizationAttribute
parameters:
- name: Authorization
in: header
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_
required: true
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: attributeId
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrganizationAttributeInput'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrganizationAttributesOutput'
summary: Update an attribute
tags:
- Orgs / Attributes
x-platform-plan: ESSENTIALS
delete:
description: 'Required membership role: `org admin`. PBAC permission: `organization.attributes.delete`. Learn more about API access control at https://cal.com/docs/api-reference/v2/access-control'
operationId: OrganizationsAttributesController_deleteOrganizationAttribute
parameters:
- name: Authorization
in: header
description: value must be `Bearer <token>` where `<token>` is api key prefixed with cal_
required: true
schema:
type: string
- name: orgId
required: true
in: path
schema:
type: number
- name: attributeId
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteOrganizationAttributesOutput'
summary: Delete an attribute
tags:
- Orgs / Attributes
x-platform-plan: ESSENTIALS
components:
schemas:
UpdateOrganizationAttributeInput:
type: object
properties:
name:
type: string
slug:
type: string
type:
enum:
- TEXT
- NUMBER
- DATE
- SINGLE_SELECT
- MULTI_SELECT
- USER_RELATIONSHIP
type: string
enabled:
type: boolean
Attribute:
type: object
properties:
id:
type: string
description: The ID of the attribute
example: attr_123
teamId:
type: number
description: The team ID associated with the attribute
example: 1
type:
enum:
- TEXT
- NUMBER
- DATE
- SINGLE_SELECT
- MULTI_SELECT
- USER_RELATIONSHIP
type: string
description: The type of the attribute
name:
type: string
description: The name of the attribute
example: Attribute Name
slug:
type: string
description: The slug of the attribute
example: attribute-name
enabled:
type: boolean
description: Whether the attribute is enabled and displayed on their profile
example: true
usersCanEditRelation:
type: boolean
description: Whether users can edit the relation
example: true
required:
- id
- teamId
- type
- name
- slug
- enabled
GetSingleAttributeOutput:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
data:
type:
- object
- 'null'
allOf:
- $ref: '#/components/schemas/Attribute'
required:
- status
- data
UpdateOrganizationAttributesOutput:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
data:
$ref: '#/components/schemas/Attribute'
required:
- status
- data
DeleteOrganizationAttributesOutput:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
data:
$ref: '#/components/schemas/Attribute'
required:
- status
- data
CreateOrganizationAttributeOptionInput:
type: object
properties:
value:
type: string
slug:
type: string
required:
- value
- slug
CreateOrganizationAttributeInput:
type: object
properties:
name:
type: string
slug:
type: string
type:
enum:
- TEXT
- NUMBER
- DATE
- SINGLE_SELECT
- MULTI_SELECT
- USER_RELATIONSHIP
type: string
options:
type: array
items:
$ref: '#/components/schemas/CreateOrganizationAttributeOptionInput'
enabled:
type: boolean
required:
- name
- slug
- type
- options
CreateOrganizationAttributesOutput:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
data:
$ref: '#/components/schemas/Attribute'
required:
- status
- data
GetOrganizationAttributesOutput:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
data:
type: array
items:
$ref: '#/components/schemas/Attribute'
required:
- status
- data
x-provenance:
method: harvested
publisher: Cal.com
source: https://cal.com/docs/api-reference/v2/openapi.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)