17 lines
1.0 KiB
Markdown
17 lines
1.0 KiB
Markdown
---
|
|
name: Add Admin API Endpoint
|
|
description: Add a new endpoint or endpoints to Ghost's Admin API at `ghost/api/admin/**`.
|
|
---
|
|
|
|
# Create Admin API Endpoint
|
|
|
|
## Instructions
|
|
|
|
1. If creating an endpoint for an entirely new resource, create a new endpoint file in `ghost/core/core/server/api/endpoints/`. Otherwise, locate the existing endpoint file in the same directory.
|
|
2. The endpoint file should create a controller object using the JSDoc type from (@tryghost/api-framework).Controller, including at minimum a `docName` and a single endpoint definition, i.e. `browse`.
|
|
3. Add routes for each endpoint to `ghost/core/core/server/web/api/endpoints/admin/routes.js`.
|
|
4. Add basic `e2e-api` tests for the endpoint in `ghost/core/test/e2e-api/admin` to ensure the new endpoints function as expected.
|
|
5. Run the tests and iterate until they pass: `cd ghost/core && pnpm test:single test/e2e-api/admin/{test-file-name}`.
|
|
|
|
## Reference
|
|
For a detailed reference on Ghost's API framework and how to create API controllers, see [reference.md](reference.md). |