[Component / Feature / Model Name]
.. contents:: :local: :depth: 2
Overview
One or two sentences stating what this is and what it does. State the purpose directly — skip context-setting.
Intended use
- Primary use case
- Supported environments or platforms
- Out-of-scope uses (state explicitly what this does not cover)
Requirements
.. list-table:: :header-rows: 1 :widths: 30 70
- Requirement
- Version / Detail
- Dependency 1
- Dependency 2
- Minimum environment
Quick start
Complete these steps to run a minimal working example.
Confirm prerequisites.
- Dependency or environment variable required before running
- Minimum version required
Run the command.
.. code-block:: bash
command --flag value
Confirm success.
Expected output:
.. code-block:: text
Example output line indicating success
If the output does not match, see Troubleshooting.
.. code-block:: bash
Minimal working example
command --flag value
Include one command or code block a reader can run immediately, before any conceptual explanation.
Configuration / parameters
.. list-table:: :header-rows: 1 :widths: 20 15 15 50
- Parameter
- Type
- Default
- Description
param_name- string
none- What it controls
API reference
Document SDK methods and REST endpoints in separate subsections below. Repeat the relevant pattern for every method or endpoint the reader needs.
SDK reference
method_name(param1, param2)
One sentence stating what the call does.
.. list-table::
:header-rows: 1
:widths: 20 15 15 50
* - Parameter
- Type
- Required
- Description
* - ``param1``
- string
- Yes
- What it controls
* - ``param2``
- int
- No
- What it controls
**Returns**
Type and structure of the return value.
**Raises**
.. list-table::
:header-rows: 1
:widths: 30 70
* - Exception
- Condition
* - ``ExampleError``
- Condition that triggers it
**Example**
.. code-block:: python
response = method_name(param1="value", param2=10)
print(response)
REST API reference
-------------------
``POST /v1/resource``
~~~~~~~~~~~~~~~~~~~~~~
One sentence stating what the endpoint does.
**Request headers**
.. list-table::
:header-rows: 1
:widths: 30 15 55
* - Header
- Required
- Description
* - ``Authorization``
- Yes
- ``Bearer <token>``
* - ``Content-Type``
- Yes
- ``application/json``
**Request body**
.. list-table::
:header-rows: 1
:widths: 20 15 15 50
* - Field
- Type
- Required
- Description
* - ``field1``
- string
- Yes
- What it controls
**Response**
.. code-block:: json
{
"id": "string",
"status": "string"
}
**Status codes**
.. list-table::
:header-rows: 1
:widths: 20 80
* - Code
- Meaning
* - ``200``
- Success condition
* - ``400``
- Cause of a bad request
* - ``401``
- Cause of an authorization failure
**Example**
.. code-block:: bash
curl -X POST https://api.example.com/v1/resource \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"field1": "value"}'
Limitations
===========
State known constraints, edge cases, and failure modes directly. Avoid
hedging language — write what breaks and under what conditions, not
what "may" happen.
Versioning and compatibility
=============================
- Current version:
- Breaking changes since last version:
- Deprecation notices:
Troubleshooting
================
.. list-table::
:header-rows: 1
:widths: 30 30 40
* - Symptom
- Cause
- Fix
* -
-
-
References
==========
- Related documentation
- Source repository
- Changelog