---
title: "Retrieve an operation"
method: GET
path: "/v1/sync/operations/{id}"
tags: ["Operations"]
---

# Retrieve an operation

`GET /v1/sync/operations/{id}`

## Request

- Base URL: `https://api.whalesync.com`
- URL: `https://api.whalesync.com/v1/sync/operations/{id}`
- Auth: HTTP bearer

A single operation, including its field changes.

## Path parameters

- `id` string, required

## Response `200`

The operation.

- Operation
  - `id` string, required
  - `occurred_at` string, date-time, required
  - `sync_id` string, required
  - `action` 'created' | 'updated' | 'deleted', required
  - `trigger` 'push' | 'poll', required: `push` = written by Whalesync; `poll` = detected.
  - `table` OperationTable, required
    - `id` string, required
    - `name` string, required
  - `record` OperationRecord, required
    - `remote_id` string, required
    - `name` string, nullable, required: A display name for the record, if one is known.
    - `url` string, uri, nullable, required
  - `app_url` string, uri, required: The operation in the Whalesync app, for a person looking closer — nothing here needs their attention.
  - `field_changes` FieldChange[], required: The fields that changed. Empty if none did.
    - `field` string, required
    - `before` string, required
    - `after` string, required

## Other responses

- `401`: The API key is missing, invalid, or revoked (`missing_api_key`, `invalid_api_key`). Carries a `required_action` linking a person to key creation, naming the smallest scope this endpoint needs.
- `403`: The key's scope does not allow this call (`insufficient_scope` on a mutation with a `read` key).
- `404`: No such operation on this account.
- `429`: Rate limit exceeded. Wait for `Retry-After` seconds.

---

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