---
title: "Create a job"
method: POST
path: "/jobs"
tags: ["Jobs"]
---

# Create a job

`POST /jobs`

## Request

- Base URL: `https://api.tidy.com/v1`
- URL: `https://api.tidy.com/v1/jobs`
- Auth: API key in header `X-API-Key`

Request a new cleaning or maintenance job

## Request body

- JobCreate
  - `address_id` integer, required
  - `pro_id` integer: Optional: assign a specific pro
  - `service_type` 'cleaning' | 'maintenance' | 'inspection' | 'restocking', required
  - `scheduled_at` string, date-time, required
  - `price` number, float
  - `notes` string

## Response `201`

Job created successfully

- Job
  - `id` integer: Unique job identifier
  - `address_id` integer: The address where the job will be performed
  - `pro_id` integer, nullable: The pro assigned to this job
  - `service_type` 'cleaning' | 'maintenance' | 'inspection' | 'restocking': Type of service
  - `status` 'pending' | 'confirmed' | 'in_progress' | 'completed' | 'cancelled'
  - `scheduled_at` string, date-time: When the job is scheduled to start
  - `completed_at` string, date-time, nullable
  - `price` number, float: Job price in USD
  - `notes` string, nullable: Additional notes for the pro
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400`: Invalid request parameters
- `401`: Authentication credentials missing or invalid

---

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