---
title: "Service index"
method: GET
path: "/"
tags: ["Discovery"]
---

# Service index

`GET /`

## Request

- Base URL: `https://yappy.biz/api/v1`
- URL: `https://yappy.biz/api/v1/`
- Auth: one of:
  - none
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://yappy.biz/oauth/authorize`, token URL `https://yappy.biz/oauth/token`; client credentials, token URL `https://yappy.biz/oauth/token`)

Every endpoint this API exposes, the dated API version that answered, the rate-limit policy in force, and links to the OpenAPI spec, both MCP servers, and the OAuth discovery documents. A good first call for an agent that has just found this domain and wants the map before the territory.

## Response `200`

The service index

- ServiceIndex: The map: endpoints, limits, and every other machine surface this domain publishes.
  - `object` 'service_index', required: Type discriminator.
  - `name` string, required: Service name.
  - `description` string: What this API is for, and what it is not.
  - `api_version` string, required: The dated build answering right now.
  - `documentation_url` string, uri: Human docs.
  - `openapi_url` string, uri: The machine contract.
  - `authentication` object: How to authenticate, and whether you need to.
    - `required` boolean: Whether reads need a credential.
    - `walkthrough` string, uri: Prose guide for agents.
    - `protected_resource_metadata` string, uri: RFC 9728 document.
    - `authorization_server_metadata` string, uri: RFC 8414 document.
  - `mcp` object: The MCP surfaces over the same data.
    - `url` string, uri: Product MCP server.
    - `docs_url` string, uri: Documentation MCP server.
    - `transport` string: Transport in use.
    - `server_card` string, uri: Tool list, before connecting.
  - `rate_limit` object: The ceiling in force for this caller.
    - `limit` integer: Requests per window.
    - `window_seconds` integer: Window length.
    - `documentation` string, uri: The rate-limit page.
  - `sandbox_url` string, uri: Base URL of the fixture environment.
  - `endpoints` object[], required: Every operation, with its path and what it answers.
    - `method` string, required: HTTP verb.
    - `path` string, required: Path relative to this server.
    - `operation_id` string, required: Matches the OpenAPI operationId.
    - `description` string, required: What it returns.

## Other responses

- `400`: The request was malformed
- `401`: The supplied credential is missing, expired, or invalid
- `403`: The credential is valid but lacks the required scope
- `429`: Too many requests
- `500`: Unexpected server error
- `503`: A dependency was unavailable

---

[API](https://skmtc.dev/yappy/apis/yappy-web-api.md) · [All operations](https://skmtc.dev/yappy/apis/yappy-web-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yappy/apis/yappy-web-api/revisions/02b27cd526a7?raw)
