generated: '2026-07-15' method: generated source: openapi/clinicaltrials-v2.json, openapi/ncbi-datasets-v2.yaml 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: 116 by_action_class: connected: 75 acting: 41 by_consequence: read: 75 write: 41 human_in_the_loop_required: 0 operations: - path: /studies method: get operationId: listStudies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /studies/{nctId} method: get operationId: fetchStudy x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /studies/metadata method: get operationId: studiesMetadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /studies/search-areas method: get operationId: searchAreas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /studies/enums method: get operationId: enums x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/size method: get operationId: sizeStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/field/values method: get operationId: fieldValuesStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /stats/field/sizes method: get operationId: listFieldSizesStats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /version method: get operationId: version x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/accession/{accessions}/download_summary method: get operationId: genome_download_summary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/download_summary method: post operationId: genome_download_summary_by_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: /genome/accession/{accessions}/dataset_report method: get operationId: genome_dataset_report x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/taxon/{taxons}/dataset_report method: get operationId: genome_dataset_reports_by_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/bioproject/{bioprojects}/dataset_report method: get operationId: genome_dataset_reports_by_bioproject x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/biosample/{biosample_ids}/dataset_report method: get operationId: genome_dataset_reports_by_biosample_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/wgs/{wgs_accessions}/dataset_report method: get operationId: genome_dataset_reports_by_wgs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/assembly_name/{assembly_names}/dataset_report method: get operationId: genome_dataset_reports_by_assembly_name x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/dataset_report method: post operationId: genome_dataset_report_by_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: /genome/sequence_accession/{accession}/sequence_assemblies method: get operationId: assembly_accessions_for_sequence_accession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/sequence_assemblies method: post operationId: assembly_accessions_for_sequence_accession_by_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: /genome/accession/{accession}/sequence_reports method: get operationId: genome_sequence_report x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/sequence_reports method: post operationId: genome_sequence_report_by_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: /genome/accession/{accessions}/links method: get operationId: genome_links_by_accession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/links method: post operationId: genome_links_by_accession_by_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: /genome/taxon/{species_taxon}/checkm_histogram method: get operationId: checkm_histogram_by_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/checkm_histogram method: post operationId: checkm_histogram_by_taxon_by_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: /biosample/accession/{accessions}/biosample_report method: get operationId: BioSample_dataset_report x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/accession/{accessions}/download method: get operationId: download_assembly_package x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/download method: post operationId: download_assembly_package_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: /gene/id/{gene_ids}/download method: get operationId: download_gene_package x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/download method: post operationId: download_gene_package_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: /protein/accession/{accessions}/download method: get operationId: download_prokaryote_gene_package x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /protein/accession/download method: post operationId: download_prokaryote_gene_package_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: /genome/accession/{accession}/annotation_report/download method: get operationId: download_genome_annotation_package x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/annotation_report/download method: post operationId: download_genome_annotation_package_by_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: /taxonomy/taxon/{tax_ids}/download method: get operationId: download_taxonomy_package x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/download method: post operationId: download_taxonomy_package_by_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: /genome/accession/{accessions}/check method: get operationId: check_assembly_availability x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/check method: post operationId: check_assembly_availability_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: /organelle/accession/{accessions}/download method: get operationId: download_organelle_package x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organelle/download method: post operationId: download_organelle_package_by_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: /version method: get operationId: version x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/id/{gene_ids} method: get operationId: gene_reports_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/accession/{accessions} method: get operationId: gene_metadata_by_accession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/symbol/{symbols}/taxon/{taxon} method: get operationId: gene_metadata_by_tax_and_symbol x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/taxon/{taxon} method: get operationId: gene_reports_by_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene method: post operationId: gene_metadata_by_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: /gene/id/{gene_ids}/dataset_report method: get operationId: gene_dataset_reports_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/accession/{accessions}/dataset_report method: get operationId: gene_dataset_report_by_accession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/symbol/{symbols}/taxon/{taxon}/dataset_report method: get operationId: gene_dataset_report_by_tax_and_symbol x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/taxon/{taxon}/dataset_report method: get operationId: gene_dataset_reports_by_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/locus_tag/{locus_tags}/dataset_report method: get operationId: gene_dataset_reports_by_locus_tag x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/dataset_report method: post operationId: gene_dataset_report 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: /gene/id/{gene_ids}/product_report method: get operationId: gene_product_reports_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/accession/{accessions}/product_report method: get operationId: gene_product_report_by_accession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/symbol/{symbols}/taxon/{taxon}/product_report method: get operationId: gene_product_report_by_tax_and_symbol x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/taxon/{taxon}/product_report method: get operationId: gene_product_reports_by_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/locus_tag/{locus_tags}/product_report method: get operationId: gene_product_reports_by_locus_tags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/product_report method: post operationId: gene_product_report 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: /gene/id/{gene_ids}/download_summary method: get operationId: gene_download_summary_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/download_summary method: post operationId: gene_download_summary_by_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: /gene/taxon/{taxon}/counts method: get operationId: gene_counts_for_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/taxon/counts method: post operationId: gene_counts_for_taxon_by_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: /gene/id/{gene_id}/orthologs method: get operationId: gene_orthologs_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/orthologs method: post operationId: gene_orthologs_by_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: /gene/id/{gene_ids}/links method: get operationId: gene_links_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /gene/links method: post operationId: gene_links_by_id_by_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: /gene/taxon/{taxon}/annotation/{annotation_name}/chromosome_summary method: get operationId: gene_chromosome_summary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/accession/{accession}/annotation_report method: get operationId: genome_annotation_report x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/annotation_report method: post operationId: genome_annotation_report_by_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: /genome/accession/{accession}/annotation_summary method: get operationId: annotation_report_facets_by_accession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/annotation_summary method: post operationId: annotation_report_facets_by_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: /genome/accession/{accession}/annotation_report/download_summary method: get operationId: genome_annotation_download_summary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/annotation_report/download_summary method: post operationId: genome_annotation_download_summary_by_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: /organelle/accessions/{accessions}/dataset_report method: get operationId: organelle_datareport_by_accession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organelle/taxon/{taxons}/dataset_report method: get operationId: organelle_datareport_by_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organelle/dataset_report method: post operationId: organelle_datareport_by_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: /taxonomy/taxon/{taxons} method: get operationId: taxonomy_metadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy method: post operationId: taxonomy_metadata_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: /taxonomy/taxon/{taxons}/dataset_report method: get operationId: taxonomy_data_report x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/dataset_report method: post operationId: taxonomy_data_report_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: /taxonomy/taxon/{taxons}/name_report method: get operationId: taxonomy_names x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/name_report method: post operationId: taxonomy_names_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: /taxonomy/taxon/{tax_id}/related_ids method: get operationId: taxonomy_related_ids x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/related_ids method: post operationId: taxonomy_related_ids_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: /taxonomy/taxon/{taxons}/filtered_subtree method: get operationId: taxonomy_filtered_subtree x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/filtered_subtree method: post operationId: taxonomy_filtered_subtree_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: /taxonomy/taxon_suggest/{taxon_query} method: get operationId: tax_name_query x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/taxon_suggest method: post operationId: tax_name_query_by_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: /taxonomy/taxon/{taxon}/links method: get operationId: taxonomy_links x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/links method: post operationId: taxonomy_links_by_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: /taxonomy/taxon/{taxon}/image method: get operationId: taxonomy_image x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/image method: post operationId: taxonomy_image_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: /taxonomy/taxon/{taxon}/image/metadata method: get operationId: taxonomy_image_metadata x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /taxonomy/image/metadata method: post operationId: taxonomy_image_metadata_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: /virus/taxon/{taxon}/genome method: get operationId: virus_genome_summary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/genome method: post operationId: virus_genome_summary_by_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: /virus/taxon/sars2/protein/{proteins} method: get operationId: sars2_protein_summary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/taxon/sars2/protein method: post operationId: sars2_protein_summary_by_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: /virus/taxon/{taxon}/genome/table method: get operationId: virus_genome_table x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/taxon/sars2/protein/{proteins}/table method: get operationId: sars2_protein_table x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/taxon/{taxon}/dataset_report method: get operationId: virus_reports_by_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/accession/{accessions}/dataset_report method: get operationId: virus_reports_by_acessions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus method: post operationId: virus_reports_by_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: /virus/taxon/{taxon}/annotation_report method: get operationId: virus_annotation_reports_by_taxon x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/accession/{accessions}/annotation_report method: get operationId: virus_annotation_reports_by_acessions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/annotation_report method: post operationId: virus_annotation_reports_by_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: /virus/accession/{accessions}/check method: get operationId: virus_accession_availability x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/check method: post operationId: virus_accession_availability_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: /virus/taxon/{taxon}/genome/download method: get operationId: virus_genome_download x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/accession/{accessions}/genome/download method: get operationId: virus_genome_download_accession x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/genome/download method: post operationId: virus_genome_download_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: /virus/taxon/sars2/protein/{proteins}/download method: get operationId: sars2_protein_download x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /virus/taxon/sars2/protein/download method: post operationId: sars2_protein_download_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: /genome/accession/{accession}/revision_history method: get operationId: assembly_revision_history_by_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /genome/revision_history method: post operationId: assembly_revision_history_by_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