Attested Memory Studio API

The Studio API from Attested Memory — 11 operation(s) for studio.

Operations 12

POST /studio/preflight Preflight #
GET /studio/paid-runs/{run_id} Read Run #
POST /studio/paid-runs/{run_id}/advance Advance #
GET /studio/paid-runs/{run_id}/pipeline Pipeline Status #
POST /studio/prepare-pipeline Prepare Graph #
POST /studio/paid-runs/{run_id}/prepare-pipeline Prepare #
POST /studio/paid-runs/{run_id}/refunds/{step_id}/prepare Prepare #
GET /studio/paid-runs/{run_id}/refunds/{step_id} Status #
POST /studio/paid-runs/{run_id}/refunds/{step_id} Advance #
POST /studio/run Studio Run #
GET /studio/trace/{trace_id} Studio Trace #
GET /studio Studio Not Built #

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-deal-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-bond-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-challenge-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-evidence-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-trial-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-dispute-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-receipt-verify-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-permission-violation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-invoke-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-ipo-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-channel-open-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-announce-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-price-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-own-price-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-publisher-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-authorize-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-memory-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-capture-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-receipt-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-scope-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-bind-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-world-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-passport-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-verify-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-member-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-order-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-confirm-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-team-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-read-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-team-memory-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-team-member-schema.json
📊
JSONSchema
https://artifacts.apis.io/attestedmemory-net/json-schema/attestedmemory-net-team-create-schema.json

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/attestedmemory-net:attestedmemory-net-studio-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

attestedmemory-net-studio-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Attested Memory Hub — AIMarket Hub v3 Studio API
  description: Lean federation hub for AI capability discovery and routing. Plugins extend functionality.
  version: 3.16.0
tags:
- name: Studio
paths:
  /studio/preflight:
    post:
      summary: Preflight
      operationId: preflight_studio_preflight_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreflightRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/paid-runs/{run_id}:
    get:
      summary: Read Run
      operationId: read_run_studio_paid_runs__run_id__get
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      - name: x-studio-run-token
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-Studio-Run-Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/paid-runs/{run_id}/advance:
    post:
      summary: Advance
      operationId: advance_studio_paid_runs__run_id__advance_post
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      - name: x-studio-run-token
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-Studio-Run-Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdvanceRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/paid-runs/{run_id}/pipeline:
    get:
      summary: Pipeline Status
      operationId: pipeline_status_studio_paid_runs__run_id__pipeline_get
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      - name: x-studio-run-token
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-Studio-Run-Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/prepare-pipeline:
    post:
      summary: Prepare Graph
      operationId: prepare_graph_studio_prepare_pipeline_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PrepareGraph'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/paid-runs/{run_id}/prepare-pipeline:
    post:
      summary: Prepare
      operationId: prepare_studio_paid_runs__run_id__prepare_pipeline_post
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      - name: x-studio-run-token
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-Studio-Run-Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreparePipeline'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/paid-runs/{run_id}/refunds/{step_id}/prepare:
    post:
      summary: Prepare
      operationId: prepare_studio_paid_runs__run_id__refunds__step_id__prepare_post
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      - name: step_id
        in: path
        required: true
        schema:
          type: string
          title: Step Id
      - name: x-studio-run-token
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-Studio-Run-Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/paid-runs/{run_id}/refunds/{step_id}:
    get:
      summary: Status
      operationId: status_studio_paid_runs__run_id__refunds__step_id__get
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      - name: step_id
        in: path
        required: true
        schema:
          type: string
          title: Step Id
      - name: x-studio-run-token
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-Studio-Run-Token
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
    post:
      summary: Advance
      operationId: advance_studio_paid_runs__run_id__refunds__step_id__post
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      - name: step_id
        in: path
        required: true
        schema:
          type: string
          title: Step Id
      - name: x-studio-run-token
        in: header
        required: false
        schema:
          type: string
          default: ''
          title: X-Studio-Run-Token
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RefundApproval'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/run:
    post:
      summary: Studio Run
      description: 'Submit a studio blueprint to the pipeline executor, same-origin.


        The executor is a different service (the factory), and the browser cannot reach it

        cross-origin, so the hub forwards. This is deliberately NOT a general proxy:


        * the target comes from ``AIMARKET_PIPELINE_EXECUTOR_URL`` only, never from the

        request — a forwarder that takes its destination from the caller is an SSRF

        gadget, whatever it is called;

        * unset means 503, not a default guess;

        * the node list is shape- and size-validated here as well as by the executor, so

        this route cannot be used to post arbitrary bodies anywhere;

        * no caller credentials are forwarded. The studio''s run path is the free/sandbox

        one; wallet-funded runs use the separate paid Studio routes above.'
      operationId: studio_run_studio_run_post
      parameters:
      - name: X-AIMarket-Sandbox-Visitor
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Aimarket-Sandbox-Visitor
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StudioRunRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio/trace/{trace_id}:
    get:
      summary: Studio Trace
      description: 'Fetch one signed bill of materials through this origin.


        The page must be able to show the verifiable original rather than only its own

        summary of it, and the executor is not reachable from a browser.'
      operationId: studio_trace_studio_trace__trace_id__get
      parameters:
      - name: trace_id
        in: path
        required: true
        schema:
          type: string
          title: Trace Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Studio
  /studio:
    get:
      summary: Studio Not Built
      operationId: studio_not_built_studio_get
      responses:
        '200':
          description: Successful Response
          content:
            text/html:
              schema:
                type: string
      tags:
      - Studio
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
    StudioNode:
      properties:
        id:
          type: string
          maxLength: 64
          title: Id
          default: ''
        product_id:
          type: string
          maxLength: 80
          minLength: 2
          title: Product Id
        capability_id:
          type: string
          maxLength: 80
          minLength: 2
          title: Capability Id
        input:
          additionalProperties: true
          type: object
          title: Input
        depends_on:
          items:
            type: string
          type: array
          maxItems: 16
          title: Depends On
        input_from:
          anyOf:
          - type: string
            maxLength: 64
          - type: 'null'
          title: Input From
        source_hub:
          anyOf:
          - type: string
            maxLength: 200
          - type: 'null'
          title: Source Hub
      type: object
      required:
      - product_id
      - capability_id
      title: StudioNode
      description: One hop of a studio blueprint — the executor's node shape, validated here too.
    PreparePipeline:
      properties:
        gas_mode:
          type: string
          enum:
          - buyer
          - auto
          - required
          title: Gas Mode
          default: buyer
        wallet:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          title: Wallet
          default: '0x0000000000000000000000000000000000000000'
      type: object
      title: PreparePipeline
    RefundApproval:
      properties:
        authorization:
          anyOf:
          - type: string
            pattern: ^0x[0-9a-fA-F]{130}$
          - type: 'null'
          title: Authorization
      additionalProperties: false
      type: object
      title: RefundApproval
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PrepareGraph:
      properties:
        nodes:
          items:
            $ref: '#/components/schemas/StudioNode'
          type: array
          maxItems: 16
          minItems: 1
          title: Nodes
        max_budget_usd:
          anyOf:
          - type: number
            maximum: 100000.0
            minimum: 0.0
          - type: 'null'
          title: Max Budget Usd
        gas_mode:
          type: string
          enum:
          - buyer
          - auto
          - required
          title: Gas Mode
          default: buyer
        wallet:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          title: Wallet
          default: '0x0000000000000000000000000000000000000000'
      type: object
      required:
      - nodes
      title: PrepareGraph
    AdvanceRequest:
      properties:
        step_id:
          type: string
          maxLength: 64
          minLength: 1
          title: Step Id
        wallet:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          title: Wallet
        tx_hash:
          anyOf:
          - type: string
            pattern: ^0x[0-9a-fA-F]{64}$
          - type: 'null'
          title: Tx Hash
      type: object
      required:
      - step_id
      - wallet
      title: AdvanceRequest
    StudioRunRequest:
      properties:
        nodes:
          items:
            $ref: '#/components/schemas/StudioNode'
          type: array
          maxItems: 16
          minItems: 1
          title: Nodes
        channel_id:
          anyOf:
          - type: string
            maxLength: 64
          - type: 'null'
          title: Channel Id
      type: object
      required:
      - nodes
      title: StudioRunRequest
      description: 'A blueprint submitted through the hub''s same-origin run path.


        Capped at the executor''s own limit rather than trusting it to reject: this route

        exists so a browser can reach the executor at all, and a forwarder that passes on

        whatever it is handed is one bug away from being a general-purpose poster.'
    PreflightRequest:
      properties:
        nodes:
          items:
            $ref: '#/components/schemas/StudioNode'
          type: array
          maxItems: 16
          minItems: 1
          title: Nodes
        max_budget_usd:
          anyOf:
          - type: number
            maximum: 100000.0
            minimum: 0.0
          - type: 'null'
          title: Max Budget Usd
      type: object
      required:
      - nodes
      title: PreflightRequest