4Paradigm · OpenAPI Overlay 1.0.0

API Evangelist enhancements — Pineapple-billing

14 actions 14 updates documentation extends 4paradigm-openaios-billing.yaml
Generated by API Evangelist Written by API Evangelist tooling for 4Paradigm's API. It is a proposal applied on top of the contract, not a document 4Paradigm publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-api-evangelist-operation-idlicensecontactx-api-evangelist-sourcedescription

Targets 14

$.info
$.servers[0]
$.paths['/account'].get
$.paths['/account/{userid}'].post
$.paths['/account/{userid}'].delete
$.paths['/account/{userid}'].put
$.paths['/account/{userid}/balance'].get
$.paths['/account/{userid}/balance'].post
$.paths['/computeunit/{userid}'].get
$.paths['/computeunit/{userid}'].post
$.paths['/computeunit/{userid}'].delete
$.paths['/computeunit/{userid}/computeunit_id/{computeunit_id}'].get
$.paths['/computeunit/group/{group_name}'].get
$.paths['/computeunit/price'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements — Pineapple-billing
  version: 1.0.0
extends: 4paradigm-openaios-billing.yaml
x-generated: '2026-09-05'
x-method: generated
x-source: generated by the API Evangelist enrichment pipeline against the verbatim spec in openapi/_original/;
  adds only licence/source provenance and derived operationIds — no operation, parameter or schema is
  invented
actions:
- target: $.info
  description: Record the upstream licence and source, which the published spec omits.
  update:
    license:
      name: Apache-2.0
      url: https://github.com/4paradigm/openaios-platform/blob/master/LICENSE
    contact:
      name: 4Paradigm Open Source Community
      url: https://github.com/4paradigm/openaios-platform
    x-api-evangelist-source: https://github.com/4paradigm/openaios-platform/blob/master/doc/api/billing.yaml
- target: $.servers[0]
  description: The published server is a loopback address because OpenAIOS-Platform is self-hosted on
    the operator's own Kubernetes cluster; it is correct, not a placeholder.
  update:
    description: Self-hosted. Replace the loopback host with the address of your own OpenAIOS-Platform
      deployment; the port and path prefix are the component's shipped defaults.
- target: $.paths['/account'].get
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: getAccount
    x-api-evangelist-operation-id: derived
- target: $.paths['/account/{userid}'].post
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: postAccountByUserid
    x-api-evangelist-operation-id: derived
- target: $.paths['/account/{userid}'].delete
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: deleteAccountByUserid
    x-api-evangelist-operation-id: derived
- target: $.paths['/account/{userid}'].put
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: putAccountByUserid
    x-api-evangelist-operation-id: derived
- target: $.paths['/account/{userid}/balance'].get
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: getAccountByUseridBalance
    x-api-evangelist-operation-id: derived
- target: $.paths['/account/{userid}/balance'].post
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: postAccountByUseridBalance
    x-api-evangelist-operation-id: derived
- target: $.paths['/computeunit/{userid}'].get
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: getComputeunitByUserid
    x-api-evangelist-operation-id: derived
- target: $.paths['/computeunit/{userid}'].post
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: postComputeunitByUserid
    x-api-evangelist-operation-id: derived
- target: $.paths['/computeunit/{userid}'].delete
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: deleteComputeunitByUserid
    x-api-evangelist-operation-id: derived
- target: $.paths['/computeunit/{userid}/computeunit_id/{computeunit_id}'].get
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: getComputeunitByUseridComputeunitIdByComputeunitId
    x-api-evangelist-operation-id: derived
- target: $.paths['/computeunit/group/{group_name}'].get
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: getComputeunitGroupByGroupName
    x-api-evangelist-operation-id: derived
- target: $.paths['/computeunit/price'].get
  description: Add a derived operationId; the published operation has none, which makes it unaddressable
    by code generators and by agents.
  update:
    operationId: getComputeunitPrice
    x-api-evangelist-operation-id: derived