# Download AiCatalog



Operation: downloadAiCatalog
GET /.well-known/ai-catalog.json

Access: anonymous. Automatic retries: none. Redirects: manual. Request body limit: 0 bytes.
Default timeout: 30 seconds. Response limit: 16 MiB. Pagination is opt-in and bounded; an exhausted bound reports incomplete execution.

[HTML reference](/developers/api/downloadAiCatalog) · [Authoritative schemas](/api/openapi.json)

## Wire contract

```json
{
  "operationId": "downloadAiCatalog",
  "summary": "Download AiCatalog",
  "tags": [
    "discovery"
  ],
  "parameters": [],
  "responses": {
    "200": {
      "description": "Public representation",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "specVersion": {
                "const": "1.0"
              },
              "host": {
                "type": "object",
                "properties": {
                  "displayName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "documentationUrl": {
                    "type": "string",
                    "format": "uri"
                  },
                  "logoUrl": {
                    "type": "string",
                    "format": "uri"
                  }
                },
                "required": [
                  "displayName",
                  "documentationUrl",
                  "logoUrl"
                ],
                "additionalProperties": false
              },
              "entries": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "identifier": {
                      "type": "string",
                      "pattern": "^urn:air:[a-zA-Z0-9.-]+(?::[a-zA-Z0-9._-]+)+$"
                    },
                    "displayName": {
                      "type": "string",
                      "minLength": 1
                    },
                    "type": {
                      "type": "string",
                      "minLength": 1
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "description": {
                      "type": "string",
                      "minLength": 1
                    },
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "capabilities": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "representativeQueries": {
                      "minItems": 2,
                      "maxItems": 5,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "version": {
                      "type": "string",
                      "minLength": 1
                    },
                    "metadata": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": [
                          "string",
                          "number",
                          "boolean",
                          "null"
                        ]
                      }
                    }
                  },
                  "required": [
                    "identifier",
                    "displayName",
                    "type",
                    "url"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "specVersion",
              "host",
              "entries"
            ],
            "additionalProperties": false
          }
        }
      }
    }
  }
}
```

## Synthetic examples

### curl

```bash
curl --fail-with-body --max-time 30 --max-filesize 16777216 --request GET 'https://irvinebroque.com/.well-known/ai-catalog.json' --header 'Accept: application/json'
```

### TypeScript

```typescript
import { PublicApi } from '@irvinebroque/public-api';
const api = new PublicApi();
const result = await api.discovery.aiCatalog({});
console.log(result.status, result.headers.get('content-type')); // Keep transient capabilities in memory.
```

### CLI

```bash
irvinebroque discovery ai-catalog
```
