Skip to content

Task Manager API: tasks that stay in sync.

A REST API with JWT auth, version-checked edits and offline sync. Built by Ado Daniel NJ at iamsupreme developers in Douala, Cameroon. Every endpoint below is live.

201 Created
POST /api/tasks
Authorization: Bearer eyJhbGciOi…

{ "data": {
    "title": "Ship the release",
    "status": "todo",
    "version": 1
} }

What the Task Manager API does.

Everything a task app needs from its backend, tested and documented.

  • JWT authentication

    Register and log in to get a Bearer token. Passwords are hashed with bcrypt, and password reset links are single-use and expire after one hour.

  • Email verification

    A new account can sign in and read right away. Creating, editing, deleting, or syncing tasks needs a verified email first, checked fresh on every request, so verifying takes effect immediately, no re-login needed.

  • Version-checked edits

    Every task carries a version. A save with a stale version gets a 409 with the current task, so two people editing at once never overwrite each other.

  • Idempotent creates

    Send an Idempotency-Key with a create. If the connection drops and you retry, you get the original task back instead of a duplicate.

  • Offline sync API

    Push a batch of offline operations to one endpoint and pull everything that changed since a cursor, including deletes. The API side of offline-first apps.

  • Bulk updates and deletes

    Change or remove many of your tasks in one all-or-nothing request, with optional per-task version checks.

  • Rate limits and CORS

    Sign-in endpoints are rate limited, and browser apps on other domains can call the API with CORS support.

Start with an account.

Register or sign in. The token you get back is used automatically for every request below. A new account can sign in and read right away, but creating, editing, deleting, or syncing tasks needs a verified email first — see “Verify your email” below.

Response
Run the request to see the response here.

Create a task.

Times are validated, the creator comes from your token, and a retry never makes a duplicate. Needs a verified email.

Read, update, delete.

Marking done sends the version you last saw. If someone else changed the task first, you get a 409 instead of a silent overwrite.

Response
Run the request to see the response here.

Verify your email.

Registering sends a verification email with a link. Paste the token from that link below, or request a new one. Verifying takes effect immediately, on your very next request — no need to sign in again.



Sign in above first.

Response
Run the request to see the response here.

Forgot your password?

Request a reset email, then paste the token from its link (the part after ?token=) to set a new password. Tokens are single-use and expire.


Response
Run the request to see the response here.

Is it up?

A single call that runs SELECT 1 against the database. No token needed.

Useful for load balancers, uptime monitors and a quick sanity check after a deploy.

Response
Run the request to see the response here.

Every endpoint.

Everything except auth and health needs a Bearer token.

  • POST/api/auth/registerCreate an account, returns a JWT
  • POST/api/auth/loginExchange credentials for a JWT
  • POST/api/auth/forgot-passwordRequest a password reset email
  • POST/api/auth/reset-passwordSet a new password with a reset token
  • GET/api/auth/verify-emailVerify by clicking the emailed link
  • POST/api/auth/verify-emailVerify with a token, returns a fresh JWT
  • POST/api/auth/resend-verificationRequest a new verification email
  • GET/api/auth/meYour own profile, including verification status
  • GET/api/tasksList and filter tasks
  • POST/api/tasksCreate a task, idempotent with a key
  • PATCH/api/tasksBulk update your own tasks
  • DELETE/api/tasksBulk delete your own tasks
  • GET/api/tasks/:idView one task
  • PATCH/api/tasks/:idUpdate one task, version-checked
  • DELETE/api/tasks/:idSoft-delete one task
  • POST/api/syncPush offline-originated operations
  • GET/api/syncPull changes since a cursor
  • GET/healthDatabase health check

Questions, answered.

What is the Task Manager API?

It is a REST API for managing tasks. It has JWT authentication, filtering and pagination, version-checked edits, idempotent creates, bulk operations and an offline sync API, running on Next.js route handlers and Postgres.

Who builds the Task Manager API?

It is built by Ado Daniel NJ at iamsupreme developers, based in Douala, Cameroon.

How does authentication work?

Create an account with POST /api/auth/register or sign in with POST /api/auth/login. Both return a JWT, which you send as an Authorization: Bearer header on every other request. A missing, bad or expired token returns 401.

How does it stop two people overwriting each other's edits?

Each task has a version number. An update must include the version you last saw. If the task has changed since, the API returns 409 Conflict with the current task, so you can merge and retry.

Does it support offline sync?

Yes, on the API side. POST /api/sync applies a batch of create, update and delete operations in order and reports accepted, conflicting and rejected operations. GET /api/sync returns changes since a cursor. An offline client app is not included yet.

Can I call the API from my own website?

Yes. The API sends CORS headers, so a website on another domain can call it from the browser using a Bearer token. Servers, mobile apps and curl work with just the URL and a token.

Is there rate limiting?

Yes, on several endpoints, including register, login, forgot-password and resend-verification. Each returns 429 with a Retry-After header when you go over the limit. See the API documentation for the exact limits.

Does a new account need to verify its email?

Signing in and reading tasks work right after registering. Creating, editing, deleting, bulk-editing and syncing tasks need a verified email: POST /api/auth/register sends a verification email, and GET /api/auth/verify-email?token=... (the link) or POST /api/auth/verify-email (the token in a request body) completes it. Verifying is checked fresh from the database on every request, so it takes effect immediately, without signing in again.

Built by Ado Daniel NJ, iamsupreme developers.

The Task Manager API is designed, built and maintained by iamsupreme developers in Douala, Cameroon.

About Ado Daniel NJ and iamsupreme developers ›API documentation ›