Hive Civilization Morph API

The Morph API from Hive Civilization — 25 operation(s) for morph.

Operations 25

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /v1/morph/offer Request a Morph offer for an agent intent · Morph Offer #
Ask an LLM
“How do I get a HiveMorph offer token for what my agent wants to do?”
“What happens when an offer request fails one of the three gates?”
Tell an agent
Request a Morph offer for intent "{intent_text}" from counterparty {counterparty_did}.
Ask Morph for an offer covering {asks} for {counterparty_did} with intent "{intent_text}".
POST /v1/morph/settle/{token_id} Settle a reserved Morph offer · Morph Settle #
Ask an LLM
“How do I commit the reservation behind a Morph offer token?”
“Does settling an offer write a final receipt to the audit chain?”
Tell an agent
Settle Morph token {token_id} using reservation {reservation_id}.
Commit reservation {reservation_id} for offer token {token_id} and finalize it.
GET /v1/morph/audit/recent Show the latest Morph audit chain entries · Audit Recent #
Ask an LLM
“Where can I see the most recent rows in the Morph audit chain?”
“How many audit chain entries does the recent audit view return?”
Tell an agent
Show me the last 50 Morph audit chain rows.
Pull the recent Morph audit log so I can check what just settled.
GET /v1/morph/identity/{mii_id} Get an agent's spectral identity card · Morph Identity #
Ask an LLM
“What does an agent's spectral identity card include, like tier, wings and sound?”
“Can I get the identity card for a specific shape such as Provenancer?”
Tell an agent
Get the spectral identity card for MII {mii_id}.
Show the identity card for MII {mii_id} rendered as the {shape} shape.
GET /v1/morph/supermodels List all supermodel character cards · Morph Supermodels #
Ask an LLM
“Which supermodel characters does HiveMorph have and what role does each play?”
“Can I hide the treasury and cold-reserve supermodels from a buyer-facing list?”
Tell an agent
List every supermodel character card.
List the supermodels with include_cold set to {include_cold}.
GET /v1/morph/supermodels/{name_or_id} Get one supermodel card by name or id · Morph Supermodel Detail #
Ask an LLM
“What is the tagline, motto and palette of the MERCHANT supermodel?”
“Can I look up a single supermodel by its W-number id?”
Tell an agent
Show the supermodel card for {name_or_id}.
Fetch the capabilities and bio of supermodel {name_or_id}.
GET /v1/morph/brood/pending-approvals List variants awaiting manual approval · Brood Pending Approvals #
Ask an LLM
“Which brood variants are still waiting for me to approve them?”
“Are there any proposed variants sitting in the approval queue?”
Tell an agent
List all brood variants in proposed state awaiting approval.
Show my pending variant approval queue.
GET /v1/morph/brood/conversion View the brood conversion ledger · Brood Conversion #
Ask an LLM
“How are my variants converting by parent, variant and kit version?”
“Can I filter the conversion ledger down to one supermodel's brood?”
Tell an agent
Show the brood conversion ledger for supermodel {supermodel}.
Pull the full conversion ledger across all broods.
GET /v1/morph/brood/all List every brood and its variants · Brood List All #
Ask an LLM
“What broods exist and which variants belong to each?”
“Where can I see all supermodel broods at once?”
Tell an agent
List every brood with its variants.
Give me an overview of all supermodel broods.
GET /v1/morph/brood/conversion-leaderboard Rank variants by revenue per offer · Brood Conversion Leaderboard #
Ask an LLM
“Which variants earn the most revenue per offer shown?”
“Can I exclude variants with too few offers from the conversion ranking?”
Tell an agent
Show the conversion leaderboard, only counting variants with at least {min_offers} offers.
Rank my brood variants by revenue per offer.
POST /v1/morph/brood/spawn-from-proposal Stage a spawn-monitor proposal as a variant · Brood Spawn From Proposal #
Ask an LLM
“How do I turn a spawn-monitor proposal into a proposed variant?”
“Will a variant staged from a radar proposal get auto-approved?”
Tell an agent
Stage the spawn-monitor proposal for parent {parent_id} with signal {signal} as a proposed variant.
Stage a proposal for parent {parent_id} on signal {signal} with rationale "{rationale}".
GET /v1/morph/brood/{supermodel} Get one brood's parent and variants · Brood Get #
Ask an LLM
“What variants are in the PROVENANCER brood right now?”
“Can I look up a single brood by W-id or supermodel name?”
Tell an agent
Show the brood for supermodel {supermodel}.
Get the parent and variants of brood {supermodel}.
POST /v1/morph/brood/{supermodel}/spawn Propose a new variant for a brood · Brood Spawn #
Ask an LLM
“How do I propose a new variant with different kit deltas for a supermodel's brood?”
“When does a newly spawned variant skip the proposed state?”
Tell an agent
Spawn a new variant in brood {supermodel}.
Spawn variant {variant_label} in brood {supermodel} with kit deltas {kit_deltas}.
POST /v1/morph/brood/variant/{variant_id}/approve Approve a proposed variant by id · Brood Approve #
Ask an LLM
“How do I approve a proposed variant so traffic starts routing to it?”
“Can I approve a variant by id alone, without naming its supermodel?”
Tell an agent
Approve variant {variant_id} so it starts receiving traffic.
Move proposed variant {variant_id} to approved.
POST /v1/morph/brood/{supermodel}/variant/{variant_id}/approve Approve a variant within a named brood · Brood Approve Scoped #
Ask an LLM
“Can I approve a variant while checking it really belongs to a given supermodel?”
“Is there a brood-scoped way to approve a variant?”
Tell an agent
Approve variant {variant_id} in brood {supermodel}, confirming it belongs there.
In the {supermodel} brood, approve variant {variant_id}.
POST /v1/morph/brood/variant/{variant_id}/promote Promote a variant to the new baseline · Brood Promote #
Ask an LLM
“How do I hot-swap a winning variant in as the new baseline?”
“What happens to sibling variants when one gets promoted?”
Tell an agent
Promote variant {variant_id} to be the new baseline.
Make approved variant {variant_id} the baseline and cull its siblings.
POST /v1/morph/brood/{supermodel}/variant/{variant_id}/promote Promote a variant within a named brood · Brood Promote Scoped #
Ask an LLM
“Can I promote a variant while verifying it belongs to a specific supermodel's brood?”
“Is there a brood-scoped version of the promote action?”
Tell an agent
Promote variant {variant_id} in brood {supermodel} to baseline.
In the {supermodel} brood, promote variant {variant_id}.
POST /v1/morph/brood/variant/{variant_id}/cull Cull a variant so it stops getting traffic · Brood Cull #
Ask an LLM
“How do I stop a losing variant from receiving traffic?”
“Can I cull a variant that has already been promoted to baseline?”
Tell an agent destructive · confirm first
Cull variant {variant_id}.
Mark variant {variant_id} as culled so traffic stops routing to it.
POST /v1/morph/brood/{supermodel}/variant/{variant_id}/cull Cull a variant within a named brood · Brood Cull Scoped #
Ask an LLM
“Can I cull a variant while checking it belongs to a given supermodel?”
“Is there a brood-scoped way to cull a variant?”
Tell an agent destructive · confirm first
Cull variant {variant_id} in brood {supermodel}.
In the {supermodel} brood, stop traffic to variant {variant_id}.
GET /v1/morph/spawn-monitor/scan Preview spawn proposals from the monitor · Spawn Monitor Scan #
Ask an LLM
“What variant proposals would the spawn monitor emit right now?”
“Can I change how far back the spawn monitor looks for signals?”
Tell an agent
Run a read-only spawn monitor scan.
Scan for spawn proposals over the last {lookback_sec} seconds.
GET /v1/morph/money-flavor/probe Probe how a payment envelope would be priced · Money Flavor Probe #
Ask an LLM
“Would a counterparty's payment be accepted, and at what price multiplier, before anything is minted?”
“How does asset or chain change the money-flavor classification?”
Tell an agent
Probe the money flavor for counterparty {counterparty_did}.
Check the flavor and multiplier for {counterparty_did} paying in {asset} on {chain}.
GET /v1/morph/money-flavor/stats Get aggregate money-flavor statistics · Money Flavor Stats #
Ask an LLM
“What mix of money flavors has come through recently?”
“Can I set the time window used for flavor statistics?”
Tell an agent
Show money flavor stats for the last {window_sec} seconds.
Summarize recent money flavor classifications from the audit chain.
GET /v1/morph/auto-cull/scan Preview which variants would be auto-culled · Auto Cull Scan #
Ask an LLM
“Which variants are losing badly enough to be culled?”
“Can I see the auto-cull candidates without changing anything?”
Tell an agent
List the variants that the auto-cull would remove.
Scan for auto-cull candidates without mutating anything.
POST /v1/morph/auto-cull/run Run the auto-cull on losing variants · Auto Cull Run #
Ask an LLM
“How do I actually cull all losing variants in one go?”
“Does the auto-cull run default to a dry run?”
Tell an agent destructive · confirm first
Run the auto-cull with dry_run set to {dry_run}.
Produce the auto-cull plan for losers as a dry run.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thehiveryiq-com:thehiveryiq-com-morph-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thehiveryiq-com-morph-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: HiveMorph v0.1 Morph API
  description: 'Polymorphic agent runtime — single shape (Merchant), single supermodel (W2 MERCHANT). Three gates: NEED + YIELD + CLEAN-MONEY.'
  version: 0.1.0
tags:
- name: Morph
paths:
  /v1/morph/offer:
    post:
      summary: Morph Offer
      description: 'Main offer endpoint. Runs all three gates and returns Token | Refusal | Guardian.


        POST body: { intent_text, counterparty_did, asks: [{kind, params}] }'
      operationId: morph_offer_v1_morph_offer_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OfferRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/settle/{token_id}:
    post:
      summary: Morph Settle
      description: 'Settle an outstanding reservation atomically.

        Commits the 2PC reservation and appends final receipt to audit chain.'
      operationId: morph_settle_v1_morph_settle__token_id__post
      parameters:
      - name: token_id
        in: path
        required: true
        schema:
          type: string
          title: Token Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/hivemorph__server__SettleRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/audit/recent:
    get:
      summary: Audit Recent
      description: Return last 50 audit chain rows.
      operationId: audit_recent_v1_morph_audit_recent_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Morph
  /v1/morph/identity/{mii_id}:
    get:
      summary: Morph Identity
      description: 'Return the spectral identity card for an agent (MII):

        - tier (VOID/MOZ/HAWX/EMBR/SOLX/FENR) with hex color + spectrum series

        - wings (deterministic SVG-ready geometry)

        - sound (frequency + harmonics)

        - contrail (motion trail spec)

        - vertical + capability for the requested shape

        Pass `?shape=Provenancer` (or any of 8) to get the card for that shape

        on this MII.'
      operationId: morph_identity_v1_morph_identity__mii_id__get
      parameters:
      - name: mii_id
        in: path
        required: true
        schema:
          type: string
          title: Mii Id
      - name: shape
        in: query
        required: false
        schema:
          type: string
          default: Merchant
          title: Shape
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/supermodels:
    get:
      summary: Morph Supermodels
      description: 'List all 7 supermodel character cards (W2 MERCHANT through W8 GUARDIAN, plus

        W1 TREASURY treasury). Each card carries:

        - id, name, address, role, lane

        - lead_shape (vertical they lead with) + tagline, motto, voice, sigil

        - palette_hex, tone overlay, capabilities, bio


        Pass include_cold=false to hide treasury (TREASURY) and cold-reserve (CREDITOR)

        supermodels for buyer-facing UIs that should only show hot operators.'
      operationId: morph_supermodels_v1_morph_supermodels_get
      parameters:
      - name: include_cold
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Include Cold
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/supermodels/{name_or_id}:
    get:
      summary: Morph Supermodel Detail
      description: Fetch one supermodel card by name (MERCHANT) or id (W2).
      operationId: morph_supermodel_detail_v1_morph_supermodels__name_or_id__get
      parameters:
      - name: name_or_id
        in: path
        required: true
        schema:
          type: string
          title: Name Or Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/carousel:
    get:
      summary: Morph Carousel
      description: 'Return the carousel cross-sell list for a primary shape — the same

        meta.contrails[] every offer carries. Useful for SDKs that want to

        discover the full vertical menu without minting a token first.'
      operationId: morph_carousel_v1_morph_carousel_get
      parameters:
      - name: primary
        in: query
        required: false
        schema:
          type: string
          default: Merchant
          title: Primary
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/pending-approvals:
    get:
      summary: Brood Pending Approvals
      description: List all variants in 'proposed' state awaiting manual approval.
      operationId: brood_pending_approvals_v1_morph_brood_pending_approvals_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Morph
  /v1/morph/brood/conversion:
    get:
      summary: Brood Conversion
      description: 'Conversion ledger by (parent_id, variant_id, kit_version).

        Optional ?supermodel=W3 or ?supermodel=PROVENANCER filters to one brood.'
      operationId: brood_conversion_v1_morph_brood_conversion_get
      parameters:
      - name: supermodel
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Supermodel
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/all:
    get:
      summary: Brood List All
      description: List every brood (one per supermodel) and their variants.
      operationId: brood_list_all_v1_morph_brood_all_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Morph
  /v1/morph/brood/conversion-leaderboard:
    get:
      summary: Brood Conversion Leaderboard
      description: 'Conversion ledger sorted by revenue_per_offer (revenue_usdc / offers_shown)

        desc, then revenue_usdc desc as tiebreaker. Filters to rows with at

        least ``min_offers`` offers shown so we don''t rank against statistical noise.


        NOTE: declared above ``/v1/morph/brood/{supermodel}`` so the literal

        path ''conversion-leaderboard'' isn''t captured by the brood path parameter.'
      operationId: brood_conversion_leaderboard_v1_morph_brood_conversion_leaderboard_get
      parameters:
      - name: min_offers
        in: query
        required: false
        schema:
          type: integer
          default: 1
          title: Min Offers
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/spawn-from-proposal:
    post:
      summary: Brood Spawn From Proposal
      description: 'Stage a spawn_monitor proposal as a ''proposed'' variant.


        Pipeline: the :33 ROI Radar cron (faeacbbe) calls

        ``GET /v1/morph/spawn-monitor/scan`` read-only and surfaces proposals to

        the operator. The operator decides which proposals are worth staging

        and POSTs them here. The variant lands as ''proposed'' — NEVER

        auto-approved — preserving the human approval gate.


        The cron itself is read-only by design and is not modified by this

        endpoint. This is a manual / operator path only.'
      operationId: brood_spawn_from_proposal_v1_morph_brood_spawn_from_proposal_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpawnFromProposalRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/{supermodel}:
    get:
      summary: Brood Get
      description: Return one brood (parent + variants) by W2/W3/.../W8 id or MERCHANT/PROVENANCER/... name.
      operationId: brood_get_v1_morph_brood__supermodel__get
      parameters:
      - name: supermodel
        in: path
        required: true
        schema:
          type: string
          title: Supermodel
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/{supermodel}/spawn:
    post:
      summary: Brood Spawn
      description: 'Propose a new variant for this brood. Lands as ''proposed'' unless

        the brood has autonomy_unlocked (after 3 winning promotes).'
      operationId: brood_spawn_v1_morph_brood__supermodel__spawn_post
      parameters:
      - name: supermodel
        in: path
        required: true
        schema:
          type: string
          title: Supermodel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpawnRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/variant/{variant_id}/approve:
    post:
      summary: Brood Approve
      description: 'Move a variant from ''proposed'' to ''approved'' so traffic starts routing.


        Human-issued gate. Never auto-approved by any cron or monitor.'
      operationId: brood_approve_v1_morph_brood_variant__variant_id__approve_post
      parameters:
      - name: variant_id
        in: path
        required: true
        schema:
          type: string
          title: Variant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/{supermodel}/variant/{variant_id}/approve:
    post:
      summary: Brood Approve Scoped
      description: Brood-scoped alias for approve. Validates the variant belongs to this supermodel.
      operationId: brood_approve_scoped_v1_morph_brood__supermodel__variant__variant_id__approve_post
      parameters:
      - name: supermodel
        in: path
        required: true
        schema:
          type: string
          title: Supermodel
      - name: variant_id
        in: path
        required: true
        schema:
          type: string
          title: Variant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/variant/{variant_id}/promote:
    post:
      summary: Brood Promote
      description: 'Atomic hot-swap: variant becomes the new baseline. Siblings auto-cull.

        Wins counter increments; autonomy unlocks at 3 winning promotes.


        Human-issued gate. Never auto-promoted by any cron or monitor.

        Variant must already be in ''approved'' or ''live'' state.'
      operationId: brood_promote_v1_morph_brood_variant__variant_id__promote_post
      parameters:
      - name: variant_id
        in: path
        required: true
        schema:
          type: string
          title: Variant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/{supermodel}/variant/{variant_id}/promote:
    post:
      summary: Brood Promote Scoped
      description: Brood-scoped alias for promote. Validates the variant belongs to this supermodel.
      operationId: brood_promote_scoped_v1_morph_brood__supermodel__variant__variant_id__promote_post
      parameters:
      - name: supermodel
        in: path
        required: true
        schema:
          type: string
          title: Supermodel
      - name: variant_id
        in: path
        required: true
        schema:
          type: string
          title: Variant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/variant/{variant_id}/cull:
    post:
      summary: Brood Cull
      description: 'Mark a variant ''culled'' so it stops receiving traffic.


        Human-issued gate. Promoted baselines are immune — spawn a successor

        and promote it instead. No auto-cull through this path.'
      operationId: brood_cull_v1_morph_brood_variant__variant_id__cull_post
      parameters:
      - name: variant_id
        in: path
        required: true
        schema:
          type: string
          title: Variant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/brood/{supermodel}/variant/{variant_id}/cull:
    post:
      summary: Brood Cull Scoped
      description: Brood-scoped alias for cull. Validates the variant belongs to this supermodel.
      operationId: brood_cull_scoped_v1_morph_brood__supermodel__variant__variant_id__cull_post
      parameters:
      - name: supermodel
        in: path
        required: true
        schema:
          type: string
          title: Supermodel
      - name: variant_id
        in: path
        required: true
        schema:
          type: string
          title: Variant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/spawn-monitor/scan:
    get:
      summary: Spawn Monitor Scan
      description: 'Read-only signal scan from spawn_monitor — does NOT spawn anything.

        Useful for the dashboard / radar to preview what proposals would emit.'
      operationId: spawn_monitor_scan_v1_morph_spawn_monitor_scan_get
      parameters:
      - name: lookback_sec
        in: query
        required: false
        schema:
          type: number
          default: 3600.0
          title: Lookback Sec
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/money-flavor/probe:
    get:
      summary: Money Flavor Probe
      description: 'Probe a hypothetical envelope. Returns the flavor classification + the

        price multiplier + accept/refuse decision WITHOUT minting anything.'
      operationId: money_flavor_probe_v1_morph_money_flavor_probe_get
      parameters:
      - name: counterparty_did
        in: query
        required: true
        schema:
          type: string
          title: Counterparty Did
      - name: asset
        in: query
        required: false
        schema:
          type: string
          default: USDC
          title: Asset
      - name: chain
        in: query
        required: false
        schema:
          type: string
          default: base
          title: Chain
      - name: capability
        in: query
        required: false
        schema:
          type: string
          default: inference_minutes
          title: Capability
      - name: rep_score
        in: query
        required: false
        schema:
          type: number
          default: 0.5
          title: Rep Score
      - name: settled_count
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Settled Count
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/money-flavor/stats:
    get:
      summary: Money Flavor Stats
      description: Aggregate flavor stats over the recent window from audit_chain.
      operationId: money_flavor_stats_v1_morph_money_flavor_stats_get
      parameters:
      - name: window_sec
        in: query
        required: false
        schema:
          type: number
          default: 3600.0
          title: Window Sec
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
  /v1/morph/auto-cull/scan:
    get:
      summary: Auto Cull Scan
      description: 'Read-only scan: list variants that would be culled. Does not mutate.'
      operationId: auto_cull_scan_v1_morph_auto_cull_scan_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
      tags:
      - Morph
  /v1/morph/auto-cull/run:
    post:
      summary: Auto Cull Run
      description: 'Execute culls on losers. Default dry_run=true returns plan only.

        Set ?dry_run=false to actually mark variants culled.

        Promoted baselines are immune; only approved/live variants can be culled.'
      operationId: auto_cull_run_v1_morph_auto_cull_run_post
      parameters:
      - name: dry_run
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Dry Run
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Morph
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    SpawnFromProposalRequest:
      properties:
        parent_id:
          type: string
          title: Parent Id
          description: W2..W8 (or MERCHANT..GUARDIAN) the proposal targets.
        signal:
          type: string
          title: Signal
          description: Signal that produced this proposal, e.g. 'S1_VERTICAL_PRESSURE'.
        action:
          type: string
          title: Action
          description: Proposal action; only 'spawn' is honored here.
          default: spawn
        kit_deltas:
          additionalProperties: true
          type: object
          title: Kit Deltas
          description: Kit deltas to apply on top of the parent baseline.
        rationale:
          type: string
          title: Rationale
          description: Plain-language reason from the monitor.
          default: ''
        predicted_lift_usdc_per_day:
          anyOf:
          - type: number
          - type: 'null'
          title: Predicted Lift Usdc Per Day
          description: Estimated USDC/day lift if approved and promoted.
        variant_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Variant Label
          description: Optional human-readable label suffix; auto-generated if omitted.
      type: object
      required:
      - parent_id
      - signal
      title: SpawnFromProposalRequest
      description: 'Body for POST /v1/morph/brood/spawn-from-proposal.


        Mirrors the shape emitted by spawn_monitor.scan_signals(): an operator

        looks at the read-only proposals from the :33 ROI Radar cron, decides

        one is worth staging, and posts the proposal back here. The variant lands

        as ''proposed'' — NEVER auto-approved — so the human approval gate stays on.'
    SpawnRequest:
      properties:
        kit_deltas:
          additionalProperties: true
          type: object
          title: Kit Deltas
          description: 'Per-variant overrides: tagline, motto, voice, sigil, palette_hex, lead_shape, lead_price_usdc, etc.'
        spawn_trigger:
          type: string
          title: Spawn Trigger
          description: Why this variant was spawned (e.g. 'manual', 'monitor:vertical_pressure')
          default: manual
        variant_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Variant Label
          description: Optional human-readable label suffix; auto-generated if omitted
        rationale:
          anyOf:
          - type: string
          - type: 'null'
          title: Rationale
          description: Why this variant was suggested (free-form). Persisted on the variant row.
        predicted_lift_usdc_per_day:
          anyOf:
          - type: number
          - type: 'null'
          title: Predicted Lift Usdc Per Day
          description: Predicted incremental USDC/day if this variant is approved.
      type: object
      title: SpawnRequest
    hivemorph__server__SettleRequest:
      properties:
        reservation_id:
          type: string
          title: Reservation Id
          description: 2PC reservation ID from the offer token
      type: object
      required:
      - reservation_id
      title: SettleRequest
    OfferRequest:
      properties:
        intent_text:
          type: string
          title: Intent Text
          description: Natural language intent from counterparty
        counterparty_did:
          type: string
          title: Counterparty Did
          description: DID or 0x address of counterparty
        asks:
          items:
            $ref: '#/components/schemas/AskItem'
          type: array
          title: Asks
        nonce:
          anyOf:
          - type: string
          - type: 'null'
          title: Nonce
          description: Optional nonce; generated if omitted
      type: object
      required:
      - intent_text
      - counterparty_did
      title: OfferRequest
    AskItem:
      properties:
        kind:
          type: string
          title: Kind
          description: Capability kind requested
          default: inference
        params:
          additionalProperties: true
          type: object
          title: Params
      type: object
      title: AskItem
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
x-provenance:
  method: harvested
  publisher: Hive Civilization
  source: https://receipts.thehiveryiq.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)