Feature: REST API for Tasks Module with JSON-LD #12

Closed
opened 2026-07-04 21:32:10 +00:00 by psycodepath · 0 comments
Owner

Motivation

Expose Tasks operations via a hypermedia REST API for third-party client integration.

Description

Implement REST API endpoints for Listing, Viewing, Creating, Toggling, and Deleting Tasks using Hexagonal/Modular Monolith architecture.

User Story

As an API consumer, I want to manage tasks programmatically via a JSON-LD API so that I can synchronize tasks with other client applications.

Gherkin Feature

Feature: Tasks REST API
  As an API consumer
  I want to manage tasks via JSON-LD endpoints
  So that I can integrate third-party applications

Acceptance Criteria

  • GET /api/v1/tasks returning paginated list of Tasks.
  • GET /api/v1/tasks/{id} returning a single Task with hypermedia actions.
  • POST /api/v1/tasks to create a Task.
  • POST /api/v1/tasks/{id}/toggle to toggle task state.
  • DELETE /api/v1/tasks/{id} to delete a task.
  • Integration tests verifying standard and JSON-LD output.
### Motivation Expose Tasks operations via a hypermedia REST API for third-party client integration. ### Description Implement REST API endpoints for Listing, Viewing, Creating, Toggling, and Deleting Tasks using Hexagonal/Modular Monolith architecture. ### User Story As an API consumer, I want to manage tasks programmatically via a JSON-LD API so that I can synchronize tasks with other client applications. ### Gherkin Feature ```gherkin Feature: Tasks REST API As an API consumer I want to manage tasks via JSON-LD endpoints So that I can integrate third-party applications ``` ### Acceptance Criteria - [ ] `GET /api/v1/tasks` returning paginated list of Tasks. - [ ] `GET /api/v1/tasks/{id}` returning a single Task with hypermedia actions. - [ ] `POST /api/v1/tasks` to create a Task. - [ ] `POST /api/v1/tasks/{id}/toggle` to toggle task state. - [ ] `DELETE /api/v1/tasks/{id}` to delete a task. - [ ] Integration tests verifying standard and JSON-LD output.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
psycodepath/hrp#12
No description provided.