Etch Portable identity API

Track B v1.0+v1.1 portable per-agent identity: mint, session, rotate, grant/revoke, delegated write.

GitHub OpenAPI

Operations 5

POST /v1/identity/session Idempotent-per-identity mint or attach; portable-identity clients bind to a… #
POST /v1/identity/rotate Rotate a portable identity's keypair; the OLD key's signature IS the… #
POST /v1/identity/grant Delegate authority to another identity; grantor signature IS the authorization #
POST /v1/identity/revoke-grant Revoke a delegation grant; grantor signature IS the authorization; idempotent #
POST /v1/identity/delegated-write Append a chain row on behalf of a grantor; grantee signature verifies; grant… #

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/etch-systems:etch-systems-portable-identity-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

etch-systems-portable-identity-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Etch public Portable identity API
  description: Signed audit chain for AI agent decisions, offline-verifiable against pinned public keys. Every event is signed with a hybrid Ed25519 + FIPS 205 SLH-DSA-SHA2-128f envelope, Merkle-chained into an epoch, and epoch-anchored on Sigstore Rekor + Bitcoin OpenTimestamps. This document covers only the unauthenticated integration surface; the admin API requires bearer authentication and is not published.
  version: 0.2.0
  license:
    name: BUSL-1.1
    url: https://spdx.org/licenses/BUSL-1.1.html
  contact:
    name: Etch
    url: https://etch.systems
    email: support@etch.systems
servers:
- url: https://etch.systems
  description: Production
tags:
- name: Portable identity
  description: 'Track B v1.0+v1.1 portable per-agent identity: mint, session, rotate, grant/revoke, delegated write.'
paths:
  /v1/identity/session:
    post:
      summary: Idempotent-per-identity mint or attach; portable-identity clients bind to a…
      description: The client signs a session challenge with the identity's Ed25519 key; the server either reuses the identity's existing project or mints a fresh one. Bearer returned in the response has mcp:read + mcp:write scopes.
      operationId: identitySession
      tags:
      - Portable identity
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - external_identity
              properties:
                external_identity:
                  type: object
                use_identity_memory:
                  type: boolean
      responses:
        '200':
          description: OK
  /v1/identity/rotate:
    post:
      summary: Rotate a portable identity's keypair; the OLD key's signature IS the…
      operationId: identityRotate
      tags:
      - Portable identity
      responses:
        '200':
          description: OK
  /v1/identity/grant:
    post:
      summary: Delegate authority to another identity; grantor signature IS the authorization
      operationId: identityGrant
      tags:
      - Portable identity
      responses:
        '200':
          description: OK
  /v1/identity/revoke-grant:
    post:
      summary: Revoke a delegation grant; grantor signature IS the authorization; idempotent
      operationId: identityRevokeGrant
      tags:
      - Portable identity
      responses:
        '200':
          description: OK
  /v1/identity/delegated-write:
    post:
      summary: Append a chain row on behalf of a grantor; grantee signature verifies; grant…
      operationId: identityDelegatedWrite
      tags:
      - Portable identity
      responses:
        '200':
          description: OK
externalDocs:
  description: Full documentation
  url: https://etch.systems/docs