Agonna Federation API

The Federation API from Agonna — 5 operation(s) for federation.

Operations 6

POST /v1/federation/peers Add Federation Peer #
GET /v1/federation/peers Read Federation Peers #
POST /v1/federation/peers/{peer_id}/refresh-identity Refresh Federation Peer #
GET /v1/federation/outbox Federation Outbox #
POST /v1/federation/inbox Federation Inbox #
POST /v1/federation/peers/{peer_id}/sync Federation Sync #

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/agonna-com:agonna-com-federation-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

agonna-com-federation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agent Network Node Federation API
  description: 'Open information and opportunity network for personal agents: distributed continuous world graph, semantic routing, opportunity synthesis, long-horizon outcome learning, autonomous planning, collaboration, and federated nodes.'
  version: 0.39.0
tags:
- name: Federation
paths:
  /v1/federation/peers:
    post:
      summary: Add Federation Peer
      operationId: add_federation_peer_v1_federation_peers_post
      parameters:
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FederationPeerCreate'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FederationPeerRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Federation
    get:
      summary: Read Federation Peers
      operationId: read_federation_peers_v1_federation_peers_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FederationPeerRead'
                title: Response Read Federation Peers V1 Federation Peers Get
      tags:
      - Federation
  /v1/federation/peers/{peer_id}/refresh-identity:
    post:
      summary: Refresh Federation Peer
      operationId: refresh_federation_peer_v1_federation_peers__peer_id__refresh_identity_post
      parameters:
      - name: peer_id
        in: path
        required: true
        schema:
          type: string
          title: Peer Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FederationPeerRead'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Federation
  /v1/federation/outbox:
    get:
      summary: Federation Outbox
      operationId: federation_outbox_v1_federation_outbox_get
      parameters:
      - name: peer_node_id
        in: query
        required: true
        schema:
          type: string
          title: Peer Node Id
      - name: after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: After
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 200
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FederationOutboxResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Federation
  /v1/federation/inbox:
    post:
      summary: Federation Inbox
      operationId: federation_inbox_v1_federation_inbox_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FederationIngestRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FederationIngestResult'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Federation
  /v1/federation/peers/{peer_id}/sync:
    post:
      summary: Federation Sync
      operationId: federation_sync_v1_federation_peers__peer_id__sync_post
      parameters:
      - name: peer_id
        in: path
        required: true
        schema:
          type: string
          title: Peer Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FederationSyncResult'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      tags:
      - Federation
components:
  schemas:
    FederationPeerCreate:
      properties:
        base_url:
          type: string
          title: Base Url
        node_id:
          anyOf:
          - type: string
            maxLength: 128
          - type: 'null'
          title: Node Id
        did:
          anyOf:
          - type: string
          - type: 'null'
          title: Did
        trust_level:
          type: string
          enum:
          - untrusted
          - peer
          - trusted
          title: Trust Level
          default: peer
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
      type: object
      required:
      - base_url
      title: FederationPeerCreate
    FederationEnvelope:
      properties:
        protocol:
          type: string
          const: agent-network-federation/0.2
          title: Protocol
          default: agent-network-federation/0.2
        envelope_id:
          type: string
          title: Envelope Id
        sender_node_id:
          type: string
          title: Sender Node Id
        sender_did:
          type: string
          title: Sender Did
        sent_at:
          type: string
          format: date-time
          title: Sent At
        events:
          items:
            $ref: '#/components/schemas/FederatedEvent'
          type: array
          maxItems: 500
          title: Events
      type: object
      required:
      - sender_node_id
      - sender_did
      - sent_at
      title: FederationEnvelope
    FederationOutboxResponse:
      properties:
        envelope:
          $ref: '#/components/schemas/FederationEnvelope'
        signature:
          $ref: '#/components/schemas/FederationSignature'
        cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: Cursor
      type: object
      required:
      - envelope
      - signature
      title: FederationOutboxResponse
    FederationPeerRead:
      properties:
        id:
          type: string
          title: Id
        node_id:
          type: string
          title: Node Id
        base_url:
          type: string
          title: Base Url
        did:
          type: string
          title: Did
        active_key_id:
          type: string
          title: Active Key Id
        key_fingerprint:
          type: string
          title: Key Fingerprint
        verification_status:
          type: string
          title: Verification Status
        identity_verified_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Identity Verified At
        trust_level:
          type: string
          title: Trust Level
        enabled:
          type: boolean
          title: Enabled
        last_pull_cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Pull Cursor
        last_sync_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Sync At
        last_error:
          type: string
          title: Last Error
        peer_metadata:
          additionalProperties: true
          type: object
          title: Peer Metadata
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
      - id
      - node_id
      - base_url
      - did
      - active_key_id
      - key_fingerprint
      - verification_status
      - identity_verified_at
      - trust_level
      - enabled
      - last_pull_cursor
      - last_sync_at
      - last_error
      - peer_metadata
      - created_at
      - updated_at
      title: FederationPeerRead
    FederationSyncResult:
      properties:
        peer_node_id:
          type: string
          title: Peer Node Id
        received:
          type: integer
          title: Received
          default: 0
        duplicate:
          type: integer
          title: Duplicate
          default: 0
        rejected:
          type: integer
          title: Rejected
          default: 0
        cursor:
          anyOf:
          - type: string
          - type: 'null'
          title: Cursor
      type: object
      required:
      - peer_node_id
      title: FederationSyncResult
    FederationSignature:
      properties:
        algorithm:
          type: string
          const: Ed25519
          title: Algorithm
          default: Ed25519
        signer_did:
          type: string
          title: Signer Did
        key_id:
          type: string
          title: Key Id
        value:
          type: string
          title: Value
      type: object
      required:
      - signer_did
      - key_id
      - value
      title: FederationSignature
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    FederationIngestRequest:
      properties:
        envelope:
          $ref: '#/components/schemas/FederationEnvelope'
        signature:
          $ref: '#/components/schemas/FederationSignature'
      type: object
      required:
      - envelope
      - signature
      title: FederationIngestRequest
    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
    FederationIngestResult:
      properties:
        accepted:
          type: integer
          title: Accepted
          default: 0
        duplicate:
          type: integer
          title: Duplicate
          default: 0
        rejected:
          type: integer
          title: Rejected
          default: 0
      type: object
      title: FederationIngestResult
    FederatedEvent:
      properties:
        global_id:
          type: string
          title: Global Id
        origin_node_id:
          type: string
          title: Origin Node Id
        origin_event_id:
          type: string
          title: Origin Event Id
        event_type:
          type: string
          title: Event Type
        subject_type:
          type: string
          title: Subject Type
        subject_id:
          type: string
          title: Subject Id
        channel:
          type: string
          title: Channel
          default: network
        title:
          type: string
          title: Title
          default: ''
        summary:
          type: string
          title: Summary
          default: ''
        payload:
          additionalProperties: true
          type: object
          title: Payload
        visibility:
          type: string
          enum:
          - network
          - public
          title: Visibility
          default: network
        priority:
          type: string
          title: Priority
          default: normal
        expires_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Expires At
        hop_count:
          type: integer
          maximum: 32.0
          minimum: 0.0
          title: Hop Count
          default: 0
        created_at:
          type: string
          format: date-time
          title: Created At
      type: object
      required:
      - global_id
      - origin_node_id
      - origin_event_id
      - event_type
      - subject_type
      - subject_id
      - created_at
      title: FederatedEvent