Aquabyte · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Aquabyte Public API

13 actions 13 updates security extends openapi/aquabyte-data-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Aquabyte's API. It is a proposal applied on top of the contract, not a document Aquabyte publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-replaced-byx-sunset-notex-apievangelist-profilex-apievangelist-rate-limitx-apievangelist-result-capx-apievangelist-contactsecuritySchemessecurity

Targets 13

$.info
$.components
$
$.paths['/pens/{penId}/environmental'].get
$.paths['/pens/{penId}/environmental/latest'].get
$.paths['/pens/{penId}/biomass'].get
$.paths['/pens/{penId}/biomass/harvestReport'].get
$.paths['/pens/{penId}/liceCount'].get
$.paths['/pens/{penId}/behavior/swimSpeed'].get
$.paths['/pens/{penId}/behavior/breathingIndex'].get
$.paths['/pens/{penId}/welfareScores'].get
$.paths['/superiorRate'].post
$.tags

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Aquabyte Public API
  version: 1.0.0
extends: openapi/aquabyte-data-api-openapi.yml
x-apievangelist:
  generated: '2026-08-06'
  method: generated
  source: openapi/aquabyte-data-api-openapi.yml
  note: >-
    Non-destructive enhancements over the specification Aquabyte serves at
    api.aquabyte.ai/openapi.json. The largest single gap this overlay closes is the missing
    securitySchemes object — the API is API-key authenticated and enforces it (401 on an
    unauthenticated call), but the specification never says so in machine-readable form.
    Applying this overlay makes the auth contract, the rate limit and the deprecation
    replacements readable by a generator or an agent. The original document is never
    mutated.
actions:
- target: $.info
  update:
    x-apievangelist-profile: https://apis.io/provider/aquabyte
    x-apievangelist-rate-limit:
      requests: 1000
      period: hour
      scope: api-key
      source: info.description
    x-apievangelist-result-cap:
      records: 10000
      pagination: cursor
      cursor_param: nextToken
    x-apievangelist-contact: info@apievangelist.com

- target: $.components
  update:
    securitySchemes:
      apikey:
        type: apiKey
        in: header
        name: apikey
        description: >-
          Per-customer API key issued by Aquabyte, sent on every request as the `apikey`
          header. Documented in info.description of the published specification; added here
          because the source document declares no securitySchemes.

- target: $
  update:
    security:
    - apikey: []

- target: $.paths['/pens/{penId}/environmental'].get
  update:
    x-replaced-by: get_environmental_environmental_get
    x-sunset-note: Use GET /environmental?penId={penId}

- target: $.paths['/pens/{penId}/environmental/latest'].get
  update:
    x-replaced-by: get_environmental_latest_all_pens_environmental_latest_get
    x-sunset-note: Use GET /environmental/latest?penId={penId}

- target: $.paths['/pens/{penId}/biomass'].get
  update:
    x-replaced-by: get_biomass_daily_biomass_get
    x-sunset-note: Use GET /biomass?penId={penId}

- target: $.paths['/pens/{penId}/biomass/harvestReport'].get
  update:
    x-replaced-by: get_biomass_harvest_report_biomass_harvestReport_get
    x-sunset-note: Use GET /biomass/harvestReport?penId={penId}

- target: $.paths['/pens/{penId}/liceCount'].get
  update:
    x-replaced-by: get_pen_lice_count_liceCount_get
    x-sunset-note: Use GET /liceCount?penId={penId}

- target: $.paths['/pens/{penId}/behavior/swimSpeed'].get
  update:
    x-replaced-by: get_behavior_swim_speed_behaviour_swimSpeed_get
    x-sunset-note: Use GET /behaviour/swimSpeed?penId={penId}

- target: $.paths['/pens/{penId}/behavior/breathingIndex'].get
  update:
    x-replaced-by: get_behavior_breathing_index_behaviour_breathingIndex_get
    x-sunset-note: Use GET /behaviour/breathingIndex?penId={penId}

- target: $.paths['/pens/{penId}/welfareScores'].get
  update:
    x-replaced-by: get_pen_welfare_data_welfareScores_get
    x-sunset-note: Use GET /welfareScores?penId={penId}

- target: $.paths['/superiorRate'].post
  update:
    x-stability: experimental
    x-note: >-
      Declared a preview API in its own summary; shape is subject to change. Uses POST but
      takes all inputs as query parameters and performs a read.

- target: $.tags
  update:
  - name: sites
    description: Site and pen inventory — the entities every other resource is keyed by.
  - name: environmental
    description: Temperature, camera depth, dissolved oxygen, salinity and fish density.