---
title: "Decide Timesheet"
method: POST
path: "/api/dev-portal/timesheets/{timesheet_id}/decision"
tags: ["Developer Portal Review"]
---

# Decide Timesheet

`POST /api/dev-portal/timesheets/{timesheet_id}/decision`

## Request

- Base URL: `https://api.ruzora.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ruzora.com/api/dev-portal/timesheets/{timesheet_id}/decision`
- Auth: HTTP bearer

Approve or send back one timesheet, then fan out to the engineer.

## Path parameters

- `timesheet_id` string, required

## Request body

- DecisionRequest: `approve` is explicit rather than a status string — there are exactly two outcomes and a free-text status is how typos become new statuses.
  - `approve` boolean, required
  - `notes` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api.md) · [All operations](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/revisions/f9b8223f3ac4?raw)
