> For the complete documentation index, see [llms.txt](https://docs.eggubator.co/llms.txt).

These are machine-readable instructions for using the Test API API.

Every endpoint, every parameter, every auth requirement - written for an agent that will copy-paste commands, not a human skimming for nouns.

# MCP Server

There's an MCP server at `https://docs.eggubator.co/mcp` exposing tools like `search_endpoints`, `get_endpoint`, and operation lookup. When you need specifics about an endpoint - parameters, status codes, examples - query the MCP server first; do not guess.

If the user has not yet connected the MCP server in their client, they can install it from the docs at `https://docs.eggubator.co`.

# Getting Started

_No getting-started content yet. Add some at the dashboard's Getting Started page._

## CLI

This is a tesst

```
test
```

Hello

## SDKs

### Node

asdf

```
test
```

# Installation

## Node.js

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official Node.js SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for Node.js is fetch.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## Python

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official Python SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for Python is requests.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## Ruby

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official Ruby SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for Ruby is Net::HTTP.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## PHP

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official PHP SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for PHP is cURL.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## Go

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official Go SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for Go is net/http.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## React

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official React SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for React is fetch.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## Java

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official Java SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for Java is java.net.http.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## C#

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official C# SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for C# is HttpClient.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## Rust

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no official Rust SDK, so use whatever HTTP client and conventions this codebase already uses for API calls. If there isn't an established pattern, a common choice for Rust is reqwest.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

## Any other language

### Agent setup prompt

We want to integrate Test API into this codebase via API.

There's no SDK, so use whatever HTTP client and conventions this codebase already uses for API calls.

Authentication: send a bearer token in the `Authorization` header (`Authorization: Bearer <token>`).

The base URL is `https://google.com`.

You can see the available endpoints at https://docs.eggubator.co/llms.txt, or read the full OpenAPI spec at https://docs.eggubator.co/openapi.yaml. Adapt the auth and endpoints to your use case as needed.

# Endpoints

Base URL: `https://google.com`

- List all pets - `GET https://google.com/pets`
- Create a pet - `POST https://google.com/pets`
- Get a pet by ID - `GET https://google.com/pets/{id}`
- Update a pet - `PUT https://google.com/pets/{id}`
- Delete a pet - `DELETE https://google.com/pets/{id}`
- List all users - `GET https://google.com/users`
- Create a user - `POST https://google.com/users`
- Get a user by ID - `GET https://google.com/users/{id}`
- Update a user - `PUT https://google.com/users/{id}`
- Delete a user - `DELETE https://google.com/users/{id}`
- List all orders - `GET https://google.com/orders`
- Create an order - `POST https://google.com/orders`
- Get an order by ID - `GET https://google.com/orders/{id}`
- Update an order - `PUT https://google.com/orders/{id}`
- Delete an order - `DELETE https://google.com/orders/{id}`
- List all categories - `GET https://google.com/categories`
- Create a category - `POST https://google.com/categories`
- List all tags - `GET https://google.com/tags`
- Create a tag - `POST https://google.com/tags`

## Full OpenAPI specification

Complete spec for every endpoint above (internal operations removed):

```yaml
openapi: 3.0.3
info:
  title: Test API
  description: >
    A fake in-memory pet store API used as a fixture for SDK integration testing. Provides CRUD
    operations for pets, users, orders, categories, and tags.
  version: 1.0.0
servers:
  - url: https://google.com
    description: API server
security:
  - bearerAuth: []
tags:
  - name: Pets
    description: Operations for managing pets
  - name: Users
    description: Operations for managing users
  - name: Orders
    description: Operations for managing orders
  - name: Categories
    description: Operations for managing pet categories
  - name: Tags
    description: Operations for managing tags
  - name: Internal
    description: Internal/admin endpoints
paths:
  /pets:
    get:
      tags:
        - Pets
      summary: List all pets
      description: Returns a list of all pets in the store.
      operationId: listPets
      responses:
        '200':
          description: A list of pets
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Pet'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      tags:
        - Pets
      summary: Create a pet
      description: >-
        Adds a new pet to the store. The pet is automatically assigned an ID and its status is set
        to "available".
      operationId: createPet
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PetInput'
      responses:
        '201':
          description: The newly created pet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pet'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /pets/{id}:
    get:
      tags:
        - Pets
      summary: Get a pet by ID
      description: Returns a single pet by its numeric ID.
      operationId: getPet
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: A single pet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pet'
        '401':
          $ref: '#/components/responses/Unauthorized'
    put:
      tags:
        - Pets
      summary: Update a pet
      description: >-
        Updates an existing pet by its numeric ID. Merges the request body into the existing pet
        record.
      operationId: updatePet
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PetInput'
      responses:
        '200':
          description: The updated pet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pet'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      tags:
        - Pets
      summary: Delete a pet
      description: Removes a pet from the store by its numeric ID.
      operationId: deletePet
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      responses:
        '204':
          description: Pet deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
  /users:
    get:
      tags:
        - Users
      summary: List all users
      description: Returns a list of all registered users.
      operationId: listUsers
      responses:
        '200':
          description: A list of users
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      tags:
        - Users
      summary: Create a user
      description: Registers a new user. The user is automatically assigned an ID.
      operationId: createUser
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInput'
      responses:
        '201':
          description: The newly created user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /users/{id}:
    get:
      tags:
        - Users
      summary: Get a user by ID
      description: Returns a single user by their numeric ID.
      operationId: getUser
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: A single user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
    put:
      tags:
        - Users
      summary: Update a user
      description: >-
        Updates an existing user by their numeric ID. Merges the request body into the existing user
        record.
      operationId: updateUser
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserInput'
      responses:
        '200':
          description: The updated user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      tags:
        - Users
      summary: Delete a user
      description: Removes a user by their numeric ID.
      operationId: deleteUser
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      responses:
        '204':
          description: User deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
  /orders:
    get:
      tags:
        - Orders
      summary: List all orders
      description: Returns a list of all orders.
      operationId: listOrders
      responses:
        '200':
          description: A list of orders
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      tags:
        - Orders
      summary: Create an order
      description: >-
        Places a new order. The order is automatically assigned an ID, its status is set to
        "pending", and a timestamp is recorded.
      operationId: createOrder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderInput'
      responses:
        '201':
          description: The newly created order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /orders/{id}:
    get:
      tags:
        - Orders
      summary: Get an order by ID
      description: Returns a single order by its numeric ID.
      operationId: getOrder
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: A single order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
    put:
      tags:
        - Orders
      summary: Update an order
      description: >-
        Updates an existing order by its numeric ID. Merges the request body into the existing order
        record.
      operationId: updateOrder
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderInput'
      responses:
        '200':
          description: The updated order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
    delete:
      tags:
        - Orders
      summary: Delete an order
      description: Removes an order by its numeric ID.
      operationId: deleteOrder
      parameters:
        - $ref: '#/components/parameters/ResourceId'
      responses:
        '204':
          description: Order deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
  /categories:
    get:
      tags:
        - Categories
      summary: List all categories
      description: Returns a list of all pet categories.
      operationId: listCategories
      responses:
        '200':
          description: A list of categories
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Category'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      tags:
        - Categories
      summary: Create a category
      description: Adds a new pet category. The category is automatically assigned an ID.
      operationId: createCategory
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CategoryInput'
      responses:
        '201':
          description: The newly created category
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /tags:
    get:
      tags:
        - Tags
      summary: List all tags
      description: Returns a list of all tags.
      operationId: listTags
      responses:
        '200':
          description: A list of tags
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Tag'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      tags:
        - Tags
      summary: Create a tag
      description: Adds a new tag. The tag is automatically assigned an ID.
      operationId: createTag
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagInput'
      responses:
        '201':
          description: The newly created tag
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tag'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        API key passed as a Bearer token in the Authorization header. Example: `Authorization:
        Bearer ps_live_abc123def456`
  parameters:
    ResourceId:
      name: id
      in: path
      required: true
      description: Numeric ID of the resource
      schema:
        type: integer
        example: 1
  responses:
    Unauthorized:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: 'Invalid API key. Pass a valid key via Authorization: Bearer <key>'
  schemas:
    Pet:
      type: object
      properties:
        id:
          type: integer
          description: Auto-generated pet ID
          example: 1
        name:
          type: string
          description: Name of the pet
          example: Buddy
        species:
          type: string
          description: Species of the pet
          example: Dog
        age:
          type: integer
          description: Age of the pet in years
          example: 3
        status:
          type: string
          description: Availability status of the pet
          example: available
    PetInput:
      type: object
      properties:
        name:
          type: string
          description: Name of the pet
          example: Buddy
        species:
          type: string
          description: Species of the pet
          example: Dog
        age:
          type: integer
          description: Age of the pet in years
          example: 3
    User:
      type: object
      properties:
        id:
          type: integer
          description: Auto-generated user ID
          example: 1
        username:
          type: string
          description: Username
          example: jdoe
        email:
          type: string
          format: email
          description: Email address
          example: jdoe@example.com
        role:
          type: string
          description: User role
          example: admin
    UserInput:
      type: object
      properties:
        username:
          type: string
          description: Username
          example: jdoe
        email:
          type: string
          format: email
          description: Email address
          example: jdoe@example.com
        role:
          type: string
          description: User role
          example: admin
    Order:
      type: object
      properties:
        id:
          type: integer
          description: Auto-generated order ID
          example: 1
        userId:
          type: integer
          description: ID of the user who placed the order
          example: 1
        petId:
          type: integer
          description: ID of the pet being ordered
          example: 2
        status:
          type: string
          description: Current status of the order
          example: pending
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp of when the order was created
          example: '2026-04-23T12:00:00.000Z'
    OrderInput:
      type: object
      properties:
        userId:
          type: integer
          description: ID of the user placing the order
          example: 1
        petId:
          type: integer
          description: ID of the pet being ordered
          example: 2
    Category:
      type: object
      properties:
        id:
          type: integer
          description: Auto-generated category ID
          example: 1
        name:
          type: string
          description: Category name
          example: Dogs
        description:
          type: string
          description: Category description
          example: All dog breeds
    CategoryInput:
      type: object
      properties:
        name:
          type: string
          description: Category name
          example: Dogs
        description:
          type: string
          description: Category description
          example: All dog breeds
    Tag:
      type: object
      properties:
        id:
          type: integer
          description: Auto-generated tag ID
          example: 1
        label:
          type: string
          description: Tag label
          example: friendly
    TagInput:
      type: object
      properties:
        label:
          type: string
          description: Tag label
          example: friendly
    HealthStatus:
      type: object
      properties:
        status:
          type: string
          description: Current server status
          example: ok
        uptime:
          type: number
          description: Server uptime in seconds
          example: 12345.67
```

# Use cases

This is a curated list of things people can do with this API.

## Get all pets

Get a list of every pet

This is a test usecase!

## Favorite colors

The best color for pets is turquoise!!
