National Center for Biotechnology Information (NCBI) Agentic Access

x-agentic-access generated

National Center for Biotechnology Information (NCBI) exposes 107 API operations that an AI agent could call, of which 41 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: 66 read and 41 write.

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.

BioinformaticsGenomicsLife SciencesPubMedSequencesBLASTTaxonomyChemistryOpen Access
Operations: 107 Acting: 41 Human-in-the-loop: 0 Method: generated

By consequence

read 66 write 41

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/ncbi-datasets-api.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: 107
  by_action_class:
    connected: 66
    acting: 41
  by_consequence:
    read: 66
    write: 41
  human_in_the_loop_required: 0
operations:
- 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