---
title: "List appointments (jobs)"
method: GET
path: "/jobs"
tags: ["Jobs"]
---

# List appointments (jobs)

`GET /jobs`

## Request

- Base URL: `https://api3.autarc.energy/v1`
- URL: `https://api3.autarc.energy/v1/jobs`
- Auth: API key in header `X-Api-Key`

Returns the company's appointments, latest start first (appointments without a start last). Filters combine with AND.

## Query parameters

- `page` integer
- `limit` integer
- `projectId` string, uuid
- `customerId` string, uuid
- `profileId` string, uuid
- `from` string, date-time
- `to` string, date-time

## Response `200`

A page of appointments

- object
  - `items` Job[], required
    - `id` string, uuid, required
    - `title` string, required
    - `description` string, nullable
    - `jobType` 'consultation' | 'maintenance' | 'repair' | 'emergency' | 'complaint' | 'other', required: Built-in appointment category.
    - `jobTypeId` string, uuid, nullable: The company's custom appointment type, when one is set.
    - `startAt` string, date-time, nullable
    - `endAt` string, date-time, nullable
    - `address` string, nullable: Free-text address of the appointment.
    - `contactPerson` string, nullable
    - `color` string, nullable
    - `projectId` string, uuid, nullable
    - `customerId` string, uuid, nullable
    - `assignedProfileIds` string[], required: Team members (profile ids, see `GET /team-members`) assigned to the appointment.
    - `createdByProfileId` string, uuid, nullable
    - `canceledAt` string, date-time, nullable
    - `cancellationReason` 'customer_canceled' | 'customer_unavailable' | 'no_access' | 'weather' | 'staff_unavailable' | 'rescheduled' | 'other' | 'null', nullable
    - `cancellationNote` string, nullable
    - `companyId` string, uuid, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `metadata` ListMetadata, required: Paging block of the public API's list envelope.
    - `page` integer, required: Current page number (1-based)
    - `limit` integer, required: Number of items per page
    - `total` integer, required: Total number of matching items across all pages

## Other responses

- `400`: Invalid request — a malformed id, filter, pagination parameter or body. The body is a plain-text message naming the problem.

---

[API](https://skmtc.dev/autarc/apis/autarc-2-0-api.md) - [All operations](https://skmtc.dev/autarc/apis/autarc-2-0-api/llms.txt) - [OpenAPI document](https://skmtc.dev/autarc/apis/autarc-2-0-api/revisions/adfb20a40efc?raw)
