Cal.com Orgs / Attributes / Sync History API
The Orgs / Attributes / Sync History API from Cal.com — 2 operation(s) for orgs / attributes / sync history.
The Orgs / Attributes / Sync History API from Cal.com — 2 operation(s) for orgs / attributes / sync history.
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-sync-history-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 / Sync History API
description: ''
version: 1.0.0
contact: {}
servers: []
tags:
- name: Orgs / Attributes / Sync History
paths:
/v2/organizations/{orgId}/attributes/sync-history:
get:
description: Returns a paginated list of integration sync runs for the organization, including rule evaluations, applied field mappings, and team membership changes per run. Supports cursor-based pagination.
operationId: OrganizationAttributeSyncHistoryController_getAttributeSyncHistory
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: limit
required: false
in: query
description: Maximum number of items to return (1–100)
schema:
minimum: 1
maximum: 100
default: 25
example: 25
type: number
- name: cursor
required: false
in: query
description: Cursor for keyset pagination (UUID of the last item from previous page)
schema:
format: uuid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAttributeSyncHistoryOutput'
summary: Get attribute sync history
tags:
- Orgs / Attributes / Sync History
x-platform-plan: ESSENTIALS
/v2/organizations/{orgId}/attributes/sync-history/user/{userId}:
get:
description: Returns a paginated list of integration sync runs filtered by user within the organization, including rule evaluations, applied field mappings, and team membership changes per run. Supports cursor-based pagination.
operationId: OrganizationAttributeSyncHistoryController_getUserSyncHistory
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: userId
required: true
in: path
schema:
type: number
- name: limit
required: false
in: query
description: Maximum number of items to return (1–100)
schema:
minimum: 1
maximum: 100
default: 25
example: 25
type: number
- name: cursor
required: false
in: query
description: Cursor for keyset pagination (UUID of the last item from previous page)
schema:
format: uuid
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetAttributeSyncHistoryOutput'
summary: Get sync history for a specific user
tags:
- Orgs / Attributes / Sync History
x-platform-plan: ESSENTIALS
components:
schemas:
IntegrationSyncRunWithChildrenOutput:
type: object
properties:
id:
type: string
description: Unique identifier of the sync run
provider:
type: string
description: Integration provider (e.g. SALESFORCE)
credentialId:
type:
- number
- 'null'
description: Credential ID that triggered the sync
organizationId:
type:
- number
- 'null'
description: Organization ID
userId:
type:
- number
- 'null'
description: Cal.com user ID affected by this sync
userName:
type:
- string
- 'null'
description: Display name of the affected user
externalUserId:
type:
- string
- 'null'
description: External provider user identifier
status:
type: string
description: Status of the sync run
enum:
- APPLIED
- SKIPPED_BY_RULE
- NO_RULES_MATCHED
- FAILED
- INVALID_SIGNATURE
- RATE_LIMITED
signatureVerified:
type: boolean
description: Whether the inbound webhook signature was verified
errorMessage:
type:
- string
- 'null'
description: Error message if the sync failed
createdAt:
type: string
description: When this sync run was recorded
ruleEvaluations:
description: Rules evaluated during this sync run
type: array
items:
$ref: '#/components/schemas/RuleEvaluationOutput'
appliedFieldMappings:
description: Field mappings applied during this sync run
type: array
items:
$ref: '#/components/schemas/FieldMappingAppliedOutput'
teamMembershipChanges:
description: Team membership changes resulting from this sync run
type: array
items:
$ref: '#/components/schemas/TeamMembershipChangeOutput'
required:
- id
- provider
- status
- signatureVerified
- createdAt
- ruleEvaluations
- appliedFieldMappings
- teamMembershipChanges
RuleEvaluationOutput:
type: object
properties:
id:
type: string
description: Unique identifier of the rule evaluation
runId:
type: string
description: ID of the parent sync run
ruleId:
type:
- string
- 'null'
description: ID of the matching rule, if any
evaluationOrder:
type: number
description: Order in which this rule was evaluated
attributeKey:
type: string
description: Attribute key that was evaluated
operator:
type: string
description: Comparison operator used (e.g. EQUALS, CONTAINS)
expectedValue:
type:
- string
- 'null'
description: Value the rule expected to match
expectedValueType:
type: string
description: Data type of the expected value
actualValue:
type:
- string
- 'null'
description: Actual value from the external provider
actualValueType:
type: string
description: Data type of the actual value
passed:
type: boolean
description: Whether the rule condition was satisfied
createdAt:
type: string
description: When this evaluation was recorded
required:
- id
- runId
- evaluationOrder
- attributeKey
- operator
- expectedValueType
- actualValueType
- passed
- createdAt
GetAttributeSyncHistoryOutput:
type: object
properties:
status:
enum:
- success
- error
type: string
example: success
data:
type: array
items:
$ref: '#/components/schemas/IntegrationSyncRunWithChildrenOutput'
meta:
$ref: '#/components/schemas/PaginationMeta'
required:
- status
- data
- meta
PaginationMeta:
type: object
properties:
hasMore:
type: boolean
description: Whether more pages are available
nextCursor:
type: string
description: Cursor for the next page, if available
required:
- hasMore
FieldMappingAppliedOutput:
type: object
properties:
id:
type: string
description: Unique identifier of the field mapping application
runId:
type: string
description: ID of the parent sync run
fieldMappingId:
type:
- string
- 'null'
description: ID of the field mapping configuration
attributeId:
type:
- string
- 'null'
description: ID of the Cal.com attribute that was updated
attributeSlug:
type: string
description: Slug of the Cal.com attribute
attributeName:
type: string
description: Display name of the Cal.com attribute
sourceField:
type: string
description: Source field name from the external provider
previousValue:
type:
- string
- 'null'
description: Attribute value before the sync
newValue:
type:
- string
- 'null'
description: Attribute value after the sync
outcome:
type: string
description: Outcome of the mapping (e.g. CREATED, UPDATED, UNCHANGED)
createdAt:
type: string
description: When this mapping was applied
required:
- id
- runId
- attributeSlug
- attributeName
- sourceField
- outcome
- createdAt
TeamMembershipChangeOutput:
type: object
properties:
id:
type: string
description: Unique identifier of the membership change
runId:
type: string
description: ID of the parent sync run
teamId:
type:
- number
- 'null'
description: Cal.com team ID affected by this change
teamName:
type: string
description: Name of the team
teamSlug:
type:
- string
- 'null'
description: Slug of the team
outcome:
type: string
description: Outcome of the change (e.g. ADDED, REMOVED, NO_CHANGE)
createdAt:
type: string
description: When this membership change was recorded
required:
- id
- runId
- teamName
- outcome
- createdAt
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)