---
title: "Jobs API"
description: "Background jobs for operations too large for one request — a custom-field delete or rename over thousands of contacts."
url: https://www.unitpost.com/docs/platform/jobs
section: "Platform API reference"
updated: 2026-10-13
---
# Jobs API

> Background jobs for operations too large for one request — a custom-field delete or rename over thousands of contacts. Such a call answers `202` with a job; follow it here until it finishes.

Full schemas: [OpenAPI 3.1](https://www.unitpost.com/api/v1/openapi.json). HTML reference: https://www.unitpost.com/docs/platform/jobs.

## Operations

### `GET /api/v1/jobs/{id}`

Retrieve a job

Retrieve a background job by `id` to follow its progress. An operation that touches more contacts than fits in one request (for example [Delete a custom contact field](https://www.unitpost.com/docs/platform/delete-contact-fields-id) or [Rename a custom field's key](https://www.unitpost.com/docs/platform/post-contact-fields-id-rename) above 5,000 holders, or a campaign validation over more than 5,000 recipients) answers `202` with a job. Poll this until `status` is `COMPLETED`, `FAILED` or `CANCELED`; `processed` of `total` is the progress. A failed job keeps the work it finished; retry it from the dashboard (Settings → Jobs). Reading a job takes the read capability of the resource it changes (`contacts:read` for a custom-field job, `campaigns:read` for a campaign check). Requires the `contacts:read` capability.

Reference: https://www.unitpost.com/docs/platform/get-jobs-id ([Markdown](https://www.unitpost.com/docs/platform/get-jobs-id.md))
