2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-17 20:45:44 +00:00

Render API docs (#6463)

* Render API docs

* Cleanup broken links

* Re-enable strict mode

* Change json to yaml

* Update docs/docs/api/schema.md

Co-authored-by: Matthias Mair <code@mjmair.com>

* Update docs/docs/api/schema.md

Co-authored-by: Matthias Mair <code@mjmair.com>

* Use neoteroi-mkdocs instead

- seems to render more reliably

* Fix SERVERS section for SPECTACTULAR_SETTINGS

* Script for splitting schema into smaller sections

* Generate an index file for the schema pages

* Move schema.md up one directory

* Fix formatting

* Remove tracked file

* Add hook for rebuilding API schema as part of RTD build

* Extract schema as RTD build step

* install invoke

* export env vars

* remove argparse

* Fix order of operations

* Compress env vars

* Remove custom env vars

- Now configured as part of RTD project

* Migrate db

* Revert "remove argparse"

This reverts commit 4665805340.

* Post-process generated schema file

* Fix file formatting

* Add note about schema repo

* no message

* Reduce schema overhead

* Ignore generated files

* Delete generated file

* Update .gitignore

* Add extra split for machine integration

* Remove schema files

- These will be auto-generated too

* Generate individual schema .md files

* Re-add .md files

- Need git commit log to work

* Update .gitignore

* Fix for CI test

* patch machine.api

* Revert previous change

* Formatting fix

* Adjust export step

* Bump API version

---------

Co-authored-by: Matthias Mair <code@mjmair.com>
This commit is contained in:
Oliver
2024-03-02 11:28:37 +11:00
committed by GitHub
parent d39ab9c902
commit 39ba25c5ed
39 changed files with 1867 additions and 33 deletions

View File

@ -17,6 +17,17 @@ The API is self-documenting, and the documentation is provided alongside any Inv
{% include 'img.html' %}
{% endwith %}
### Schema Description
The API schema is also documented in the [API Schema](./schema.md) page.
### Generating Schema File
If you want to generate the API schema file yourself (for example to use with an external client, use the `invoke schema` command. Run with the `-help` command to see available options.
```
invoke schema -help
```
## Authentication
Users must be authenticated to gain access to the InvenTree API. The API accepts either basic username:password authentication, or token authentication. Token authentication is recommended as it provides much faster API access.

40
docs/docs/api/schema.md Normal file
View File

@ -0,0 +1,40 @@
---
title: InvenTree API Schema
---
The InvenTree API is implemented using the [Django REST framework](https://www.django-rest-framework.org).
The API schema as documented below is generated using the [drf-spectactular](https://github.com/tfranzel/drf-spectacular/) extension.
## API Version
This documentation is for API version: `171`
!!! tip "API Schema History"
We track API schema changes, and provide a snapshot of each API schema version in the [API schema repository](https://github.com/inventree/schema/).
## API Schema File
The API schema file is available for download, and can be used for generating client libraries, or for testing API endpoints.
## API Schema Documentation
API schema documentation is split into the following categories:
| Category | Description |
| --- | --- |
| [Authorization and Authentication](./schema/auth.md) | Authorization and Authentication |
| [Background Task Management](./schema/background-task.md) | Background Task Management |
| [Barcode Scanning](./schema/barcode.md) | Barcode Scanning |
| [Bill of Materials](./schema/bom.md) | Bill of Materials |
| [Build Order Management](./schema/build.md) | Build Order Management |
| [Company Management](./schema/company.md) | Company Management |
| [Label Printing](./schema/label.md) | Label Printing |
| [External Machine Management](./schema/machine.md) | External Machine Management |
| [External Order Management](./schema/order.md) | External Order Management |
| [Parts and Part Categories](./schema/part.md) | Parts and Part Categories |
| [Plugin Functionality](./schema/plugins.md) | Plugin Functionality |
| [Report Generation](./schema/report.md) | Report Generation |
| [Settings Management](./schema/settings.md) | Settings Management |
| [Stock and Stock Locations](./schema/stock.md) | Stock and Stock Locations |
| [User Management](./schema/user.md) | User Management |
| [General](./schema/general.md) | General API endpoints |

View File

@ -0,0 +1,7 @@
---
title: Authorization and Authentication
---
The *Authorization and Authentication* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/auth.yml)]

View File

@ -0,0 +1,7 @@
---
title: Background Task Management
---
The *Background Task Management* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/background-task.yml)]

View File

@ -0,0 +1,7 @@
---
title: Barcode Scanning
---
The *Barcode Scanning* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/barcode.yml)]

View File

@ -0,0 +1,7 @@
---
title: Bill of Materials
---
The *Bill of Materials* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/bom.yml)]

View File

@ -0,0 +1,7 @@
---
title: Build Order Management
---
The *Build Order Management* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/build.yml)]

View File

@ -0,0 +1,7 @@
---
title: Company Management
---
The *Company Management* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/company.yml)]

View File

@ -0,0 +1,7 @@
---
title: General API Endpoints
---
The *General API Endpoints* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/general.yml)]

View File

@ -0,0 +1,7 @@
---
title: Label Printing
---
The *Label Printing* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/label.yml)]

View File

@ -0,0 +1,7 @@
---
title: External Machine Management
---
The *External Machine Management* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/machine.yml)]

View File

@ -0,0 +1,7 @@
---
title: External Order Management
---
The *External Order Management* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/order.yml)]

View File

@ -0,0 +1,7 @@
---
title: Parts and Part Categories
---
The *Parts and Part Categories* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/part.yml)]

View File

@ -0,0 +1,7 @@
---
title: Plugin Functionality
---
The *Plugin Functionality* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/plugins.yml)]

View File

@ -0,0 +1,7 @@
---
title: Report Generation
---
The *Report Generation* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/report.yml)]

View File

@ -0,0 +1,7 @@
---
title: Settings Management
---
The *Settings Management* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/settings.yml)]

View File

@ -0,0 +1,7 @@
---
title: Stock and Stock Locations
---
The *Stock and Stock Locations* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/stock.yml)]

View File

@ -0,0 +1,7 @@
---
title: User Management
---
The *User Management* section of the InvenTree API schema is documented below.
[OAD(./docs/docs/api/schema/user.yml)]