---
title: "Stop timer"
method: POST
path: "/v3/timer/stop"
tags: ["[v3] Timer"]
---

# Stop timer

`POST /v3/timer/stop`

Stop the current timer for the authenticated user.

## Headers

- `Accept` string
- `Content-Type` string

## Request body

- object
  - `timerId` integer, nullable — Running timer id. When omitted, the current user timer is stopped.
  - `stoppedAt` string, nullable — Local stop time. When time rounding is enabled, seconds are rounded to 00.
  - `place` string, nullable — Optional analytics source.

## Response `200`

OK

- object
  - `timer` object, required
    - `isRunning` boolean, required — Timer running state after stop.
    - `elapsed` integer, required — Stopped timer elapsed time in seconds.
  - `entry` object, required
    - `id` integer, nullable — Time entry id updated or created when the timer was stopped.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

## Changes

- **2026-09-02** `07602c05985a` — 2 breaking, 1 warning, 3 info
  - added `#/components/schemas/Common-error-message-response, #/components/schemas/Common-exposable-error-response` to the response body `oneOf` list for the response status `400`
  - the response's body type changed from `object` to no type for status `400`
  - removed the optional property `message` from the response with the `400` status
  - the response property `message` became required for the status `403`
  - …2 more
- **2026-08-27** `047f6ac362aa` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/timecamp/apis/timecamp-api/changes/v3/timer/stop/post.md)

---

[API](https://skmtc.dev/timecamp/apis/timecamp-api.md) · [All operations](https://skmtc.dev/timecamp/apis/timecamp-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/timecamp/timecamp-api/revisions/07602c05985a/schema)
