Files
headquarter/openspec/changes/archive/2026-05-14-frontend-foundation/specs/api-client/spec.md
T
alex 78aaddb2b5
CI / Web CI (push) Failing after 12s
CI / API CI (push) Failing after 1m1s
docs(openspec): add OpenSpec changes for FN-005, FN-006, FN-008, FN-009, FN-010
- Add frontend-foundation change (FN-005) with 46 tasks
- Add deployment-config change (FN-006) with 27 tasks
- Add runfusion-poc/opencode-poc change (FN-008) with 25 tasks
- Add config-secrets change (FN-009) with 31 tasks
- Add codeserver-spawn change (FN-010) with 38 tasks
- Include project specsheet and configuration
- Archive completed deployment-config change
2026-05-14 17:35:20 +02:00

1.1 KiB

ADDED Requirements

Requirement: API client handles all backend endpoints

The system SHALL provide a typed HTTP client for all backend API endpoints.

Scenario: GET request

  • WHEN the client calls api.get('/projects')
  • THEN it sends a GET request to /api/v1/projects
  • AND returns typed Project[] data
  • AND includes the Authorization header with the current access token

Scenario: POST request

  • WHEN the client calls api.post('/projects', data)
  • THEN it sends a POST request with JSON body
  • AND returns typed Project data

Scenario: Error handling

  • WHEN a request returns 4xx or 5xx
  • THEN the client throws an ApiError with status code and message
  • AND the error can be caught and displayed to the user

Requirement: API client supports request/response types

The system SHALL use TypeScript interfaces matching the backend Pydantic schemas.

Scenario: Type safety

  • WHEN a developer uses the API client
  • THEN request and response types are checked at compile time
  • AND mismatches produce TypeScript errors