SyncList sync events

List sync events

Return the paginated, immutable sync-event log for the calling agency. Each event captures the outcome and record/byte counts of a completed sync, as reported by Airbyte when the job finished.

Rows arrive from two places: sync notifications (live, complete) and POST /connections/{id}/backfill, which imports history from Airbyte's jobs API. Backfilled rows carry fewer fields — the jobs API reports one combined row count with no emitted/committed split and no error classification. Both are keyed on (connection_id, job_id), so a backfill after the fact never duplicates a notification, and a re-delivered notification never double-counts.

This log only exists for workspaces whose Airbyte notifications point at Mythic; see POST /config/notifications.

curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/sync-events?connection_id=example_string&platform=example_string&client_id=example_string&success=true&limit=50&offset=0" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
{
  "success": true,
  "data": [
    {
      "id": "example_string",
      "client_id": "example_string",
      "agency_id": "example_string",
      "connection_id": "oauth:meta_ads:acme-retail",
      "platform": "example_string",
      "job_id": 123,
      "success": true,
      "error_origin": "oauth_callback",
      "error_type": "example_string",
      "error_message": "example_string",
      "started_at": "2024-12-25T10:00:00Z",
      "finished_at": "2024-12-25T10:00:00Z",
      "duration_seconds": 42,
      "landed": true,
      "records_emitted": 15230,
      "records_committed": 15230,
      "records_filtered_out": 42,
      "bytes_emitted": 42,
      "bytes_committed": 42,
      "bytes_filtered_out": 42,
      "log_url": "example_string",
      "raw_payload": {},
      "created_at": "2024-12-25T10:00:00Z"
    }
  ],
  "total": 128,
  "limit": 50,
  "offset": 0
}
GET
/sync-events
GET
Base URLstring

Target server for requests. Edit to use your own host.

Bearer Token
Bearer Tokenstring
Required

Agency key as bearer token, format Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.

Agency key as bearer token, format Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.
Bearer Token
Bearer Tokenstring
Required

Location secret key as bearer token, format Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.

Location secret key as bearer token, format Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.
query
connection_idstring

Filter by Airbyte connection ID.

query
platformstring

Filter by platform key.

query
client_idstring

Filter by client (location) identifier.

query
successboolean

Filter by outcome. Pass true or false.

query
limitinteger

Maximum results per page. Default 50, clamped to 1500.

query
offsetinteger

Number of results to skip. Default 0.

Request Preview
Response

Response will appear here after sending the request

Authentication

header
Authorizationstring
Required

Bearer token. Agency key as bearer token, format Bearer ak_.... Grants full read-write access scoped to the agency. Agency-wide scoped keys (mcp_ with no fixed location) are accepted too and need airbyte:read or airbyte:write; a client-bound mcp_ key gets 403 agency_key_required. See Using an mcp_ key over HTTP.

header
Authorizationstring
Required

Bearer token. Location secret key as bearer token, format Bearer sk_.... Grants read-only access; the agency is resolved from the location. Write endpoints return 403.

Query Parameters

connection_idstring

Filter by Airbyte connection ID.

platformstring

Filter by platform key.

client_idstring

Filter by client (location) identifier.

successboolean

Filter by outcome. Pass true or false.

limitinteger

Maximum results per page. Default 50, clamped to 1500.

offsetinteger

Number of results to skip. Default 0.

Responses

successboolean
dataarray
totalinteger
limitinteger
offsetinteger