Pipedrive Agentic Access
Pipedrive exposes 371 API operations that an AI agent could call, of which 191 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 180 read, 188 write, and 3 physical.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| POST | /organizationRelationships | physical | conditional |
| DELETE | /organizationRelationships/{id} | physical | conditional |
| PUT | /organizationRelationships/{id} | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/pipedrive-v1-openapi.yml, openapi/pipedrive-v2-openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
audience per deployment. See research/curity/agentic-governance/.
summary:
operations: 371
by_action_class:
connected: 180
acting: 191
by_consequence:
read: 180
write: 188
physical: 3
human_in_the_loop_required: 0
operations:
- path: /activityFields
method: get
operationId: getActivityFields
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- activities:full
- activities:read
token:
max-ttl: 3600
audit: none
- path: /activityTypes
method: get
operationId: getActivityTypes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- activities:full
- activities:read
- admin
token:
max-ttl: 3600
audit: none
- path: /activityTypes
method: post
operationId: addActivityType
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /activityTypes/{id}
method: delete
operationId: deleteActivityType
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /activityTypes/{id}
method: put
operationId: updateActivityType
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /billing/subscriptions/addons
method: get
operationId: getCompanyAddons
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- users:read
token:
max-ttl: 3600
audit: none
- path: /callLogs
method: post
operationId: addCallLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- phone-integration
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /callLogs
method: get
operationId: getUserCallLogs
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- phone-integration
token:
max-ttl: 3600
audit: none
- path: /callLogs/{id}
method: delete
operationId: deleteCallLog
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- phone-integration
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /callLogs/{id}
method: get
operationId: getCallLog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- phone-integration
token:
max-ttl: 3600
audit: none
- path: /callLogs/{id}/recordings
method: post
operationId: addCallLogAudioFile
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- phone-integration
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /channels
method: post
operationId: addChannel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- messengers-integration
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /channels/{id}
method: delete
operationId: deleteChannel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- messengers-integration
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /channels/messages/receive
method: post
operationId: receiveMessage
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- messengers-integration
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /channels/{channel-id}/conversations/{conversation-id}
method: delete
operationId: deleteConversation
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- messengers-integration
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /currencies
method: get
operationId: getCurrencies
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- base
token:
max-ttl: 3600
audit: none
- path: /deals/archived
method: get
operationId: getArchivedDeals
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/summary
method: get
operationId: getDealsSummary
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/summary/archived
method: get
operationId: getArchivedDealsSummary
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/timeline
method: get
operationId: getDealsTimeline
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/timeline/archived
method: get
operationId: getArchivedDealsTimeline
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/{id}/changelog
method: get
operationId: getDealChangelog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- recents:read
token:
max-ttl: 3600
audit: none
- path: /deals/{id}/duplicate
method: post
operationId: duplicateDeal
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /deals/{id}/files
method: get
operationId: getDealFiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/{id}/flow
method: get
operationId: getDealUpdates
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- recents:read
token:
max-ttl: 3600
audit: none
- path: /deals/{id}/participantsChangelog
method: get
operationId: getDealParticipantsChangelog
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/{id}/followers
method: get
operationId: getDealFollowers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/{id}/followers
method: post
operationId: addDealFollower
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /deals/{id}/followers/{follower_id}
method: delete
operationId: deleteDealFollower
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /deals/{id}/mailMessages
method: get
operationId: getDealMailMessages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- mail:full
- mail:read
token:
max-ttl: 3600
audit: none
- path: /deals/{id}/merge
method: put
operationId: mergeDeals
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /deals/{id}/participants
method: get
operationId: getDealParticipants
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /deals/{id}/participants
method: post
operationId: addDealParticipant
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /deals/{id}/participants/{deal_participant_id}
method: delete
operationId: deleteDealParticipant
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /deals/{id}/permittedUsers
method: get
operationId: getDealUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /dealFields
method: get
operationId: getDealFields
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- admin
- deal-fields:full
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /dealFields
method: post
operationId: addDealField
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
- deal-fields:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /dealFields
method: delete
operationId: deleteDealFields
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
- deal-fields:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /dealFields/{id}
method: get
operationId: getDealField
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- admin
- deal-fields:full
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /dealFields/{id}
method: delete
operationId: deleteDealField
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
- deal-fields:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /dealFields/{id}
method: put
operationId: updateDealField
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
- deal-fields:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files
method: get
operationId: getFiles
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- activities:full
- activities:read
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /files
method: post
operationId: addFile
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files/remote
method: post
operationId: addFileAndLinkIt
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files/remoteLink
method: post
operationId: linkFileToItem
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files/{id}
method: delete
operationId: deleteFile
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files/{id}
method: get
operationId: getFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- activities:full
- activities:read
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /files/{id}
method: put
operationId: updateFile
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /files/{id}/download
method: get
operationId: downloadFile
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- activities:full
- activities:read
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /filters
method: delete
operationId: deleteFilters
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /filters
method: get
operationId: getFilters
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- activities:full
- activities:read
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /filters
method: post
operationId: addFilter
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /filters/helpers
method: get
operationId: getFilterHelpers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- activities:full
- activities:read
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /filters/{id}
method: delete
operationId: deleteFilter
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /filters/{id}
method: get
operationId: getFilter
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- activities:full
- activities:read
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /filters/{id}
method: put
operationId: updateFilter
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- activities:full
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /goals
method: post
operationId: addGoal
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- goals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /goals/find
method: get
operationId: getGoals
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- goals:full
- goals:read
token:
max-ttl: 3600
audit: none
- path: /goals/{id}
method: put
operationId: updateGoal
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- goals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /goals/{id}
method: delete
operationId: deleteGoal
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- goals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /goals/{id}/results
method: get
operationId: getGoalResult
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- goals:full
- goals:read
token:
max-ttl: 3600
audit: none
- path: /leads
method: get
operationId: getLeads
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- leads:full
- leads:read
token:
max-ttl: 3600
audit: none
- path: /leads
method: post
operationId: addLead
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- leads:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /leads/archived
method: get
operationId: getArchivedLeads
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- leads:full
- leads:read
token:
max-ttl: 3600
audit: none
- path: /leads/{id}
method: get
operationId: getLead
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- leads:full
- leads:read
token:
max-ttl: 3600
audit: none
- path: /leads/{id}
method: patch
operationId: updateLead
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- leads:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /leads/{id}
method: delete
operationId: deleteLead
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- leads:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /leads/{id}/permittedUsers
method: get
operationId: getLeadUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- leads:full
- leads:read
token:
max-ttl: 3600
audit: none
- path: /leads/search
method: get
operationId: searchLeads
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- leads:full
- leads:read
- search:read
token:
max-ttl: 3600
audit: none
- path: /leadFields
method: get
operationId: getLeadFields
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- admin
- leads:full
- leads:read
token:
max-ttl: 3600
audit: none
- path: /leadLabels
method: get
operationId: getLeadLabels
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- leads:full
- leads:read
token:
max-ttl: 3600
audit: none
- path: /leadLabels
method: post
operationId: addLeadLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- leads:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /leadLabels/{id}
method: patch
operationId: updateLeadLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- leads:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /leadLabels/{id}
method: delete
operationId: deleteLeadLabel
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- leads:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /leadSources
method: get
operationId: getLeadSources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- leads:full
- leads:read
token:
max-ttl: 3600
audit: none
- path: /legacyTeams
method: get
operationId: getTeams
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- users:read
token:
max-ttl: 3600
audit: none
- path: /legacyTeams
method: post
operationId: addTeam
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /legacyTeams/{id}
method: get
operationId: getTeam
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- users:read
token:
max-ttl: 3600
audit: none
- path: /legacyTeams/{id}
method: put
operationId: updateTeam
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /legacyTeams/{id}/users
method: get
operationId: getTeamUsers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- users:read
token:
max-ttl: 3600
audit: none
- path: /legacyTeams/{id}/users
method: post
operationId: addTeamUser
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /legacyTeams/{id}/users
method: delete
operationId: deleteTeamUser
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- admin
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /legacyTeams/user/{id}
method: get
operationId: getUserTeams
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- users:read
token:
max-ttl: 3600
audit: none
- path: /mailbox/mailMessages/{id}
method: get
operationId: getMailMessage
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- mail:full
- mail:read
token:
max-ttl: 3600
audit: none
- path: /mailbox/mailThreads
method: get
operationId: getMailThreads
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- mail:full
- mail:read
token:
max-ttl: 3600
audit: none
- path: /mailbox/mailThreads/{id}
method: delete
operationId: deleteMailThread
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- mail:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /mailbox/mailThreads/{id}
method: get
operationId: getMailThread
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- mail:full
- mail:read
token:
max-ttl: 3600
audit: none
- path: /mailbox/mailThreads/{id}
method: put
operationId: updateMailThreadDetails
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- mail:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /mailbox/mailThreads/{id}/mailMessages
method: get
operationId: getMailThreadMessages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- mail:full
- mail:read
token:
max-ttl: 3600
audit: none
- path: /meetings/userProviderLinks
method: post
operationId: saveUserProviderLink
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-calls
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /meetings/userProviderLinks/{id}
method: delete
operationId: deleteUserProviderLink
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- video-calls
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /notes
method: get
operationId: getNotes
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /notes
method: post
operationId: addNote
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /notes/{id}
method: delete
operationId: deleteNote
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /notes/{id}
method: get
operationId: getNote
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /notes/{id}
method: put
operationId: updateNote
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /notes/{id}/comments
method: get
operationId: getNoteComments
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /notes/{id}/comments
method: post
operationId: addNoteComment
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /notes/{id}/comments/{commentId}
method: get
operationId: getComment
x-agentic-access:
action-class: connected
consequence: read
subject: optional
scope:
- contacts:full
- contacts:read
- deals:full
- deals:read
token:
max-ttl: 3600
audit: none
- path: /notes/{id}/comments/{commentId}
method: put
operationId: updateCommentForNote
x-agentic-access:
action-class: acting
consequence: write
subject: required
scope:
- contacts:full
- deals:full
audience: null
token:
max-ttl: 900
escalation:
human-in-the-loop: conditional
triggers:
- abnormal
- high-value
audit: required
- path: /notes/{id}/comm
# --- truncated at 32 KB (118 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pipedrive/refs/heads/main/agentic-access/pipedrive-agentic-access.yml