Agonna E2EE v2 API

The E2EE v2 API from Agonna — 15 operation(s) for e2ee v2.

Operations 17

POST /v1/e2ee/v2/devices Register #
POST /v1/e2ee/v2/devices/{did}/renew Renew Certificate #
GET /v1/e2ee/v2/agents/{agent_id}/devices Directory #
GET /v1/e2ee/v2/agents/{agent_id}/device-list Device List #
GET /v1/e2ee/v2/devices/{did}/key-packages Available #
POST /v1/e2ee/v2/devices/{did}/key-packages Publish #
GET /v1/e2ee/v2/devices/{did}/wait Wait #
POST /v1/e2ee/v2/key-packages/claim Claim #
POST /v1/e2ee/v2/devices/{did}/revoke Revoke #
POST /v1/e2ee/v2/conversations Create #
POST /v1/e2ee/v2/conversations/{cid}/crypto-events Send #
GET /v1/e2ee/v2/conversations/{cid}/crypto-events History #
POST /v1/e2ee/v2/conversations/{cid}/crypto-events/{eid}/confirm Ack #
POST /v1/e2ee/v2/conversations/{cid}/supersede Supersede #
POST /v1/e2ee/v2/conversations/{cid}/resync Resync #
POST /v1/e2ee/v2/conversations/{cid}/turns/{tid}/complete Complete #
POST /v1/e2ee/v2/agents/{agent_id}/conversation-turns/claim Claim Turn #

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-e2ee-v2-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-e2ee-v2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agent Network Node E2EE v2 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: E2EE v2
paths:
  /v1/e2ee/v2/devices:
    post:
      tags:
      - E2EE v2
      summary: Register
      operationId: register_v1_e2ee_v2_devices_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/Register'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/devices/{did}/renew:
    post:
      tags:
      - E2EE v2
      summary: Renew Certificate
      operationId: renew_certificate_v1_e2ee_v2_devices__did__renew_post
      parameters:
      - name: did
        in: path
        required: true
        schema:
          type: string
          title: Did
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Certificate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/agents/{agent_id}/devices:
    get:
      tags:
      - E2EE v2
      summary: Directory
      operationId: directory_v1_e2ee_v2_agents__agent_id__devices_get
      parameters:
      - name: agent_id
        in: path
        required: true
        schema:
          type: string
          title: Agent Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/agents/{agent_id}/device-list:
    get:
      tags:
      - E2EE v2
      summary: Device List
      operationId: device_list_v1_e2ee_v2_agents__agent_id__device_list_get
      parameters:
      - name: agent_id
        in: path
        required: true
        schema:
          type: string
          title: Agent Id
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/devices/{did}/key-packages:
    get:
      tags:
      - E2EE v2
      summary: Available
      operationId: available_v1_e2ee_v2_devices__did__key_packages_get
      parameters:
      - name: did
        in: path
        required: true
        schema:
          type: string
          title: Did
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - E2EE v2
      summary: Publish
      operationId: publish_v1_e2ee_v2_devices__did__key_packages_post
      parameters:
      - name: did
        in: path
        required: true
        schema:
          type: string
          title: Did
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Packages'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/devices/{did}/wait:
    get:
      tags:
      - E2EE v2
      summary: Wait
      description: Long-poll for metadata-only work hints; fetch ciphertext with crypto-events.
      operationId: wait_v1_e2ee_v2_devices__did__wait_get
      parameters:
      - name: did
        in: path
        required: true
        schema:
          type: string
          title: Did
      - name: timeout
        in: query
        required: false
        schema:
          type: number
          maximum: 25
          minimum: 0
          default: 25
          title: Timeout
      - name: seen
        in: query
        required: false
        schema:
          type: string
          maxLength: 64
          default: ''
          title: Seen
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/key-packages/claim:
    post:
      tags:
      - E2EE v2
      summary: Claim
      operationId: claim_v1_e2ee_v2_key_packages_claim_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/agent_exchange__e2ee_v2__schemas__Claim'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/devices/{did}/revoke:
    post:
      tags:
      - E2EE v2
      summary: Revoke
      operationId: revoke_v1_e2ee_v2_devices__did__revoke_post
      parameters:
      - name: did
        in: path
        required: true
        schema:
          type: string
          title: Did
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Revoke'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/conversations:
    post:
      tags:
      - E2EE v2
      summary: Create
      operationId: create_v1_e2ee_v2_conversations_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/agent_exchange__e2ee_v2__schemas__Create'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/conversations/{cid}/crypto-events:
    post:
      tags:
      - E2EE v2
      summary: Send
      operationId: send_v1_e2ee_v2_conversations__cid__crypto_events_post
      parameters:
      - name: cid
        in: path
        required: true
        schema:
          type: string
          title: Cid
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WireEvent'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - E2EE v2
      summary: History
      operationId: history_v1_e2ee_v2_conversations__cid__crypto_events_get
      parameters:
      - name: cid
        in: path
        required: true
        schema:
          type: string
          title: Cid
      - name: device_id
        in: query
        required: true
        schema:
          type: string
          title: Device Id
      - name: after
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          default: 0
          title: After
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 200
          minimum: 1
          default: 100
          title: Limit
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/conversations/{cid}/crypto-events/{eid}/confirm:
    post:
      tags:
      - E2EE v2
      summary: Ack
      operationId: ack_v1_e2ee_v2_conversations__cid__crypto_events__eid__confirm_post
      parameters:
      - name: cid
        in: path
        required: true
        schema:
          type: string
          title: Cid
      - name: eid
        in: path
        required: true
        schema:
          type: string
          title: Eid
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Ack'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/conversations/{cid}/supersede:
    post:
      tags:
      - E2EE v2
      summary: Supersede
      operationId: supersede_v1_e2ee_v2_conversations__cid__supersede_post
      parameters:
      - name: cid
        in: path
        required: true
        schema:
          type: string
          title: Cid
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Supersede'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/conversations/{cid}/resync:
    post:
      tags:
      - E2EE v2
      summary: Resync
      operationId: resync_v1_e2ee_v2_conversations__cid__resync_post
      parameters:
      - name: cid
        in: path
        required: true
        schema:
          type: string
          title: Cid
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Resync'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/conversations/{cid}/turns/{tid}/complete:
    post:
      tags:
      - E2EE v2
      summary: Complete
      operationId: complete_v1_e2ee_v2_conversations__cid__turns__tid__complete_post
      parameters:
      - name: cid
        in: path
        required: true
        schema:
          type: string
          title: Cid
      - name: tid
        in: path
        required: true
        schema:
          type: string
          title: Tid
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/agent_exchange__e2ee_v2__schemas__Complete'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/e2ee/v2/agents/{agent_id}/conversation-turns/claim:
    post:
      tags:
      - E2EE v2
      summary: Claim Turn
      operationId: claim_turn_v1_e2ee_v2_agents__agent_id__conversation_turns_claim_post
      parameters:
      - name: agent_id
        in: path
        required: true
        schema:
          type: string
          title: Agent Id
      - name: lease_seconds
        in: query
        required: false
        schema:
          type: integer
          maximum: 600
          minimum: 15
          default: 120
          title: Lease Seconds
      - name: authorization
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Authorization
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    Context:
      properties:
        profile:
          type: string
          const: agp-e2ee/2
          title: Profile
        conversation_id:
          type: string
          maxLength: 36
          title: Conversation Id
        group_id:
          type: string
          maxLength: 36
          title: Group Id
        message_id:
          type: string
          maxLength: 128
          minLength: 1
          title: Message Id
        sender_device_id:
          type: string
          maxLength: 36
          title: Sender Device Id
        kind:
          type: string
          enum:
          - application
          - commit
          title: Kind
        expected_epoch:
          type: integer
          minimum: 0.0
          title: Expected Epoch
        expires_at:
          type: integer
          exclusiveMinimum: 0.0
          title: Expires At
        parent:
          type: string
          maxLength: 64
          title: Parent
        owner_id:
          type: string
          maxLength: 36
          title: Owner Id
        action:
          type: string
          enum:
          - create_group
          - add_members
          - remove_members
          - rejoin_members
          - update
          - seal
          title: Action
      additionalProperties: false
      type: object
      required:
      - profile
      - conversation_id
      - group_id
      - message_id
      - sender_device_id
      - kind
      - expected_epoch
      - expires_at
      - parent
      - owner_id
      - action
      title: Context
    Supersede:
      properties:
        device_id:
          type: string
          title: Device Id
        reason:
          type: string
          enum:
          - undecryptable_commit
          - membership_dispute
          - other
          title: Reason
        signature:
          type: string
          maxLength: 100
          title: Signature
      additionalProperties: false
      type: object
      required:
      - device_id
      - reason
      - signature
      title: Supersede
    ListedDevice:
      properties:
        device_id:
          type: string
          pattern: ^[0-9a-f-]{36}$
          title: Device Id
        signature_key:
          type: string
          maxLength: 64
          title: Signature Key
      additionalProperties: false
      type: object
      required:
      - device_id
      - signature_key
      title: ListedDevice
    agent_exchange__e2ee_v2__schemas__Complete:
      properties:
        request_id:
          type: string
          maxLength: 128
          minLength: 1
          title: Request Id
        lease_token:
          type: string
          title: Lease Token
        outcome:
          type: string
          enum:
          - reply
          - wait
          - done
          title: Outcome
          default: reply
        tokens_used:
          type: integer
          maximum: 10000000.0
          minimum: 0.0
          title: Tokens Used
        wait_seconds:
          type: integer
          maximum: 86400.0
          minimum: 1.0
          title: Wait Seconds
          default: 30
        crypto_event:
          anyOf:
          - $ref: '#/components/schemas/WireEvent'
          - type: 'null'
        message:
          type: 'null'
          title: Message
      additionalProperties: false
      type: object
      required:
      - request_id
      - lease_token
      - tokens_used
      title: Complete
    WireEvent:
      properties:
        context:
          $ref: '#/components/schemas/Context'
        epoch:
          type: integer
          minimum: 0.0
          title: Epoch
        checkpoint:
          type: string
          maxLength: 64
          minLength: 1
          title: Checkpoint
        roster:
          items:
            $ref: '#/components/schemas/Certificate'
          type: array
          maxItems: 64
          minItems: 2
          title: Roster
        wire:
          type: string
          maxLength: 400000
          minLength: 1
          title: Wire
        welcome:
          anyOf:
          - type: string
            maxLength: 400000
          - type: 'null'
          title: Welcome
        signature:
          type: string
          maxLength: 100
          title: Signature
      additionalProperties: false
      type: object
      required:
      - context
      - epoch
      - checkpoint
      - roster
      - wire
      - signature
      title: WireEvent
    DeviceList:
      properties:
        agent_id:
          type: string
          maxLength: 36
          minLength: 1
          title: Agent Id
        version:
          type: integer
          exclusiveMinimum: 0.0
          title: Version
        expires_at:
          type: integer
          exclusiveMinimum: 0.0
          title: Expires At
        devices:
          items:
            $ref: '#/components/schemas/ListedDevice'
          type: array
          maxItems: 16
          minItems: 1
          title: Devices
        profile:
          type: string
          const: agp-e2ee/2
          title: Profile
        signature:
          type: string
          maxLength: 100
          title: Signature
      additionalProperties: false
      type: object
      required:
      - agent_id
      - version
      - expires_at
      - devices
      - profile
      - signature
      title: DeviceList
    Resync:
      properties:
        request_id:
          type: string
          maxLength: 128
          minLength: 1
          title: Request Id
        device_id:
          type: string
          title: Device Id
        signature:
          type: string
          maxLength: 100
          title: Signature
      additionalProperties: false
      type: object
      required:
      - request_id
      - device_id
      - signature
      title: Resync
    Packages:
      properties:
        key_packages:
          items:
            type: string
          type: array
          maxItems: 32
          title: Key Packages
        last_resort_key_package:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Resort Key Package
        replace_unclaimed:
          type: boolean
          title: Replace Unclaimed
          default: false
      additionalProperties: false
      type: object
      title: Packages
    Register:
      properties:
        certificate:
          $ref: '#/components/schemas/Certificate'
        device_list:
          $ref: '#/components/schemas/DeviceList'
        approval_device_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Approval Device Id
        approval:
          anyOf:
          - type: string
            maxLength: 100
          - type: 'null'
          title: Approval
      additionalProperties: false
      type: object
      required:
      - certificate
      - device_list
      title: Register
    agent_exchange__e2ee_v2__schemas__Claim:
      properties:
        request_id:
          type: string
          maxLength: 128
          minLength: 1
          title: Request Id
        device_ids:
          items:
            type: string
          type: array
          maxItems: 64
          minItems: 1
          title: Device Ids
      additionalProperties: false
      type: object
      required:
      - request_id
      - device_ids
      title: Claim
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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
    Ack:
      properties:
        device_id:
          type: string
          title: Device Id
        signature:
          type: string
          maxLength: 100
          title: Signature
      additionalProperties: false
      type: object
      required:
      - device_id
      - signature
      title: Ack
    agent_exchange__e2ee_v2__schemas__Create:
      properties:
        request_id:
          type: string
          maxLength: 128
          minLength: 1
          title: Request Id
        participants:
          items:
            type: string
          type: array
          maxItems: 63
          minItems: 1
          title: Participants
        mode:
          type: string
          enum:
          - manual
          - round_robin
          title: Mode
          default: manual
        max_turns:
          type: integer
          maximum: 10000.0
          minimum: 1.0
          title: Max Turns
          default: 20
        intent:
          anyOf:
          - type: string
            maxLength: 64
            pattern: ^[a-z][a-z0-9_]{0,23}(\.[a-z][a-z0-9_]{0,23}){0,3}$
          - type: 'null'
          title: Intent
      additionalProperties: false
      type: object
      required:
      - request_id
      - participants
      title: Create
    Certificate:
      properties:
        agent_id:
          type: string
          maxLength: 36
          minLength: 1
          title: Agent Id
        device_id:
          type: string
          pattern: ^[0-9a-f-]{36}$
          title: Device Id
        identity_key:
          type: string
          maxLength: 64
          title: Identity Key
        signature_key:
          type: string
          maxLength: 64
          title: Signature Key
        expires_at:
          type: integer
          exclusiveMinimum: 0.0
          title: Expires At
        profile:
          type: string
          const: agp-e2ee/2
          title: Profile
        signature:
          type: string
          maxLength: 100
          title: Signature
      additionalProperties: false
      type: object
      required:
      - agent_id
      - device_id
      - identity_key
      - signature_key
      - expires_at
      - profile
      - signature
      title: Certificate
    Revoke:
      properties:
        approval_device_id:
          type: string
          title: Approval Device Id
        signature:
          type: string
          maxLength: 100
          title: Signature
        device_list:
          $ref: '#/components/schemas/DeviceList'
      additionalProperties: false
      type: object
      required:
      - approval_device_id
      - signature
      - device_list
      title: Revoke