SyncUpdate connection

Update connection

Update a connection's display name, sync frequency, stream selection, or status. Changes to name, schedule, and streams are propagated to Airbyte. Requires an agency key (ak_).

curl -X PUT "https://mythic-analytics.gulp.workers.dev/client/v1/airbyte/connections/example_string" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
  "display_name": "Acme — Google Ads (Prod)",
  "sync_frequency": "manual",
  "sync_hour_utc": 8,
  "sync_dow": 1,
  "streams": [
    {
      "name": "campaigns",
      "syncMode": "incremental_deduped_history",
      "cursorField": "segments.date",
      "sourceDefinedCursor": true,
      "primaryKey": [
        [
          "example_string"
        ]
      ]
    }
  ],
  "status": "active"
}'
{
  "success": true,
  "data": {
    "id": "example_string",
    "client_id": "acme-retail",
    "agency_id": "example_string",
    "platform": "google_ads",
    "connection_id": "example_string",
    "source_id": "example_string",
    "display_name": "Google Ads - acme-retail",
    "account_id": "123-456-7890",
    "status": "active",
    "sync_frequency": "manual",
    "sync_hour_utc": 8,
    "sync_dow": 1,
    "tables_json": [
      {}
    ],
    "companions": [
      {}
    ],
    "pipeline": {
      "enrolled": true,
      "reason": "example_string",
      "pipeline_id": "example_string",
      "connection_ids": [
        "example_string"
      ],
      "pipeline_enabled": true
    },
    "last_sync_at": "2024-12-25T10:00:00Z",
    "last_sync": {
      "job_id": 123,
      "success": true,
      "landed": true,
      "finished_at": "2024-12-25T10:00:00Z",
      "started_at": "2024-12-25T10:00:00Z",
      "duration_seconds": 42,
      "records_committed": 42,
      "records_emitted": 42,
      "records_filtered_out": 42,
      "bytes_committed": 42,
      "error_type": "transient_error",
      "error_origin": "destination",
      "error_message": "example_string",
      "log_url": "example_string"
    },
    "consecutive_failures": 0,
    "error_message": "example_string",
    "created_at": "2024-12-25T10:00:00Z"
  }
}
PUT
/connections/{id}
PUT
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.
path
idstring
Required

Mythic connection record identifier (the local UUID, not the Airbyte connection ID).

Content-Typestring
Required

The media type of the request body

Options: application/json
sync_frequencystring

Sync cadence. 24h, 12h and 6h schedule automatic syncs at sync_hour_utc; manual disables them, and is the DEFAULT — a connection created without this field does not sync on a schedule.

Options: manual, 24h, 12h, 6h
sync_hour_utcinteger

Hour of day, UTC, the cadence is anchored to. Defaults to 2 when unset. Sub-daily cadences anchor on hour % interval, so the hour you ask for is always one of the run times and the runs stay evenly spaced — 6h at 8 runs at 02:00, 08:00, 14:00 and 20:00. Ignored when sync_frequency is manual.

Min: 0 • Max: 23
sync_dowinteger

UTC day of week (0 = Sunday) a PIPELINE RUN may include this connection. null, the default, means every run. This is how a connection syncs less often than the run that owns it — Meta's weekly creatives companion is created with 0 (Sunday). A run on any other day marks the step skipped with reason weekly — only runs on Sunday (UTC), which never holds the run's gate. Read by the pipeline only. A connection on its own Airbyte cron ignores it, because the cron already says when it runs. Writable on PUT /connections/{id}.

Min: 0 • Max: 6
statusstring
Options: active, error, paused
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.

Path Parameters

idstring
Required

Mythic connection record identifier (the local UUID, not the Airbyte connection ID).

Body

application/json
display_namestring
Example:
Acme — Google Ads (Prod)
sync_frequencystring

Sync cadence. 24h, 12h and 6h schedule automatic syncs at sync_hour_utc; manual disables them, and is the DEFAULT — a connection created without this field does not sync on a schedule.

Allowed values:manual24h12h6h
sync_hour_utcinteger

Hour of day, UTC, the cadence is anchored to. Defaults to 2 when unset. Sub-daily cadences anchor on hour % interval, so the hour you ask for is always one of the run times and the runs stay evenly spaced — 6h at 8 runs at 02:00, 08:00, 14:00 and 20:00. Ignored when sync_frequency is manual.

Example:
8
sync_dowinteger

UTC day of week (0 = Sunday) a PIPELINE RUN may include this connection. null, the default, means every run.

This is how a connection syncs less often than the run that owns it — Meta's weekly creatives companion is created with 0 (Sunday). A run on any other day marks the step skipped with reason weekly — only runs on Sunday (UTC), which never holds the run's gate.

Read by the pipeline only. A connection on its own Airbyte cron ignores it, because the cron already says when it runs. Writable on PUT /connections/\\{id\\}.

Example:
1
streamsarray
statusstring
Allowed values:activeerrorpaused

Responses

successboolean
dataobject