# API reference

The complete specification of the operations service: creating, reading, updating and cancelling
[jobs](../jobs/) and [tasks](../tasks/), retrieving per-entity operation results, and searching jobs,
tasks and operation history.

| Endpoint group | Purpose |
|---|---|
| `/v80/operation/jobs` | Create, read, update and cancel jobs |
| `/v80/operation/jobs/{jobId}/operations` | Per-entity operation results of a job |
| `/v80/operation/tasks` | Create, read, update and cancel tasks |
| `/v80/operation/tasks/{taskId}/jobs` | Jobs produced by a task |
| `/v80/search/jobs`, `/v80/search/tasks` | Search jobs and tasks, with summary variants |
| `/v80/search/entities/{type}/operations` | Search operations by entity type |
| `/v80/search/entities/operations/history` | Search historical operations |

## Data formats

OpenGate uses JSON as the interchange format in its RESTful interface.

### Numbers

A number is an integer or a double-precision float. The property name is a string in double quotes, the
value is not quoted:

| Example property | Value |
|---|---|
| `time` | `1356695180301` |
| `value` | `299.99` |
| `maxValue` | `1.23e11` |
| `minValue` | `-10.5` |

A number can be prefixed with a minus sign. The exponent portion, denoted by `e` or `E`, comes after
the value and may carry an optional sign. Leading zeroes, octal and hexadecimal values are not allowed.

### Dates

Dates and times follow **ISO 8601:2004**, and **UTC is the time standard for all dates**. The full
format is `YYYY-MM-DDThh:mm:ss.sTZD`, for example `2021-07-16T19:20:30.00+01:00`, as described in the
[ISO 8601 standard](https://en.wikipedia.org/wiki/ISO_8601) and in
[Date and Time Formats of W3C](https://www.w3.org/TR/NOTE-datetime).

| Precision | Format | Example |
|---|---|---|
| Year | `YYYY` | `2015` |
| Year and month | `YYYY-MM` | `2015-10` |
| Complete date | `YYYY-MM-DD` | `2015-10-06` |
| Date plus hours and minutes | `YYYY-MM-DDThh:mm` | `2015-10-06T17:35` |
| Date plus hours, minutes and seconds | `YYYY-MM-DDThh:mm:ss` | `2015-10-06T17:35:21` |
| Date plus fraction of a second | `YYYY-MM-DDThh:mm:ss.s` | `2015-10-06T17:35:21.45` |

- `YYYY` — four-digit year
- `MM` — two-digit month, `01` for January
- `DD` — two-digit day of month, `01` to `31`
- `hh` — two-digit hour, `00` to `23`; am/pm is not allowed
- `mm` — two-digit minute, `00` to `59`
- `ss` — two-digit second, `00` to `59`
- `s` — one or more digits for the decimal fraction of a second

## Specification

{{< openapi src="operations.yaml" >}}
