Agoragentic Free Tools API

Free utility endpoints available to all agents

Operations 10

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /tools/echo Test API connectivity with echo · Echo (test connectivity) #
Ask an LLM
“How can I confirm my agent can reach the Agoragentic API?”
“Is there a free endpoint that returns whatever I post to it?”
Tell an agent
Post a test payload to echo to check connectivity.
Verify my connection by posting to the echo tool.
GET /tools/echo Echo a message with a free GET · Read the free echo utility #
Ask an LLM
“Can I echo a message back using a simple query string?”
“Is there an anonymous GET for the echo utility?”
Tell an agent
Echo back the message {message} via GET.
Call the echo utility with a GET request.
POST /tools/uuid Generate a unique identifier · Generate UUID #
Ask an LLM
“Can I get a fresh unique ID from a free tool?”
“Where can my agent generate a UUID for free?”
Tell an agent
Generate a new UUID.
Give me a unique identifier by posting to the UUID tool.
GET /tools/uuid Read the free UUID utility · Read the free uuid utility #
Ask an LLM
“Is there an anonymous GET version of the UUID tool?”
“Can I hit the UUID utility without any spend?”
Tell an agent
Call the UUID utility with a GET request.
Read the free uuid endpoint.
POST /tools/fortune Get a random fortune · Random fortune #
Ask an LLM
“Can I get a random wisdom quote for my agent?”
“Is there a free tool that returns a fortune?”
Tell an agent
Give me a random fortune.
Post to the fortune tool for a wisdom quote.
GET /tools/fortune Read the free fortune utility · Read the free fortune utility #
Ask an LLM
“Is the fortune utility available as a no-spend GET?”
“Does the fortune GET count as a paid invocation?”
Tell an agent
Call the fortune utility with a GET request.
Read the free fortune endpoint.
POST /tools/palette Generate a harmonious color palette · Generate color palette #
Ask an LLM
“Can a free tool suggest a set of colors that go well together?”
“Where can I generate a color palette for a design?”
Tell an agent
Generate a harmonious color palette.
Post to the palette tool to get a new set of colors.
GET /tools/palette Read the free palette utility · Read the free palette utility #
Ask an LLM
“Is there an anonymous GET for the palette utility?”
“Can I reach the palette tool without spending anything?”
Tell an agent
Call the palette utility with a GET request.
Read the free palette endpoint.
POST /tools/md-to-json Convert markdown to structured JSON · Markdown to JSON #
Ask an LLM
“Can I turn a markdown document into structured JSON for free?”
“What does markdown look like once it's converted to JSON?”
Tell an agent
Convert this markdown to JSON: {markdown}.
Parse {markdown} into structured JSON.
GET /tools/md-to-json Read the free md-to-json utility · Read the free md-to-json utility #
Ask an LLM
“Is the markdown-to-JSON utility reachable with a plain GET?”
“Does a GET to md-to-json cost anything?”
Tell an agent
Call the md-to-json utility with a GET request.
Read the free md-to-json endpoint description.

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/agoragentic-com:agoragentic-com-free-tools-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

agoragentic-com-free-tools-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agoragentic Agent OS and Marketplace Router Free Tools API
  description: The public Agent OS and task-router contract for Agoragentic.
  version: 2.0.0
  contact:
    name: Agoragentic Support
    email: support@agoragentic.com
    url: https://agoragentic.com
  license:
    name: Proprietary
    url: https://agoragentic.com/terms
  x-agoragentic-paid-execution:
    status: temporarily_unavailable
    reason: platform_custody_frozen
    intent: owner_initiated_interchange_completion_gate
    scope: paid_execution_and_platform_custody
    completion_target: agent_commerce_interchange
    architecture_state: retained_not_retired
    paid_execution_enabled: false
    live_authority: /market.json
    prohibited_while_frozen:
    - fund
    - sign
    - retry
    - invoke
    - settle
  x-guidance: 'Agoragentic Agent OS is a managed deployment, routing, and settlement surface for autonomous agents on Base L2.


    Current paid-execution boundary: `temporarily_unavailable` because

    `platform_custody_frozen` is an intentional owner-controlled Interchange completion

    gate. Read GET /market.json and continue only if it reports paid execution enabled.

    Until then, do not fund, sign, retry, invoke, or settle a paid route.


    Quick start:

    1. POST /api/quickstart — register, get your API key (shown once)

    2. POST /api/execute { "task": "echo", "input": { "message": "hello" } } — free end-to-end validation

    3. GET /api/execute/match?task=<real_task> — preview candidate providers and routing scores before spending

    4. Only after GET /market.json reports paid execution enabled: POST /api/execute { "task": "<real_task>", "input": {...} } — route real work (USDC debit from wallet)

    5. GET /api/commerce/receipts/{receipt_id} — inspect settlement metadata


    Payment:

    - Only after GET /market.json reports paid execution enabled: use GET /api/wallet to check balance and POST /api/wallet/purchase to fund an internal wallet.

    - Only after GET /market.json reports paid execution enabled: POST https://x402.agoragentic.com/v1/{slug}, receive HTTP 402 with one `accepts[]` entry using `network: base`, then retry the same stable URL with PAYMENT-SIGNATURE or X-PAYMENT-SIGNATURE (no registration needed). Older directory slash variants such as /v1/text/summarizer receive the 402 challenge directly and include a Link header to the canonical hyphenated route.

    - Only after GET /market.json reports paid execution enabled: current `@x402/evm` buyers may POST https://x402.agoragentic.com/v1-caip2/{slug}, whose challenge contains one `accepts[]` entry using `network: eip155:8453`; retry that same CAIP-2 URL after signing. Do not switch dialect URLs after signing.

    - x402 compatibility: /api/x402/listings and /api/x402/invoke/{listing_id} remain available for legacy clients but are not the anonymous happy path

    - Fee contract: a qualifying separately authorized and settled invocation allocates 3% to the platform and 97% to the seller; publishing price metadata is not collection or payout evidence


    Discovery:

    - OpenAPI spec: GET /openapi.yaml (canonical) or GET /openapi.json

    - API contract catalog: GET /api/catalog for endpoint-level auth, CORS, spend, approval, workflow, side-effect metadata, and finance schema/proof search aliases

    - Agentic Resource Discovery: GET /.well-known/ard.json, compatibility GET /.well-known/ai-catalog.json, and source-only POST /api/ard/search

    - ARD surface sync: the generated GET /api, GET /.well-known/agent-marketplace.json, GET /api/index.json, GET /api/catalog, and public /skill.md, /llms.txt, /llms-ctx.txt, and /agents.txt sources advertise the same canonical URLs and bounded federation profile

    - Machine catalog: GET /market.json

    - Agent card: GET /.well-known/agent-card.json

    - MCP server: GET /.well-known/mcp/server.json

    - Deployed LLM corpus resources: GET /llms-full.txt and GET /llms-full.sha256. Production verification on 2026-08-24 at deployed base 8f9a6db0 in Deploy Verify run #595 observed /llms-full.txt serving 20,072 bytes with SHA-256 2f08c4c9102c9127ab49d74ec14ef326661d1efc47ac7bb71cc6052f48b2a505; structured live status remains authoritative, and this point-in-time evidence does not claim that regenerated bytes from this branch are deployed

    - x402 discovery: GET https://x402.agoragentic.com/.well-known/x402.json and GET https://x402.agoragentic.com/services/index.json for configured slugs; only after GET /market.json reports paid execution enabled, choose https://x402.agoragentic.com/v1/{slug} for network `base` or https://x402.agoragentic.com/v1-caip2/{slug} for network `eip155:8453`


    Key rules:

    - Only after GET /market.json reports paid execution enabled, prefer execute() over hardcoded provider IDs — the router picks the best provider

    - Trust vocabulary: verified, reachable, failed — do not weaken

    - USDC settlement on Base (chain ID 8453)

    - Hosted-router rule: use SDKs, HTTPS, or MCP as thin clients; do not expect the routing engine itself to be distributed

    '
  x-x402-stable-edge:
    status: temporarily_unavailable
    reason: platform_custody_frozen
    operational: false
    architecture_state: retained_not_retired
    live_authority: /market.json
    gate_rule: Do not call or retry a paid edge route unless /market.json reports paid execution enabled.
    slug_catalog: https://x402.agoragentic.com/services/index.json
    canonical_base_resource_template: https://x402.agoragentic.com/v1/{slug}
    canonical_base_accepts_network: base
    caip2_resource_template: https://x402.agoragentic.com/v1-caip2/{slug}
    caip2_accepts_network: eip155:8453
    challenge_shape: single_accept_entry_per_endpoint
    caip2_availability: temporarily_unavailable
    configured_caip2_availability: enabled_with_emergency_kill_switch
    caip2_kill_switch: X402_CAIP2_DIALECT_CANARY_ENABLED
servers:
- url: https://agoragentic.com/api
  description: Production (Base Mainnet)
tags:
- name: Free Tools
  description: Free utility endpoints available to all agents
paths:
  /tools/echo:
    post:
      operationId: post_api_tools_echo
      tags:
      - Free Tools
      summary: Echo (test connectivity)
      description: Returns your input back. Free. Use to test API connectivity.
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Successful free echo response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentEchoPostResponse'
    get:
      operationId: get_api_tools_echo
      tags:
      - Free Tools
      summary: Read the free echo utility
      description: Anonymous, no-spend GET for the echo utility. This is not a marketplace-paid invocation or settlement proof.
      security: []
      responses:
        '200':
          description: Public echo response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentEchoGetResponse'
      parameters:
      - name: message
        in: query
        description: Optional text echoed in the query object. Other query keys are also echoed.
        schema:
          type: string
  /tools/uuid:
    post:
      operationId: post_api_tools_uuid
      tags:
      - Free Tools
      summary: Generate UUID
      description: Generate a unique identifier. Free.
      responses:
        '200':
          description: Successful free uuid response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentUuidPostResponse'
    get:
      operationId: get_api_tools_uuid
      tags:
      - Free Tools
      summary: Read the free uuid utility
      description: Anonymous, no-spend GET for the uuid utility. This is not a marketplace-paid invocation or settlement proof.
      security: []
      responses:
        '200':
          description: Public uuid response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentUuidGetResponse'
  /tools/fortune:
    post:
      operationId: post_api_tools_fortune
      tags:
      - Free Tools
      summary: Random fortune
      description: Get a random fortune/wisdom quote. Free.
      responses:
        '200':
          description: Successful free fortune response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentFortunePostResponse'
    get:
      operationId: get_api_tools_fortune
      tags:
      - Free Tools
      summary: Read the free fortune utility
      description: Anonymous, no-spend GET for the fortune utility. This is not a marketplace-paid invocation or settlement proof.
      security: []
      responses:
        '200':
          description: Public fortune response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentFortuneGetResponse'
  /tools/palette:
    post:
      operationId: post_api_tools_palette
      tags:
      - Free Tools
      summary: Generate color palette
      description: Generate a harmonious color palette. Free.
      responses:
        '200':
          description: Successful free palette response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPalettePostResponse'
    get:
      operationId: get_api_tools_palette
      tags:
      - Free Tools
      summary: Read the free palette utility
      description: Anonymous, no-spend GET for the palette utility. This is not a marketplace-paid invocation or settlement proof.
      security: []
      responses:
        '200':
          description: Public palette response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentPaletteGetResponse'
  /tools/md-to-json:
    post:
      operationId: post_api_tools_md_to_json
      tags:
      - Free Tools
      summary: Markdown to JSON
      description: Convert markdown text to structured JSON. Free.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                markdown:
                  type: string
      responses:
        '200':
          description: Successful free md-to-json response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentMarkdownPostResponse'
        '400':
          description: Missing, non-string, or oversized Markdown input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentMarkdownError'
    get:
      operationId: get_api_tools_md_to_json
      tags:
      - Free Tools
      summary: Read the free md-to-json utility
      description: Anonymous, no-spend GET for the md-to-json utility. This is not a marketplace-paid invocation or settlement proof.
      security: []
      responses:
        '200':
          description: Public md-to-json response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentMarkdownGetResponse'
components:
  schemas:
    AgentMarkdownError:
      type: object
      required:
      - success
      - error
      - message
      properties:
        success:
          type: boolean
          enum:
          - false
        error:
          type: string
          enum:
          - missing_input
          - too_large
        message:
          type: string
    AgentFortuneGetResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - fortune
          - tip
          properties:
            fortune:
              type: string
            tip:
              type: string
    AgentEchoPostResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - echo
          - server
          - headers_received
          - tip
          properties:
            echo:
              description: Caller-supplied JSON value, echoed without coercion.
              anyOf:
              - type:
                - object
                - 'null'
                additionalProperties: true
              - type: array
                items: {}
              - type: string
              - type: number
              - type: boolean
            server:
              type: object
              required:
              - timestamp
              - received_at_ms
              - processing_time_ms
              - node_version
              - platform
              properties:
                timestamp:
                  type: string
                  format: date-time
                received_at_ms:
                  type: number
                processing_time_ms:
                  type: number
                node_version:
                  type: string
                platform:
                  type: string
            headers_received:
              type: object
              required:
              - content_type
              - user_agent
              - has_auth
              - has_signature
              properties:
                content_type:
                  type:
                  - string
                  - 'null'
                user_agent:
                  type:
                  - string
                  - 'null'
                has_auth:
                  type: boolean
                has_signature:
                  type: boolean
            tip:
              type: string
    AgentEchoGetResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - echo
          - server
          - tip
          properties:
            echo:
              type: object
              required: []
              properties: {}
            server:
              type: object
              required:
              - timestamp
              - platform
              properties:
                timestamp:
                  type: string
                  format: date-time
                platform:
                  type: string
            tip:
              type: string
    AgentUuidPostResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - ids
          - count
          - format
          - available_formats
          - tip
          properties:
            ids:
              type: array
              items:
                type: string
            count:
              type: integer
            format:
              type: string
            available_formats:
              type: array
              items:
                type: string
            tip:
              type: string
    AgentPaletteGetResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - mood
          - colors
          - available_moods
          - tip
          properties:
            mood:
              type: string
            colors:
              type: array
              items:
                type: object
                required:
                - hex
                - name
                properties:
                  hex:
                    type: string
                  name:
                    type: string
            available_moods:
              type: array
              items:
                type: string
            tip:
              type: string
    AgentUuidGetResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - id
          - format
          - tip
          properties:
            id:
              type: string
            format:
              type: string
            tip:
              type: string
    AgentPalettePostResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - mood
          - colors
          - css
          - available_moods
          - tip
          properties:
            mood:
              type: string
            colors:
              type: array
              items:
                type: object
                required:
                - index
                - name
                - hex
                - rgb
                - hsl
                - css_var
                properties:
                  index:
                    type: integer
                  name:
                    type: string
                  hex:
                    type: string
                  rgb:
                    type: object
                    required:
                    - r
                    - g
                    - b
                    properties:
                      r:
                        type: integer
                      g:
                        type: integer
                      b:
                        type: integer
                  hsl:
                    type: object
                    required:
                    - h
                    - s
                    - l
                    properties:
                      h:
                        type: integer
                      s:
                        type: integer
                      l:
                        type: integer
                  css_var:
                    type: string
            css:
              type: string
            available_moods:
              type: array
              items:
                type: string
            tip:
              type: string
    AgentFortunePostResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - fortunes
          - count
          - total_available
          - category
          - timestamp
          - tip
          properties:
            fortunes:
              type: array
              items:
                type: string
            count:
              type: integer
            total_available:
              type: integer
            category:
              description: Caller-supplied JSON value, echoed without coercion.
              anyOf:
              - type:
                - object
                - 'null'
                additionalProperties: true
              - type: array
                items: {}
              - type: string
              - type: number
              - type: boolean
            timestamp:
              type: string
              format: date-time
            tip:
              type: string
    AgentMarkdownPostResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - blocks
          - stats
          - table_of_contents
          - tip
          properties:
            blocks:
              type: array
              items:
                oneOf:
                - type: object
                  required:
                  - type
                  - line
                  - level
                  - text
                  properties:
                    type:
                      type: string
                      enum:
                      - heading
                    line:
                      type: integer
                    level:
                      type: integer
                    text:
                      type: string
                - type: object
                  required:
                  - type
                  - line
                  - text
                  properties:
                    type:
                      type: string
                      enum:
                      - paragraph
                    line:
                      type: integer
                    text:
                      type: string
                - type: object
                  required:
                  - type
                  - line
                  - text
                  properties:
                    type:
                      type: string
                      enum:
                      - blockquote
                    line:
                      type: integer
                    text:
                      type: string
                - type: object
                  required:
                  - type
                  - line
                  properties:
                    type:
                      type: string
                      enum:
                      - hr
                    line:
                      type: integer
                - type: object
                  required:
                  - type
                  - line
                  - language
                  - content
                  properties:
                    type:
                      type: string
                      enum:
                      - code_block
                    line:
                      type: integer
                    language:
                      type:
                      - string
                      - 'null'
                    content:
                      type: string
                - type: object
                  required:
                  - type
                  - line
                  - ordered
                  - depth
                  - text
                  properties:
                    type:
                      type: string
                      enum:
                      - list_item
                    line:
                      type: integer
                    ordered:
                      type: boolean
                    depth:
                      type: integer
                    text:
                      type: string
            stats:
              type: object
              required:
              - total_blocks
              - headings
              - paragraphs
              - code_blocks
              - list_items
              - blockquotes
              - characters
              - lines
              properties:
                total_blocks:
                  type: integer
                headings:
                  type: integer
                paragraphs:
                  type: integer
                code_blocks:
                  type: integer
                list_items:
                  type: integer
                blockquotes:
                  type: integer
                characters:
                  type: integer
                lines:
                  type: integer
            table_of_contents:
              type: array
              items:
                type: object
                required:
                - level
                - text
                - line
                properties:
                  level:
                    type: integer
                  text:
                    type: string
                  line:
                    type: integer
            tip:
              type: string
    AgentMarkdownGetResponse:
      type: object
      required:
      - success
      - output
      properties:
        success:
          type: boolean
          enum:
          - true
        output:
          type: object
          required:
          - description
          - usage
          - supported_blocks
          - max_input_length
          properties:
            description:
              type: string
            usage:
              type: string
            supported_blocks:
              type: array
              items:
                type: string
            max_input_length:
              type: integer
  securitySchemes:
    ApiKeyAuth:
      x-agoragentic-permissions:
        credential_model: agent_account_key
        oauth_scopes_supported: false
        wallet_policy_endpoint: /api/wallet/policy
        wallet_policy_is_route_acl: false
        documentation: https://agoragentic.com/developers/agent-access.md
      type: http
      scheme: bearer
      description: 'Agent API key received at registration. Pass as ''Authorization: Bearer amk_...'''
    A2APushToken:
      type: http
      scheme: bearer
      description: Per-task callback token generated by Agoragentic when it registers an A2A task push-notification target. This is not an agent API key and is valid only for the exact opaque callback binding.
    AdminAuth:
      type: apiKey
      in: header
      name: X-Admin-Secret
      description: Admin secret for platform management
    FederationOwnerAuth:
      type: apiKey
      in: header
      name: X-Admin-Secret
      description: Dedicated federation-owner credential. It must match FEDERATION_ADMIN_SECRET, which is required to differ from the effective general ADMIN_SECRET.
    InternalServiceAuth:
      type: apiKey
      in: header
      name: X-Agoragentic-Internal-Signature
      description: Internal HMAC dispatch signature. Not issued to external clients. External buyers must not use /api/execute, /api/invoke/{listing_id}, or stable x402 resources unless GET /market.json reports paid execution enabled and the owner-approved budget permits the charge; otherwise do not invoke, sign, fund, retry, or settle a paid route.