generated: '2026-09-17' method: generated source: openapi/california-attorney-general-openjustice-jsonapi-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: 68 by_action_class: connected: 65 acting: 3 by_consequence: read: 65 write: 3 human_in_the_loop_required: 0 operations: - path: / method: get operationId: getResourceIndex x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/dataset method: get operationId: listNodeDataset x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/dataset/{id} method: get operationId: getNodeDataset x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/stats method: get operationId: listNodeStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/stats/{id} method: get operationId: getNodeStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/publication method: get operationId: listNodePublication x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/publication/{id} method: get operationId: getNodePublication x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/documentation method: get operationId: listNodeDocumentation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/documentation/{id} method: get operationId: getNodeDocumentation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/exploration method: get operationId: listNodeExploration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/exploration/{id} method: get operationId: getNodeExploration x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/data_story method: get operationId: listNodeDataStory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/data_story/{id} method: get operationId: getNodeDataStory x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/data_story_section method: get operationId: listNodeDataStorySection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/data_story_section/{id} method: get operationId: getNodeDataStorySection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/page method: get operationId: listNodePage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/page/{id} method: get operationId: getNodePage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/landing_page method: get operationId: listNodeLandingPage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/landing_page/{id} method: get operationId: getNodeLandingPage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/front_page method: get operationId: listNodeFrontPage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/front_page/{id} method: get operationId: getNodeFrontPage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /file/file method: get operationId: listFileFile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /file/file/{id} method: get operationId: getFileFile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/data_chart method: get operationId: listParagraphDataChart x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/data_chart/{id} method: get operationId: getParagraphDataChart x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/data_tab method: get operationId: listParagraphDataTab x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/data_tab/{id} method: get operationId: getParagraphDataTab x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/publication_report method: get operationId: listParagraphPublicationReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/publication_report/{id} method: get operationId: getParagraphPublicationReport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/section_block method: get operationId: listParagraphSectionBlock x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/section_block/{id} method: get operationId: getParagraphSectionBlock x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/block_item method: get operationId: listParagraphBlockItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/block_item/{id} method: get operationId: getParagraphBlockItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/blocks_quad method: get operationId: listParagraphBlocksQuad x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/blocks_quad/{id} method: get operationId: getParagraphBlocksQuad x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/highlight_item method: get operationId: listParagraphHighlightItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/highlight_item/{id} method: get operationId: getParagraphHighlightItem x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/highlight_tri method: get operationId: listParagraphHighlightTri x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/highlight_tri/{id} method: get operationId: getParagraphHighlightTri x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/intro_header method: get operationId: listParagraphIntroHeader x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/intro_header/{id} method: get operationId: getParagraphIntroHeader x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/link method: get operationId: listParagraphLink x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraph/link/{id} method: get operationId: getParagraphLink x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy_term/data_type method: get operationId: listTaxonomyTermDataType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy_term/data_type/{id} method: get operationId: getTaxonomyTermDataType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy_term/data_story_year method: get operationId: listTaxonomyTermDataStoryYear x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy_term/data_story_year/{id} method: get operationId: getTaxonomyTermDataStoryYear x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy_term/site_section method: get operationId: listTaxonomyTermSiteSection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy_term/site_section/{id} method: get operationId: getTaxonomyTermSiteSection x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy_term/story_type method: get operationId: listTaxonomyTermStoryType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy_term/story_type/{id} method: get operationId: getTaxonomyTermStoryType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node_type/node_type method: get operationId: listNodeTypeNodeType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node_type/node_type/{id} method: get operationId: getNodeTypeNodeType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraphs_type/paragraphs_type method: get operationId: listParagraphsTypeParagraphsType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /paragraphs_type/paragraphs_type/{id} method: get operationId: getParagraphsTypeParagraphsType x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /menu/menu method: get operationId: listMenuMenu x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /menu/menu/{id} method: get operationId: getMenuMenu x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /menu_link_content/menu_link_content method: get operationId: listMenuLinkContentMenuLinkContent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /menu_link_content/menu_link_content/{id} method: get operationId: getMenuLinkContentMenuLinkContent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /contact_form/contact_form method: get operationId: listContactFormContactForm x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /contact_form/contact_form/{id} method: get operationId: getContactFormContactForm x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /date_format/date_format method: get operationId: listDateFormatDateFormat x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /date_format/date_format/{id} method: get operationId: getDateFormatDateFormat x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /block/block method: get operationId: listBlockBlock x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /block/block/{id} method: get operationId: getBlockBlock x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /node/signup method: post operationId: createNodeSignup 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: /node/suggestion method: post operationId: createNodeSuggestion 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: /node/bug method: post operationId: createNodeBug 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