Polycode Graphs API

The Graphs API from Polycode — 8 operation(s) for graphs.

Operations 10

GET /api/graphs/default Resolve the current default graph id #
GET /api/graphs List memory graphs (past + current). `?all=1` bypasses the margin cap #
POST /api/graphs (Tier-1) Create a private graph (archived-from-birth, owner-only, cap 16). #
POST /api/graphs/{graphId}/repo (Owner of a private graph; admin for a public graph) Bind the graph to a source… #
POST /api/graphs/default/clear (Tier-1) Clear the caller's per-user default graph (revert to the shared graph) #
POST /api/graphs/{graphId}/delete (Owner) Delete a private graph + its tree, keys, and default pointer #
POST /api/graphs/{graphId}/label (Owner of a private graph; admin for any graph) Rename a graph (single-token… #
POST /api/graphs/{graphId}/default (Owner) Set this private graph as the caller's login default #
GET /api/graphs/{graphId}/prompt-note (Owner of a private graph; admin for a public graph) Read the graph's free-text… #
POST /api/graphs/{graphId}/prompt-note (Owner of a private graph; admin for a public graph) Set { note } — free text… #

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/polycode-co-uk:polycode-co-uk-graphs-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

polycode-co-uk-graphs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: marginalia public Graphs API
  version: 0.1.7
  description: Public read + chat API for marginalia (https://marginalia.polycode.co.uk). No auth today; the API is public. Generated from route-descriptors.mjs.
  license:
    name: AGPL-3.0-only
servers:
- url: https://marginalia.polycode.co.uk
  description: production
- url: https://ci-{slug}.marginalia.polycode.co.uk
  description: CI branch
  variables:
    slug:
      default: main
tags:
- name: Graphs
paths:
  /api/graphs/default:
    get:
      operationId: getDefaultGraph
      summary: Resolve the current default graph id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
      tags:
      - Graphs
  /api/graphs:
    get:
      operationId: listGraphs
      summary: List memory graphs (past + current). `?all=1` bypasses the margin cap
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
      parameters:
      - name: all
        in: query
        required: false
        schema:
          type: string
      tags:
      - Graphs
    post:
      operationId: createPrivateGraph
      summary: (Tier-1) Create a private graph (archived-from-birth, owner-only, cap 16).
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      tags:
      - Graphs
  /api/graphs/{graphId}/repo:
    post:
      operationId: setRepo
      summary: (Owner of a private graph; admin for a public graph) Bind the graph to a source…
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
      parameters:
      - name: graphId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      tags:
      - Graphs
  /api/graphs/default/clear:
    post:
      operationId: clearUserDefault
      summary: (Tier-1) Clear the caller's per-user default graph (revert to the shared graph)
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      tags:
      - Graphs
  /api/graphs/{graphId}/delete:
    post:
      operationId: deletePrivateGraph
      summary: (Owner) Delete a private graph + its tree, keys, and default pointer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
      parameters:
      - name: graphId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      tags:
      - Graphs
  /api/graphs/{graphId}/label:
    post:
      operationId: renamePrivateGraph
      summary: (Owner of a private graph; admin for any graph) Rename a graph (single-token…
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
      parameters:
      - name: graphId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      tags:
      - Graphs
  /api/graphs/{graphId}/default:
    post:
      operationId: setUserDefault
      summary: (Owner) Set this private graph as the caller's login default
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
      parameters:
      - name: graphId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      tags:
      - Graphs
  /api/graphs/{graphId}/prompt-note:
    get:
      operationId: getPromptNote
      summary: (Owner of a private graph; admin for a public graph) Read the graph's free-text…
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
      parameters:
      - name: graphId
        in: path
        required: true
        schema:
          type: string
      tags:
      - Graphs
    post:
      operationId: setPromptNote
      summary: (Owner of a private graph; admin for a public graph) Set { note } — free text…
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
      parameters:
      - name: graphId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      tags:
      - Graphs