generated: '2026-07-15' method: generated source: openapi/rcsb-pdb-model-server-api.json, openapi/rcsb-pdb-search-api.json, openapi/rcsb-pdb-volume-server-api.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: 28 by_action_class: connected: 18 acting: 10 by_consequence: read: 18 write: 10 human_in_the_loop_required: 0 operations: - path: /v1/{id}/assembly method: get operationId: assembly x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/{id}/assembly method: post operationId: assembly-post 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: /v1/{id}/atoms method: get operationId: atoms x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/{id}/atoms method: post operationId: atoms-post 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: /v1/{id}/full method: get operationId: full x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/{id}/full method: post operationId: full-post 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: /v1/{id}/ligand method: get operationId: ligand x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/{id}/ligand method: post operationId: ligand-post 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: /v1/{id}/residueInteraction method: get operationId: residueInteraction x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/{id}/residueInteraction method: post operationId: residueInteraction-post 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: /v1/{id}/residueSurroundings method: get operationId: residueSurroundings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/{id}/residueSurroundings method: post operationId: residueSurroundings-post 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: /v1/{id}/surroundingLigands method: get operationId: surroundingLigands x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/{id}/surroundingLigands method: post operationId: surroundingLigands-post 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: /v1/{id}/symmetryMates method: get operationId: symmetryMates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/{id}/symmetryMates method: post operationId: symmetryMates-post 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: /v1/query-many method: get operationId: query-many x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/query-many method: post operationId: query-many-post 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: /rcsbsearch/v2/query method: get operationId: runJsonQueriesGet x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rcsbsearch/v2/query method: post operationId: runJsonQueriesPost 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: /rcsbsearch/v2/suggest method: get operationId: getSuggestions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rcsbsearch/v2/query/unreleased method: get operationId: runUnreleasedEntryJsonQueries x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rcsbsearch/v2/metadata/unreleased/schema method: get operationId: getUnreleasedEntryMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rcsbsearch/v2/metadata/schema method: get operationId: getMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /rcsbsearch/v2/metadata/chemical/schema method: get operationId: getChemicalMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{source}/{id}/ method: get operationId: getInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{source}/{id}/box/{a1,a2,a3}/{b1,b2,b3}/ method: get operationId: getBox x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /{source}/{id}/cell/ method: get operationId: getCell x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none