SEDNA · Agentic Access

SEDNA Agentic Access

x-agentic-access generated

SEDNA exposes 162 API operations that an AI agent could call, of which 81 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: 81 read, 35 write, 42 physical, and 4 safety-critical.

4 operations are classed safety-critical and should require human-in-the-loop approval at runtime.

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.

CompanyShippingMaritimeEmailCommunicationsWorkflowCommodity TradingLogisticsMessaging
Operations: 162 Acting: 81 Human-in-the-loop: 4 Method: generated

By consequence

read 81 write 35 physical 42 safety-critical 4

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.

MethodPathConsequenceHuman-in-loop
POST /2019-01-01/team/{id}/relationships/disable-send-users safety-critical required
DELETE /2019-01-01/team/{id}/relationships/disable-send-users safety-critical required
POST /2019-01-01/user/{id}/relationships/disable-send-teams safety-critical required
DELETE /2019-01-01/user/{id}/relationships/disable-send-teams safety-critical required
POST /2019-01-01/category-tag/{id}/relationships/message physical conditional
DELETE /2019-01-01/category-tag/{id}/relationships/message physical conditional
POST /2019-01-01/category-tag/{id}/relationships/team physical conditional
DELETE /2019-01-01/category-tag/{id}/relationships/team physical conditional
PATCH /2019-01-01/category-tag/{id}/relationships/team physical conditional
POST /2019-01-01/contact-group/{id}/relationships/contact physical conditional
DELETE /2019-01-01/contact-group/{id}/relationships/contact physical conditional
PATCH /2019-01-01/contact-group/{id}/relationships/contact physical conditional
POST /2019-01-01/job-reference/{id}/relationships/message physical conditional
DELETE /2019-01-01/job-reference/{id}/relationships/message physical conditional
POST /2019-01-01/job-reference/{id}/relationships/team physical conditional
DELETE /2019-01-01/job-reference/{id}/relationships/team physical conditional
PATCH /2019-01-01/job-reference/{id}/relationships/team physical conditional
DELETE /2019-01-01/job-reference/{id}/relationships/user physical conditional
POST /2019-01-01/keyword/{id}/relationships/user physical conditional
DELETE /2019-01-01/keyword/{id}/relationships/user physical conditional
POST /2019-01-01/message/send physical conditional
POST /2019-01-01/message/{id}/relationships/assignment physical conditional
POST /2019-01-01/message/{id}/relationships/category-tag physical conditional
DELETE /2019-01-01/message/{id}/relationships/category-tag physical conditional
PATCH /2019-01-01/message/{id}/relationships/category-tag physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-21'
method: generated
source: openapi/sedna-openapi.json
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: 162
  by_action_class:
    acting: 81
    connected: 81
  by_consequence:
    write: 35
    read: 81
    physical: 42
    safety-critical: 4
  human_in_the_loop_required: 4
operations:
- path: /2019-01-01/category-tag
  method: post
  operationId: createCategoryTag
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/category-tag
  method: get
  operationId: getCategoryTags
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/category-tag/{id}
  method: delete
  operationId: deleteCategoryTag
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/category-tag/{id}
  method: get
  operationId: getCategoryTag
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/category-tag/{id}
  method: patch
  operationId: updateCategoryTag
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/category-tag/{id}/message
  method: get
  operationId: getMessagesWithCategoryTag
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/category-tag/{id}/messageV2
  method: get
  operationId: getMessagesWithCategoryTagV2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/category-tag/{id}/relationships/message
  method: post
  operationId: addCategoryTagToMessages
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/category-tag/{id}/relationships/message
  method: get
  operationId: getCategoryTagMessageRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/category-tag/{id}/relationships/message
  method: delete
  operationId: removeCategoryTagFromMessages
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/category-tag/{id}/relationships/team
  method: post
  operationId: addCategoryTagTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/category-tag/{id}/relationships/team
  method: delete
  operationId: deleteCategoryTagTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/category-tag/{id}/relationships/team
  method: get
  operationId: getCategoryTagTeamRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/category-tag/{id}/relationships/team
  method: patch
  operationId: replaceCategoryTagTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/category-tag/{id}/team
  method: get
  operationId: getCategoryTagTeams
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/chartering/vessel
  method: post
  operationId: createVessel
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/comment
  method: get
  operationId: getComments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/company/me
  method: get
  operationId: find
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/company/me
  method: patch
  operationId: patchCompany
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact
  method: post
  operationId: createContact
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact
  method: get
  operationId: getContacts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/contact-group
  method: post
  operationId: createContactGroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact-group
  method: get
  operationId: getContactGroups
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/contact-group/{id}
  method: delete
  operationId: deleteContactGroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact-group/{id}
  method: get
  operationId: getGroup
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/contact-group/{id}
  method: patch
  operationId: updateContactGroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact-group/{id}/relationships/contact
  method: post
  operationId: addContactToGroup
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact-group/{id}/relationships/contact
  method: delete
  operationId: removeContactFromGroup
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact-group/{id}/relationships/contact
  method: patch
  operationId: replaceGroupContacts
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact/{id}
  method: delete
  operationId: deleteContact
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact/{id}
  method: get
  operationId: getContact
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/contact/{id}
  method: put
  operationId: updateContact
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact/{id}/comment
  method: post
  operationId: addContactComment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact/{id}/comment
  method: delete
  operationId: deleteContactComment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact/{id}/comment
  method: get
  operationId: getContactComments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/contact/{id}/comment
  method: put
  operationId: updateContactComment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/contact/{id}/relationships/contact-group
  method: get
  operationId: getContactGroupRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/contact/{id}/relationships/team
  method: get
  operationId: getContactTeamRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/document/{id}
  method: get
  operationId: getDocumentDetails
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/download/document/{id}
  method: get
  operationId: downloadDocument
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/download/message/{id}
  method: get
  operationId: downloadMessage
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/download/message/{id}/attachments/zip
  method: get
  operationId: downloadAllMessageAttachments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/download/template/document/{id}
  method: get
  operationId: downloadTemplateDocument
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event
  method: get
  operationId: getEvents
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event/latest
  method: get
  operationId: getLatestEvent
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event/{id}
  method: get
  operationId: getEvent
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event/{id}/category-tag
  method: get
  operationId: getEventCategoryTag
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event/{id}/job-reference
  method: get
  operationId: getEventJobReference
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event/{id}/message
  method: get
  operationId: getEventMessage
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event/{id}/relationships/category-tag
  method: get
  operationId: getEventCategoryTagRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event/{id}/relationships/job-reference
  method: get
  operationId: getEventJobReferenceRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/event/{id}/relationships/message
  method: get
  operationId: getEventMessageRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/job-reference
  method: post
  operationId: createJobReference
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/job-reference
  method: get
  operationId: getJobReferences
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/job-reference/{id}
  method: delete
  operationId: deleteJobReference
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/job-reference/{id}
  method: get
  operationId: getJobReference
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/job-reference/{id}
  method: patch
  operationId: updateJobReference
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/job-reference/{id}/message
  method: get
  operationId: getMessagesWithJobReference
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/job-reference/{id}/messageV2
  method: get
  operationId: getMessagesWithJobReferenceV2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/job-reference/{id}/relationships/message
  method: post
  operationId: addJobReferenceToMessages
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/job-reference/{id}/relationships/message
  method: get
  operationId: getJobReferenceMessageRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/job-reference/{id}/relationships/message
  method: delete
  operationId: removeJobReferenceFromMessages
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/job-reference/{id}/relationships/team
  method: post
  operationId: addJobReferenceTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/job-reference/{id}/relationships/team
  method: delete
  operationId: deleteJobReferenceTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/job-reference/{id}/relationships/team
  method: get
  operationId: getJobReferenceTeamRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/job-reference/{id}/relationships/team
  method: patch
  operationId: replaceJobReferenceTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/job-reference/{id}/relationships/user
  method: get
  operationId: getJobReferenceUserRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/job-reference/{id}/relationships/user
  method: delete
  operationId: removeJobReferenceUserRelationships
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/keyword
  method: post
  operationId: createKeyword
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/keyword
  method: get
  operationId: getKeywords
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/keyword/{id}
  method: delete
  operationId: deleteKeyword
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/keyword/{id}
  method: get
  operationId: getKeyword
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/keyword/{id}/relationships/user
  method: post
  operationId: addKeywordUsers
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/keyword/{id}/relationships/user
  method: delete
  operationId: removeKeywordUsers
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message
  method: post
  operationId: createMessageDraft
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/quarantine
  method: get
  operationId: listQuarantinedMessages
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/send
  method: post
  operationId: sendNewMessage
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}
  method: get
  operationId: getMessage
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}
  method: patch
  operationId: updateMessageDraft
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/assignment
  method: get
  operationId: getMessageAssignments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/category-tag
  method: get
  operationId: getMessageCategoryTags
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/comment
  method: get
  operationId: getMessageComments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/document
  method: post
  operationId: addDocumentToMessage
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/document
  method: get
  operationId: getMessageDocuments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/job-reference
  method: get
  operationId: getMessageJobReferences
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/quarantine
  method: patch
  operationId: quarantineMessage
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/quarantine/event
  method: get
  operationId: getMessageQuarantineEvents
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/relationships/assignment
  method: post
  operationId: addAssignments
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/category-tag
  method: post
  operationId: addMessageCategoryTags
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/category-tag
  method: get
  operationId: getMessageCategoryTagRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/relationships/category-tag
  method: delete
  operationId: removeMessageCategoryTags
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/category-tag
  method: patch
  operationId: replaceMessageCategoryTags
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/document
  method: get
  operationId: getMessageDocumentRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/relationships/job-reference
  method: post
  operationId: addMessageJobReferences
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/job-reference
  method: delete
  operationId: deleteMessageJobReferences
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/job-reference
  method: get
  operationId: getMessageJobReferenceRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/relationships/job-reference
  method: patch
  operationId: replaceMessageJobReferences
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/team
  method: post
  operationId: addMessageTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/team
  method: delete
  operationId: deleteMessageTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/relationships/team
  method: get
  operationId: getMessageTeamRelationships
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /2019-01-01/message/{id}/relationships/team
  method: patch
  operationId: replaceMessageTeams
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/send
  method: post
  operationId: sendMessage
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /2019-01-01/message/{id}/send
  method: patch
  operationId: updateAndSendMessagePatch
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalatio

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sedna/refs/heads/main/agentic-access/sedna-agentic-access.yml