# OpenAPI specification

> Download or import the Ur Next Door API OpenAPI 3.1 document for ChatGPT Actions, Postman, code generators and AI agents, plus the extensions it uses.

Source: https://docs.urnextdoor.com/reference/openapi/

The Ur Next Door API is described by an OpenAPI 3.1 document. It is the contract: these docs, their code samples and the Postman collection are generated from it.

## Where to get it

| Copy | URL |
| --- | --- |
| Canonical, served by the API (public, no key) | `https://urnextdoor.com/api/v1/openapi.json` |
| Copy shipped with these docs | [/openapi.json](https://docs.urnextdoor.com/openapi.json) |
| Postman collection built from it | [/downloads/urnextdoor-api.postman_collection.json](https://docs.urnextdoor.com/downloads/urnextdoor-api.postman_collection.json) |

The docs copy is synced from the API. If the two ever differ, the one served by the API wins.

## Import it

- **ChatGPT custom GPT:** Actions, **Import from URL**, paste the canonical URL. See [ChatGPT Actions](https://docs.urnextdoor.com/ai/chatgpt-actions.md).
- **Postman or Insomnia:** Import, paste the URL.
- **Code generators:** for example `npx @openapitools/openapi-generator-cli generate -i https://urnextdoor.com/api/v1/openapi.json -g python -o und-client`. Generated clients still need your key from `UND_API_KEY`.
- **AI agents:** point them at the URL, or at [llms.txt](https://docs.urnextdoor.com/llms.txt) for the docs.

## What is in it

- `servers`: the one base URL, `https://urnextdoor.com/api/v1`.
- `securitySchemes`: `bearerAuth` (HTTP Bearer) and `apiKeyHeader` (`X-API-Key`). Either works.
- Every operation has an `operationId` (for example `createPost`), a tag (Account, Content, Media, Scheduling, Lookups), a summary and a short description.
- Request bodies with named examples: `basic`, `scheduled` and `withImage` on the creates, `base64` and `multipart` on media.
- Responses for every status, with the shared error envelope and example error codes.

## Extensions

| Extension | Where | Meaning |
| --- | --- | --- |
| `x-required-scope` | Each operation | The scope a key needs (`content`, `media`, `schedule`, `read`), or `null` when any valid key works |
| `x-quota-action` | Each operation | The daily quota the call counts against, or `null` when it is not counted |
| `x-quotas` | `info` | The daily quota table per plan and action |
| `x-burst-limit-per-minute` | `info` | Requests a minute per member (60) |

## Version

`info.version` is `1.0.0`, the first release of API v1. Changes to the document are listed in the [changelog](https://docs.urnextdoor.com/changelog.md).

## Next steps

- [API reference](https://docs.urnextdoor.com/reference.md).
- [Postman](https://docs.urnextdoor.com/integrations/postman.md).
- [ChatGPT Actions](https://docs.urnextdoor.com/ai/chatgpt-actions.md).
