ai-assisted-todolistopenapi.yamlopenapi.jsonDocsAll versionsGitHub

ai-assisted-todolist API (0.1.0)

License: Apache-2.0

The task board's REST surface. Every response schema here is published as JSON Schema and checked at runtime by the frontend.

Authentication

The browser side of sign-in, sign-out, and the current session.

Start or complete sign-in

Being @Authenticated is the whole point: an unauthenticated request is intercepted by the OIDC authorization code flow before this method ever runs.

Authorizations:
SecurityScheme

Responses

End the local session

Expires every session cookie the browser sent; the identity provider's own session is untouched.

Responses

The signed-in identity

The only identity the frontend is allowed to know about.

Authorizations:
SecurityScheme

Responses

Response samples

Content type
application/json
{}

List the configured sign-in providers

Every provider this deployment declares, usable or not, needing no authentication to ask.

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "providers": []
}

Tasks

Everything a signed-in user can do to their own tasks.

List the caller's tasks

Ordered by due date, then id.

Authorizations:
SecurityScheme

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a task

The caller becomes the owner; the id cannot be set.

Authorizations:
SecurityScheme
Request Body schema: application/json
required
description
required
string <= 255 characters \S
dueDate
required
string <date> (LocalDate)
importance
required
string (TaskImportance)
Enum: "LOW" "MEDIUM" "HIGH"
state
required
string (TaskState)
Enum: "TODO" "WORKING" "DONE"

Responses

Request samples

Content type
application/json
{
  • "description": "Renew the passport",
  • "dueDate": "2019-08-24",
  • "importance": "LOW",
  • "state": "TODO"
}

Response samples

Content type
application/json
{
  • "id": 42,
  • "description": "Renew the passport",
  • "dueDate": "2026-11-30",
  • "importance": "HIGH",
  • "state": "TODO"
}

Replace a task

Replaces every field of a task owned by the caller.

Authorizations:
SecurityScheme
path Parameters
id
required
integer <int64>
Request Body schema: application/json
required
description
required
string <= 255 characters \S
dueDate
required
string <date> (LocalDate)
importance
required
string (TaskImportance)
Enum: "LOW" "MEDIUM" "HIGH"
state
required
string (TaskState)
Enum: "TODO" "WORKING" "DONE"

Responses

Request samples

Content type
application/json
{
  • "description": "Renew the passport",
  • "dueDate": "2019-08-24",
  • "importance": "LOW",
  • "state": "TODO"
}

Response samples

Content type
application/json
{
  • "id": 42,
  • "description": "Renew the passport",
  • "dueDate": "2026-11-30",
  • "importance": "HIGH",
  • "state": "TODO"
}

Delete a task

Authorizations:
SecurityScheme
path Parameters
id
required
integer <int64>

Responses