Skip to main content
POST
/
migrations
/
{migration_id}
/
source-connection
Create or update the source connection
curl --request POST \
  --url https://app.vern.so/api/v1/migrations/{migration_id}/source-connection \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "source_key": "salesforce",
  "config": {
    "instance_url": "https://acme.my.salesforce.com"
  },
  "selected_streams": [
    "contacts",
    "accounts"
  ],
  "credentials": {
    "client_id": "…",
    "client_secret": "…"
  }
}
'
{
  "source_connection": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "profile_id": "<string>",
    "source_key": "<string>",
    "name": "<string>",
    "category": "<string>",
    "config": {},
    "selected_streams": [
      "<string>"
    ],
    "stream_state": {},
    "creds_configured": true,
    "bound_source_extractor_id": "<string>",
    "last_snapshot": {},
    "last_sync_at": "2023-11-07T05:31:56Z"
  }
}

Authorizations

x-api-key
string
header
required

Your Vern API key. Create one at Settings → API keys.

Path Parameters

migration_id
string<uuid>
required

The migration ID returned by Create a migration.

Body

application/json
source_key
string
required

The connector to attach, lower-cased. Unknown or not-yet-enabled keys return 400.

profile_id
string | null

Scope to a profile; null binds to the workbook; omit for the default profile.

config
object

Non-secret connector configuration.

selected_streams
string[] | null

Streams to extract, or null for connector default.

stream_state
object

Incremental-sync cursor state.

credentials
object

Secret values, vaulted and never returned.

Response

The created or updated connection.

source_connection
object

A migration's live API source connection. Never includes secret values; creds_configured reports whether credentials are stored.