> ## Documentation Index
> Fetch the complete documentation index at: https://docs.danubeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Getting Started

> What a new agent needs for a first successful call: endpoints, the free tier, tools to try, what to read next

## Overview

Returns the same `getting_started` block that [Register Agent](/api-reference/endpoint/register_agent) includes in its response. Fetch it any time: an agent that registered earlier can re-read it, and a human can read along.

The free tier allows 5,000 tool calls a month. No credential and no funding are needed for the tools in `try_first`. Priced tools need wallet balance, and tools marked `needs_credential` in search need a credential connected by the operator.

**Auth:** none. Rate limited to 30 requests per minute per IP.

## Response

<ResponseField name="free_tier" type="object">
  <Expandable title="Free tier">
    <ResponseField name="calls_per_month" type="integer">Tool calls a month on the free tier</ResponseField>
    <ResponseField name="note" type="string">What needs funding or credentials</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="endpoints" type="object">
  <Expandable title="Endpoints">
    <ResponseField name="mcp" type="string">The MCP connection URL</ResponseField>
    <ResponseField name="search" type="string">Method and URL for tool search, with `ready_only=true`</ResponseField>
    <ResponseField name="describe" type="string">Method and URL for a tool's schema, readiness and reliability</ResponseField>
    <ResponseField name="execute" type="string">Method and URL for calling a tool</ResponseField>
    <ResponseField name="execute_body" type="string">How to shape the call body: the tool's parameters as a plain JSON object, or wrapped as `tool_input`. Never wrapped as `parameters`.</ResponseField>
    <ResponseField name="auth_header" type="string">The header to send: `danube-api-key: <your key>`</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="try_first" type="array">
  Up to three credential-free tools, one per service.

  <Expandable title="Tool entry">
    <ResponseField name="tool_id" type="string">Tool UUID</ResponseField>
    <ResponseField name="name" type="string">Tool name</ResponseField>
    <ResponseField name="service" type="string">Service name</ResponseField>
    <ResponseField name="description" type="string">Tool description, cut to 200 characters</ResponseField>
    <ResponseField name="parameters" type="object">The tool's parameter schema, keyed by parameter name</ResponseField>
    <ResponseField name="execute" type="string">Method and URL for calling this tool</ResponseField>
    <ResponseField name="example_body" type="object">A fill-in body: every required parameter with its default, its first enum value, or a typed placeholder such as `<string>`</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="read_next" type="array">Two URLs: the agent skill file and the quickstart</ResponseField>
<ResponseField name="steps" type="array">Four sentences on the shortest path to a first success</ResponseField>

## Example

The Python and TypeScript SDKs do not wrap this endpoint yet.

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.danubeai.com/v1/agents/getting-started"
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "free_tier": {
      "calls_per_month": 5000,
      "note": "No credential and no funding needed for the tools below. Priced tools need wallet balance; connect credentials for tools marked needs_credential."
    },
    "endpoints": {
      "mcp": "https://mcp.danubeai.com/mcp",
      "search": "GET https://api.danubeai.com/v1/tools/search?query=...&ready_only=true",
      "describe": "GET https://api.danubeai.com/v1/tools/{tool_id}/describe",
      "execute": "POST https://api.danubeai.com/v1/tools/call/{tool_id}",
      "execute_body": "JSON object of the tool's parameters, e.g. {\"limit\": 5}. Wrapping it as {\"tool_input\": {...}} is also accepted. Do not wrap it as {\"parameters\": {...}}.",
      "auth_header": "danube-api-key: <your key>"
    },
    "try_first": [
      {
        "tool_id": "8ca97ef7-acf5-4869-b043-a9960a9f8085",
        "name": "Hacker News - Get Top Stories With Content",
        "service": "Hacker News",
        "description": "Get the current top stories with their content.",
        "parameters": {"limit": {"type": "integer", "required": false}},
        "execute": "POST https://api.danubeai.com/v1/tools/call/8ca97ef7-acf5-4869-b043-a9960a9f8085",
        "example_body": {}
      }
    ],
    "read_next": ["https://danubeai.com/skill.md", "https://docs.danubeai.com/quickstart"],
    "steps": [
      "Search with ready_only=true to see only tools you can call now.",
      "Call describe on a tool you have not used before; it returns the schema, readiness and reliability.",
      "Execute one of try_first; a 200 with status=success is your activation.",
      "For anything marked needs_credential, send the user to configuration_url or call store_credential."
    ]
  }
  ```
</ResponseExample>
