REST API

# Response schemas

Field definitions from the [OpenAPI contract](https://docs.mobilejoe.dev/api/openapi.yaml). See the [API introduction](https://docs.mobilejoe.dev/api.md) for authentication and operations.

## FeaturePlan

| Field | Required / type | Details |
| --- | --- | --- |
| `id` | Yes / integer | Unique identifier |
| `title` | Yes / string | Feature plan title (localized for the requested languages) |
| `body` | Yes / string | Detailed description of the feature plan (localized for the requested languages) |
| `score` | Yes / integer | Total score, including initial votes. The toggle response reflects the score after the vote change. |
| `status` | Yes / string | Current status of the feature plan Values: `open, under_review, planned, in_progress, completed, closed` |
| `voted` | Yes / boolean | Whether the current user has voted for this plan |
| `created_at` | Yes / string, date-time | Creation timestamp |
| `updated_at` | Yes / string, date-time | Last update timestamp |

## FeaturePlanStatus

Current status of the feature plan

string. Values: `open, under_review, planned, in_progress, completed, closed`

## Alert

| Field | Required / type | Details |
| --- | --- | --- |
| `id` | Yes / integer | Unique identifier |
| `title` | Yes / string | Alert title (localized for the requested languages) |
| `message` | Yes / string, nullable | Alert message body (localized for the requested languages) |
| `status` | Yes / string | Alert publication status Values: `draft, live, archived` |
| `kind` | Yes / string | Type/severity of the alert Values: `error, warning` |
| `occurred_at` | Yes / string, date-time, nullable | Timestamp when the alert event occurred |
| `created_at` | Yes / string, date-time | Creation timestamp |
| `updated_at` | Yes / string, date-time | Last update timestamp |

## AlertStatus

Alert publication status

string. Values: `draft, live, archived`

## AlertKind

Type/severity of the alert

string. Values: `error, warning`

## Faq

| Field | Required / type | Details |
| --- | --- | --- |
| `id` | Yes / integer | Unique identifier |
| `title` | Yes / string | FAQ question/title (localized for the requested languages) |
| `body` | Yes / string | FAQ answer/content (localized for the requested languages) |
| `position` | Yes / integer, nullable | Display order position |
| `created_at` | Yes / string, date-time | Creation timestamp |
| `updated_at` | Yes / string, date-time | Last update timestamp |

## Error

| Field | Required / type | Details |
| --- | --- | --- |
| `error` | Yes / string | Error message |
