Introduction

The Stitch Connect API enables users to programmatically access and manage their Stitch accounts, or Stitch partners to seamlessly integrate Stitch’s data pipleine functionality into their own platforms.

This API is a RESTful, resource-oriented API that allows you to programmatically provision Stitch accounts, create and modify data sources, and configure destination connections.

Each endpoint uses standard HTTP verbs like GET and POST, and will return standard HTTP response codes to indicate request status or errors.

We built the API to accept and return JSON in all responses, including errors.

API functionality

Using the API, you can:

  • Create Stitch client accounts (Partners only)

  • Access Stitch client accounts

  • Retrieve configuration info for destinations

  • Create, update, and delete destinations

  • Retrieve configuration info for data sources

  • Create, update, pause, unpause, and delete data sources

  • Retrieve connection check results for a data source

  • Select and configure streams and fields from data sources for replication

  • Start and stop replication jobs

  • Create, pause, unpause, and delete notification settings for a Stitch client account

Check out the tutorials and resources to learn more about using Stitch Connect.

Accessing the API

To use the API, you’ll need to obtain an API access token. This is necessary for authenticating successfully. Refer to the Authentication section for more info.

Terminology

Partner

An organization that utilizes Stitch Connect to programmatically create and/or manage Stitch client accounts on behalf of their users.

Stitch client account

An individual account for the Stitch web application.

Destination

Destination is the Stitch word for ‘data warehouse.’ A data warehouse is a central repository for data accumulated from a variety of sources.

Session

A browser session in the Stitch web application.

Source

A database, API, or other data application that Stitch replicates data from. Outside of Connect, known as an ‘integration’.

Stream

A table in a data source.

Connection check

A test performed by Stitch that checks the configuration of a source’s connection parameters.

Replication job

The three-step process by which Stitch replicates data. A replication job includes three distinct steps: Extraction, preparation, and loading.

Structure sync

The first step in the replication process, this process takes place during the Extraction phase of a replication job. A structure sync detects the tables and columns available in the source, along with any changes to the structure of those tables and columns. This is also referred to as discovery.

Quick Start

Step 1: Obtain an access token

Stitch authenticates requests to the API using an API access token. How you obtain an access token depends on the type of user you are:

  • Individual Stitch user: You will be using the API to programmatically control your own Stitch client account. You can create, revoke, and delete API access tokens on the Account Settings page of your Stitch client account.

  • Stitch partner: You will be performing actions in Stitch client accounts on behalf of users who authorize your API client. You’ll need to register as an API client and refer to the Partner API Authentication guide for instructions.

After you obtain an API access token, it should be stored somewhere safe and passed into the header of every API request made for the Stitch client account. This token will never expire, but it may be revoked at any time.

Step 2: Make a test API request

To check that your access token is working correctly, send a test request to the Source Types endpoint and retrieve configuration info about the platform.hubspot source:

curl -X GET https://api.stitchdata.com/v4/source-types/platform.hubspot
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"

If successful, the API will return a status of 200 OK and a Source Report Card object corresponding to platform.hubspot.

Authentication

Authenticate your calls to the API by providing an access token in your requests. Each access token is associated with a single Stitch client account. Access tokens do not expire, but they may be revoked by the user at any time.

Additionally, each request’s permissions are limited to that Stitch client account.

In the examples in this documentation, we use bearer auth:

curl -X GET https://api.stitchdata.com/v4/sources
     -H "Authorization: Bearer <ACCESS_TOKEN>"

All requests must be made over HTTPS or they will fail. API requests that don’t contain authentication will also fail.

Obtain an API access token

How you obtain an access token depends on the type of user you are:

  • Individual Stitch user: You will be using the API to programmatically control your own Stitch client account. You can create, revoke, and delete API access tokens on the Account Settings page of your Stitch client account.

  • Stitch partner: You will be performing actions in Stitch client accounts on behalf of users who authorize your API client. You’ll need to register as an API client and refer to the Partner API Authentication guide for instructions.

Response Codes

The API will attempt to return HTTP status codes for every request.

Code Text Description
200

OK

Success!

400

Bad Request

The request is invalid, contains malformed data, or otherwise cannot be served. The reasons for invalid requests can vary by endpoint. An accompanying message will provide detail about the reason for failure.

401

Unauthorized

The request doesn’t have a valid API access token. Verify your token is correct and re-try the request.

404

Not Found

Potential causes:

  • The URI requested is invalid
  • The requested resource, such as a specific source, doesn’t exist
  • Method is not allowed by the endpoint
500

Internal Server Error

The API is experiencing problems. Try again later.

502

Bad Gateway

The API is experiencing problems. Try again later.

Error message format

The API will return error messages in JSON format. Some error messages may be returned as strings:

an account can have at most one destination

While others may be JSON objects:

{
  "code":"ExistingUser",
  "message":"This email address is already associated with an active user."
}

Error message text

The text in error messages will vary by root cause and endpoint.

Each endpoint section contains a rollup of the errors specific to that endpoint. Refer to the documentation for the endpoint for specifics on errors, their possible causes, and the messages the API will return.

Versioning

The API is currently versioned by object. The table below lists the core objects, all available versions, and the endpoints available for each version.

ACCOUNT
Version Endpoints
v3 (latest)
SESSION
Version Endpoints
v3 (latest)
DESTINATION TYPE
Version Endpoints
v4 (latest)
DESTINATION
Version Endpoints
v4 (latest)
v3
SOURCE TYPE
Version Endpoints
v4 (latest)
SOURCE
Version Endpoints
v4 (latest)
CONNECTION CHECK
Version Endpoints
v4 (latest)
STREAM
Version Endpoints
v4 (latest)
REPLICATION JOB
Version Endpoints
v4 (latest)
NOTIFICATION
Version Endpoints
v1 (latest)

Core Objects

Accounts

OBJECT Account Object

An object representing a Stitch client account.

POST Create an account

Creates a new Stitch client account and receives an API access token in return.

Note: This endpoint is available only to Stitch Partners. Before creating a Stitch account, you’ll need to request access to the API and obtain partner credentials by submitting this form to our team.


OBJECT

The Account Object

An object representing a Stitch client account.

company
STRING

A name for the Stitch client. This is typically the name of the company using the Stitch client account.

email
STRING

The email address of the user signing up for a Stitch client account. Upon successful account creation, Stitch will send an email to this address with instructions for completing the setup.

first_name
STRING

The first name of the user signing up for a Stitch client account.

last_name
STRING

The last name of the user signing up for a Stitch client account.

partner_id
STRING

The unique ID for your API client, obtained when you register to use the API.

partner_secret
STRING

The secret for your API client, obtained when you registered to use the API.


POST

Create an account

Creates a new Stitch client account and receives an API access token in return.

Note: This endpoint is available only to Stitch Partners. Before creating a Stitch account, you’ll need to request access to the API and obtain partner credentials by submitting this form to our team.

Resource List
Request Method

POST

Resource URL

/v3/accounts

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

company
STRING
REQUIRED

A name for the Stitch client. This is typically the name of the company using the Stitch client account.

email
STRING
REQUIRED

The email address of the user signing up for a Stitch client account. Upon successful account creation, Stitch will send an email to this address with instructions for completing the setup.

first_name
STRING
REQUIRED

The first name of the user signing up for a Stitch client account.

last_name
STRING
REQUIRED

The last name of the user signing up for a Stitch client account.

partner_id
STRING
REQUIRED

The unique ID for your API client, obtained when you register to use the API.

partner_secret
STRING
REQUIRED

The secret for your API client, obtained when you registered to use the API.

Returns

If successful, the API will return a status of 200 OK and an object with access_token and stitch_account_id properties.

Otherwise, an error will be returned. For example: If a Stitch client account associated with the user already exists, the request will return This email address is already associated with an active user. See the Errors tab below for additional possibilities.

curl -X POST https://api.stitchdata.com/v3/accounts
     -H "Content-Type: application/json"
     -d "{
          "partner_id": "<PARTNER_ID>",
          "partner_secret": "<PARTNER_SECRET>",
          "first_name": "Stitch",
          "last_name": "Product Team",
          "company": "Stitch Product Team",
          "email": "stitch-api-test@stitchdata.com"
        }"
{
  "access_token": "at_<ACCESS_TOKEN>",
  "stitch_account_id": 136715
}
Code Condition Response Body
400

A Stitch account is already associated with the provided email address.

{
  "code":"ExistingUser",
  "message":"This email address is already associated with an active user."
}
400

Request body contains malformed data.

{
  "code":"BadRequest",
  "message":"Invalid form data.",
  "errors":{}
}
400

Missing or invalid partner_id.

{
  "code": "BadRequest",
  "message": "Invalid form data.",
  "errors": {
    "partner_id": "required"
  }
}
400

Missing or invalid partner_secret.

{
  "code": "BadRequest",
  "message": "Invalid form data.",
  "errors": {
    "partner_secret": "required"
  }
}


Sessions

OBJECT Session Object

This object represents a browser session in the Stitch web application.

POST Create a session

Generates an ephemeral token to create a session in the Stitch web application. Ephemeral tokens expire after one hour.


OBJECT

The Session Object

This object represents a browser session in the Stitch web application.

ephemeral_token
STRING

A token that is passed to the Connect JavaScript Client to create a session.


POST

Create a session

Generates an ephemeral token to create a session in the Stitch web application. Ephemeral tokens expire after one hour.

Ephemeral tokens are used to create a session with the Connect JavaScript client. The session will be for the user for whom the API access token was created.

After the ephemeral token is used to create a session, the created session will expire once terminated or after 12 hours.

Resource List
Request Method

POST

Resource URL

/v3/sessions/ephemeral

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Returns

If successful, the API will return a status of 200 OK and a Session object.

curl -X POST https://api.stitchdata.com/v3/sessions/ephemeral
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1

{
  "ephemeral_token":"<EPHEMERAL_TOKEN>"
}


Destination Types

OBJECT Destination Type Object

The Destination Type object contains the information needed to configure a destination.

GET Get a destination type

Retrieves general information about the configuration required for a destination type.

GET List all destination types

Retrieves general information about the configuration required for all supported destination types.


OBJECT

The Destination Type Object

The Destination Type object contains the information needed to configure a destination.

report_card
OBJECT (DESTINATION REPORT CARD)

The destination Report Card object corresponding to the destination’s type. For example: s3 or snowflake.


GET

Get a destination type

Retrieves general information about the configuration required for a destination type.

Note: This endpoint doesn’t retrieve information about the specific configuration of a destination in a single account. Instead, it will return general configuration information for the specified destination type.

To retrieve specific information about the destination for an account, use the List Destinations endpoint.

Resource List
Request Method

GET

Resource URL

/v4/destination-types/{destination_type}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

destination_type
STRING
REQUIRED

A path parameter indicating the type of destination to retrieve, such as s3 or redshift.

Returns

If successful, the API will return a status of 200 OK and a Destination Report Card object corresponding to type.

curl -X GET https://api.stitchdata.com/v4/destination-types/redshift
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
{
  "type": "redshift",
  "current_step": 1,
  "current_step_type": "form",
  "steps": [
    {
      "type": "form",
      "properties": [
        {
          "name": "database",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false
        },
        {
          "name": "encryption_host",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "anyOf": [
              {
                "type": "string",
                "format": "ipv4"
              },
              {
                "type": "string",
                "format": "ipv6"
              },
              {
                "type": "string",
                "format": "hostname"
              }
            ]
          },
          "provided": false
        },
        {
          "name": "encryption_port",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "provided": false
        },
        {
          "name": "encryption_type",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(ssh|none)$"
          },
          "provided": false
        },
        {
          "name": "encryption_username",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false
        },
        {
          "name": "host",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "anyOf": [
              {
                "type": "string",
                "format": "ipv4"
              },
              {
                "type": "string",
                "format": "ipv6"
              },
              {
                "type": "string",
                "format": "hostname"
              }
            ]
          },
          "provided": false
        },
        {
          "name": "password",
          "is_required": true,
          "is_credential": true,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false
        },
        {
          "name": "port",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "provided": false
        },
        {
          "name": "username",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false
        }
      ]
    },
    {
      "type": "fully_configured",
      "properties": []
    }
  ],
  "details": {
    "pricing_tier": "standard",
    "pipeline_state": "released",
    "protocol": "redshift",
    "access": true
  }
}

GET

List all destination types

Retrieves general information about the configuration required for all supported destination types.

Note: This endpoint doesn’t retrieve information about the specific configuration of a destination in a single account. Instead, it will return general configuration information for all supported destination types.

To retrieve specific information about the destination for an account, use the List Destinations endpoint.

Resource List
Request Method

GET

Resource URL

/v4/destination-types

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Returns

If successful, the API will return a status of 200 OK and an array of Destination Report Card objects, one for each supported destination type.

curl -X GET https://api.stitchdata.com/v4/destination-types
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
[
  {
    "type": "azure_sqldw",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "azure_storage_account_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "azure_storage_sas_url",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "uri"
            },
            "provided": false
          },
          {
            "name": "database",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "encryption_type",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(ssh|none)$"
            },
            "provided": false
          },
          {
            "name": "encryption_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "encryption_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "encryption_username",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "beta",
      "protocol": "azure_sqldw",
      "access": true
    }
  },
  {
    "type": "redshift",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "database",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "encryption_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "encryption_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "encryption_type",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(ssh|none)$"
            },
            "provided": false
          },
          {
            "name": "encryption_username",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "protocol": "redshift",
      "access": true
    }
  },
  {
    "type": "postgres",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "database",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "encryption_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "encryption_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "encryption_type",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(ssh|none)$"
            },
            "provided": false
          },
          {
            "name": "encryption_username",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "ssl",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "boolean"
            },
            "provided": false
          },
          {
            "name": "sslrootcert",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "protocol": "postgres",
      "access": true
    }
  },
  {
    "type": "snowflake",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "database",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "role",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "warehouse",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "protocol": "snowflake",
      "access": true
    }
  },
  {
    "type": "s3",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "csv_delimiter",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "csv_force_quote",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false
          },
          {
            "name": "output_file_format",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(csv|jsonl)$"
            },
            "provided": false
          },
          {
            "name": "s3_bucket",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "s3_key_format_string",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "sentinel_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string",
              "pattern": "^stitch-challenge-file-.*$"
            },
            "provided": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "protocol": "s3",
      "access": true
    }
  },
  {
    "type": "storagegrid",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "access_key_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "csv_delimiter",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "csv_force_quote",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false
          },
          {
            "name": "endpoint",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "output_file_format",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(csv|jsonl)$"
            },
            "provided": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "s3_bucket",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "s3_key_format_string",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "secret_access_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "sentinel_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string",
              "pattern": "^stitch-challenge-file-.*$"
            },
            "provided": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "enterprise",
      "pipeline_state": "alpha",
      "protocol": "storagegrid",
      "access": false
    }
  }
]


Destinations

OBJECT Destination Object

An object representing a destination. Destinations are the data warehouses into which Stitch writes data.

POST Create a destination

Creates a new destination. Only a single destination is supported per Stitch client account.

PUT Update a destination

Updates an existing destination. Modifications to the type attribute are not supported.

GET List destinations

Lists the destination currently in use for a Stitch account. Only a single data warehouse is supported per Stitch client account.

DELETE Delete a destination

Deletes an existing destination.

Note: Stitch requires a destination to replicate data. Replication will be paused until a new destination is created and has a successful connection.


OBJECT

The Destination Object

An object representing a destination. Destinations are the data warehouses into which Stitch writes data.

created_at
TIMESTAMP

The time at which the destination object was created.

deleted_at
TIMESTAMP

The time at which the destination object was deleted.

id
INTEGER

A unique identifier for this destination.

name
STRING

The name for the destination.

paused_at
TIMESTAMP

If the connection was paused by the user, the time the pause began. Otherwise, or if the connection is active, this will be null.

properties
OBJECT (DESTINATION FORM PROPERTIES)

Parameters for connecting to the destination, excluding any sensitive credentials. The parameters must adhere to the type of destination.

Note: When included in responses, this object will contain the current values for the destination’s form properties. If an optional property (is_required: false) has not been provided, it will not be present in this object.

report_card
OBJECT (DESTINATION REPORT CARD)

The Report Card object corresponding to the destination’s type. For example: postgres or redshift.

stitch_client_id
INTEGER

The ID of the Stitch client account.

system_paused_at
TIMESTAMP

If the connection was paused by the system, the time the pause began. Otherwise, or if the connection is active, this will be null.

type
STRING

The destination type. Must be one of:

  • azuresql_dw

  • postgres

  • redshift

  • s3

  • snowflake

updated_at
TIMESTAMP

The time at which the destination object was last updated.

connection
OBJECT (DESTINATION FORM PROPERTIES)

Parameters for connecting to the destination, excluding any sensitive credentials.

The parameters must adhere to the type of destination.

Note: This has been renamed to properties in v4 of the Destinations endpoint.

created_at
TIMESTAMP

The time at which the destination object was created.

id
INTEGER

A unique identifier for this destination.

last_check
TIMESTAMP

The time the last connection check to the destination completed.

Note: This field has been deprecated in v4 of the Destinations endpoint.

type
STRING

The destination type. Must be one of:

  • azuresql_dw

  • postgres

  • redshift

  • s3

  • snowflake

updated_at
TIMESTAMP

The time at which the destination object was last updated.


POST

Create a destination

Creates a new destination. Only a single destination is supported per Stitch client account.

Resource List
Request Method

POST

Resource URL

/v4/destinations

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

type
STRING
REQUIRED

The destination type. Must be one of:

  • azuresql_dw

  • postgres

  • redshift

  • s3

  • snowflake

properties
OBJECT
REQUIRED

A Destination Form Properties object corresponding to the value of type.

Returns

If successful, the API will return a status of 200 OK and a Destination object with a report_card property.

The report_card property contains the Destination Report Card object for the destination’s configuration status.

Create a PostgreSQL destination:

curl -X POST https://api.stitchdata.com/v4/destinations
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
          "type":"postgres",
          "properties": {
            "host":"<HOST>",
            "port":"5432",
            "username":"stitch",
            "database":"demni2mf59dt10",
            "password":"<PASSWORD>",
            "ssl":false
            }
         }"

PostgreSQL destination response:

{
  "properties": {
    "database": "demni2mf59dt10",
    "encryption_type": "none",
    "host": "<HOST>",
    "port": "5432",
    "ssl": "true",
    "status": "1",
    "username": "stitch"
  },
  "updated_at": "2019-05-24T18:04:08Z",
  "name": "Default Warehouse",
  "type": "postgres",
  "deleted_at": null,
  "system_paused_at": null,
  "stitch_client_id": 116078,
  "paused_at": null,
  "id": 155582,
  "display_name": null,
  "created_at": "2019-05-24T18:03:50Z",
  "report_card": {
    "type": "postgres",
    "current_step": 2,
    "current_step_type": "fully_configured",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "database",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": true
          },
          {
            "name": "encryption_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "encryption_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "encryption_type",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(ssh|none)$"
            },
            "provided": true
          },
          {
            "name": "encryption_username",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": true
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": true
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": true
          },
          {
            "name": "ssl",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "boolean"
            },
            "provided": true
          },
          {
            "name": "sslrootcert",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": true
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ]
  }
}
Code Condition Response Body
400

Accounts can have one destination

an account can have at most one destination

400

Missing or prohibited arguments

POST body may only include a type and map of properties

Resource List
Request Method

POST

Resource URL

/v3/destinations

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

type
STRING
REQUIRED

The destination type. Must be one of:

  • azuresql_dw

  • postgres

  • redshift

  • s3

  • snowflake

connection
OBJECT
REQUIRED

A Destination Form Properties object corresponding to the value of type.

Returns

If successful, the API will return a status of 200 OK and a Destination object.

Create an Amazon S3 destination:

curl -X POST https://api.stitchdata.com/v3/destinations
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
          "type":"s3",
          "connection": {
            "s3_bucket":"com-stitch-test-bucket",
            "output_file_format":"csv",
            "s3_key_format_string":"[integration_name]/[table_name]/[table_version]_[timestamp_loaded].csv",
            "csv_delimiter":",",
            "csv_force_quote":true
            }
         }"

Create an Amazon Redshift destination:

curl -X POST https://api.stitchdata.com/v3/destinations
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
          "type":"redshift",
          "connection": {
            "host":"<HOST>",
            "port":5439,
            "username":"<USERNAME>",
            "database":"<DATABASE>",
            "password":"<PASSWORD>",
            "ssl":false
            }
         }"

Create a PostgreSQL destination:

curl -X POST https://api.stitchdata.com/v3/destinations
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
          "type":"postgres",
          "connection": {
            "host":"<HOST>",
            "port":5432,
            "username":"<USERNAME>",
            "database":"<DATABASE>",
            "password":"<PASSWORD>",
            "ssl":false
            }
         }"

Create a Snowflake destination:

curl -X POST https://api.stitchdata.com/v3/destinations
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
          "type":"snowflake",
          "connection": {
            "host":"<HOST>",
            "port":443,
            "user":"<USERNAME>",
            "warehouse":"<WAREHOUSE>",
            "database":"<DATABASE>",
            "password":"<PASSWORD>",
            "role":"<OPTIONAL_ROLE>",
            "ssl":false
            }
         }"

Amazon S3 destination response:

Note: There are additional steps to creating an Amazon S3 destination beyond submitting a successful request to this endpoint. Refer to the Amazon S3 Destination Form Property documentation for more info.

HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1

{
  "id":"<DESTINATION_ID>",
  "type":"s3",
  "created_at":"2018-02-06T15:36:36Z",
  "updated_at":"2018-02-06T15:36:36Z",
  "connection": {
      "s3_bucket":"com-stitch-test-bucket",
      "output_file_format":"csv",
      "s3_key_format_string":"[integration_name]/[table_name]/[table_version]_[timestamp_loaded].csv",
      "csv_delimiter":",",
      "csv_force_quote":true,
      "sentinel_key":"stitch-challenge-file-af295ad1-7a4b-4881-89dc-c9be27de13a5"
  },

  "last_check":{
      "error":false,
      "started_at":"2018-02-06T16:15:19Z",
      "completed_at":"2018-02-06T16:16:21Z"
  }
}

Amazon Redshift destination response:

HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1

{
  "id":"<DESTINATION_ID>",
  "type":"redshift",
  "created_at":"2018-02-06T15:36:36Z",
  "updated_at":"2018-02-06T15:36:36Z",
  "connection": {
      "host":"<HOST>",
      "port":5439,
      "username":"<USERNAME>",
      "database":"<DATABASE>",
      "password":"<PASSWORD>",
      "ssl":false
  },

  "last_check":{
      "error":false,
      "started_at":"2018-02-06T16:15:19Z",
      "completed_at":"2018-02-06T16:16:21Z"
  }
}

PostgreSQL destination response:

HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1

{
  "id":"<DESTINATION_ID>",
  "type":"postgres",
  "created_at":"2018-02-06T15:36:36Z",
  "updated_at":"2018-02-06T15:36:36Z",
  "connection": {
      "host":"<HOST>",
      "port":5432,
      "username":"<USERNAME>",
      "database":"<DATABASE>",
      "password":"<PASSWORD>",
      "ssl":false
  },

  "last_check":{
      "error":false,
      "started_at":"2018-02-06T16:15:19Z",
      "completed_at":"2018-02-06T16:16:21Z"
  }
}

Snowflake destination response:

HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1

{
  "id":"<DESTINATION_ID>",
  "type":"snowflake",
  "created_at":"2018-02-06T15:36:36Z",
  "updated_at":"2018-02-06T15:36:36Z",
  "connection": {
      "host":"<HOST>",
      "port":443,
      "user":"<USERNAME>",
      "warehouse":"<WAREHOUSE>",
      "database":"<DATABASE>",
      "password":"<PASSWORD>",
      "role":"<OPTIONAL_ROLE>",
      "ssl":false
  },

  "last_check":{
      "error":false,
      "started_at":"2018-02-06T16:15:19Z",
      "completed_at":"2018-02-06T16:16:21Z"
  }
}
Code Condition Response Body
400

Accounts can have one destination

an account can have at most one destination

400

Missing or prohibited arguments

body must be a map with type = redshift, postgres, or snowflake. required-keys = type, connection


PUT

Update a destination

Updates an existing destination. Modifications to the type attribute are not supported.

Resource List
Request Method

PUT

Resource URL

/v4/destinations/{destination_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

destination_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the destination to be updated.

properties
OBJECT
REQUIRED

A Destination Form Properties object corresponding to the value of type.

Returns

If successful, the API will return a status of 200 OK and a Destination object with a report_card property.

curl -X PUT https://api.stitchdata.com/v4/destinations/155582
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
          "properties": {
            "username": "stitch_admin"
            }
        }"
{
  "properties": {
    "database": "demni2mf59dt10",
    "encryption_type": "none",
    "host": "<HOST>",
    "port": "5432",
    "ssl": "true",
    "status": "1",
    "username": "stitch_admin"
  },
  "updated_at": "2019-05-28T15:37:37Z",
  "check_job_name": "116078.155582.check.859f4746-815e-11e9-bb8e-0693226a5168",
  "name": "Default Warehouse",
  "type": "postgres",
  "deleted_at": null,
  "system_paused_at": null,
  "stitch_client_id": 116078,
  "paused_at": null,
  "id": 155582,
  "display_name": null,
  "created_at": "2019-05-24T18:03:50Z",
  "report_card": {
    "type": "postgres",
    "current_step": 2,
    "current_step_type": "fully_configured",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "database",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": true
          },
          {
            "name": "encryption_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": false
          },
          {
            "name": "encryption_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false
          },
          {
            "name": "encryption_type",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(ssh|none)$"
            },
            "provided": true
          },
          {
            "name": "encryption_username",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "ipv4"
                },
                {
                  "type": "string",
                  "format": "ipv6"
                },
                {
                  "type": "string",
                  "format": "hostname"
                }
              ]
            },
            "provided": true
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": true
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": true
          },
          {
            "name": "ssl",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "boolean"
            },
            "provided": true
          },
          {
            "name": "sslrootcert",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": true
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ]
  }
}
Code Condition Response Body
400

Modifications to type are unsupported

this API endpoint does not support modifying destination type

400

Invalid destination ID

invalid connection id

Resource List
Request Method

PUT

Resource URL

/v3/destinations/{destination_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

destination_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the destination to be updated.

type
STRING
REQUIRED

The destination type. Must be one of:

  • azuresql_dw

  • postgres

  • redshift

  • s3

  • snowflake

connection
OBJECT
REQUIRED

A Destination Form Properties object corresponding to the value of type.

Returns

If successful, the API will return a status of 200 OK and a Destination object.

curl -X PUT https://api.stitchdata.com/v3/destinations/86741
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
          "type":"postgres",
          "connection": {
            "host": "<HOST>",
            "port": 5432,
            "username": "<USERNAME>",
            "database": "<DATABASE>",
            "password": "<PASSWORD>",
            "ssl": false
            }
        }"
HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1

{
  "id":"<DESTINATION_ID>",
  "type":"postgres",
  "created_at":"2018-02-06T15:36:36Z",
  "updated_at":"2018-02-06T18:55:43Z",
  "connection": {
      "host":"<HOST>",
      "port":5432,
      "username":"<USERNAME>",
      "database":"<DATABASE>",
      "password":"<PASSWORD>",
      "ssl":false
  },
  "last_check":{
      "error": false,
      "started_at":"2018-02-06T16:15:19Z",
      "completed_at":"2018-02-06T16:16:21Z"
  }
}
Code Condition Response Body
400

Modifications to type are unsupported

this API endpoint does not support modifying destination type

400

Invalid destination ID

invalid connection id


GET

List destinations

Lists the destination currently in use for a Stitch account. Only a single data warehouse is supported per Stitch client account.

Resource List
Request Method

GET

Resource URL

/v4/destinations

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Returns

If successful, the API will return a status of 200 OK and an array of Destination objects, one for each destination connected to the account.

Note: Stitch currently supports only one destination per account.

curl -X GET https://api.stitchdata.com/v4/destinations
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
[
   {
      "properties":{
         "database":"demni2mf59dt10",
         "encryption_type":"none",
         "host":"<HOST>",
         "port":"5432",
         "ssl":"true",
         "status":"1",
         "username":"stitch"
      },
      "updated_at":"2019-05-24T18:04:08Z",
      "name":"Default Warehouse",
      "type":"postgres",
      "deleted_at":null,
      "system_paused_at":null,
      "stitch_client_id":116078,
      "paused_at":null,
      "id":155582,
      "display_name":null,
      "created_at":"2019-05-24T18:03:50Z",
      "report_card":{
         "type":"postgres",
         "current_step":2,
         "current_step_type":"fully_configured",
         "steps":[
            {
               "type":"form",
               "properties":[
                  {
                     "name":"database",
                     "is_required":true,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"string"
                     },
                     "provided":true
                  },
                  {
                     "name":"encryption_host",
                     "is_required":false,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "anyOf":[
                           {
                              "type":"string",
                              "format":"ipv4"
                           },
                           {
                              "type":"string",
                              "format":"ipv6"
                           },
                           {
                              "type":"string",
                              "format":"hostname"
                           }
                        ]
                     },
                     "provided":false
                  },
                  {
                     "name":"encryption_port",
                     "is_required":false,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"string",
                        "pattern":"^\\d+$"
                     },
                     "provided":false
                  },
                  {
                     "name":"encryption_type",
                     "is_required":true,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"string",
                        "pattern":"^(ssh|none)$"
                     },
                     "provided":true
                  },
                  {
                     "name":"encryption_username",
                     "is_required":false,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"string"
                     },
                     "provided":false
                  },
                  {
                     "name":"host",
                     "is_required":true,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "anyOf":[
                           {
                              "type":"string",
                              "format":"ipv4"
                           },
                           {
                              "type":"string",
                              "format":"ipv6"
                           },
                           {
                              "type":"string",
                              "format":"hostname"
                           }
                        ]
                     },
                     "provided":true
                  },
                  {
                     "name":"password",
                     "is_required":true,
                     "is_credential":true,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"string"
                     },
                     "provided":true
                  },
                  {
                     "name":"port",
                     "is_required":true,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"string",
                        "pattern":"^\\d+$"
                     },
                     "provided":true
                  },
                  {
                     "name":"ssl",
                     "is_required":true,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"boolean"
                     },
                     "provided":true
                  },
                  {
                     "name":"sslrootcert",
                     "is_required":false,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"string"
                     },
                     "provided":false
                  },
                  {
                     "name":"username",
                     "is_required":true,
                     "is_credential":false,
                     "system_provided":false,
                     "property_type":"user_provided",
                     "json_schema":{
                        "type":"string"
                     },
                     "provided":true
                  }
               ]
            },
            {
               "type":"fully_configured",
               "properties":[

               ]
            }
         ]
      }
   }
]
Resource List
Request Method

GET

Resource URL

/v3/destinations

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Returns

If successful, the API will return a status of 200 OK and an array (of length zero or one) of Destination objects.

curl -X GET https://api.stitchdata.com/v3/destinations
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
HTTP/1.1 200 OK
Content-Type: application/json;charset=ISO-8859-1

[
  {  
    "id":"<DESTINATION_ID>",
    "type":"redshift",
    "created_at":"2018-02-06T15:36:36Z",
    "updated_at":"2018-02-06T15:36:36Z",
    "connection": {  
        "host":"<HOST>",
        "port":5439,
        "username":"<USERNAME>",
        "database":"<DATABASE>",
        "password":"<PASSWORD>",
        "ssl":false
    },
    "last_check":{
      "error": false,
      "started_at":"2018-02-06T16:15:19Z",
      "completed_at":"2018-02-06T16:16:21Z"
    }
  }
]

DELETE

Delete a destination

Deletes an existing destination.

Note: Stitch requires a destination to replicate data. Replication will be paused until a new destination is created and has a successful connection.

Resource List
Request Method

DELETE

Resource URL

/v4/destinations/{destination_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

destination_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the destination to be deleted.

Returns

If successful, the API will return a status of 200 OK and an empty body.

curl -X DELETE https://api.stitchdata.com/v4/destinations/155582
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
{}
Code Condition Response Body
400

Invalid destination ID

Unable to locate dest (<DESTINATION_ID>) for client (<ACCOUNT_ID>) to delete

May result from an incorrect destination ID, or if the destination has already been deleted.

502

Destination ID not provided

Occurs when a destination ID argument isn’t included in the request URL. Below is an incorrectly formatted request URL:

https://api.stitchdata.com/v4/destinations/{destination_id

This is correct:

https://api.stitchdata.com/v4/destinations/{destination_id
502

Destination ID contains illegal characters

Occurs when a destination ID argument includes illegal characters, such as letters. For example:

https://api.stitchdata.com/v4/destinations/{destination_id


Source Types

OBJECT Source Type Object

The Source Type object contains the information needed to configure a data source.

GET Get a source type

Retrieves general information about the configuration required for a data source type.

GET List all source types

Retrieves general information about the configuration required for all supported data source types.


OBJECT

The Source Type Object

The Source Type object contains the information needed to configure a data source.

report_card
OBJECT (SOURCE REPORT CARD)

The Source Report Card object corresponding to the source’s type. For example: platform.marketo or platform.hubspot.


GET

Get a source type

Retrieves general information about the configuration required for a data source type.

Note: This endpoint doesn’t retrieve information about the specific configuration of sources in a single account. Instead, it will return general configuration information for the specified source source_type.

To retrieve information about a specific data source, use the Get a Source endpoint.

Resource List
Request Method

GET

Resource URL

/v4/source-types/{source_type}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_type
STRING
REQUIRED

A path parameter indicating the type of source to retrieve, such as platform.hubspot or platform.marketo.

Returns

If successful, the API will return a status of 200 OK and a Source Report Card object corresponding to type.

curl -X GET https://api.stitchdata.com/v4/source-types/platform.hubspot
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
{
  "type": "platform.hubspot",
  "current_step": 1,
  "current_step_type": "form",
  "steps": [
    {
      "type": "form",
      "properties": [
        {
          "name": "anchor_time",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "format": "date-time"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "cron_expression",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": null,
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "frequency_in_minutes",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "image_version",
          "is_required": true,
          "is_credential": false,
          "system_provided": true,
          "property_type": "read_only",
          "json_schema": null,
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "start_date",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
          },
          "provided": false,
          "tap_mutable": false
        }
      ]
    },
    {
      "type": "oauth",
      "properties": [
        {
          "name": "client_id",
          "is_required": true,
          "is_credential": true,
          "system_provided": true,
          "property_type": "system_provided_by_default",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "client_secret",
          "is_required": true,
          "is_credential": true,
          "system_provided": true,
          "property_type": "system_provided_by_default",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "redirect_uri",
          "is_required": true,
          "is_credential": true,
          "system_provided": true,
          "property_type": "system_provided_by_default",
          "json_schema": {
            "type": "string",
            "format": "uri"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "refresh_token",
          "is_required": true,
          "is_credential": true,
          "system_provided": true,
          "property_type": "system_provided_by_default",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        }
      ]
    },
    {
      "type": "discover_schema",
      "properties": []
    },
    {
      "type": "field_selection",
      "properties": []
    },
    {
      "type": "fully_configured",
      "properties": []
    }
  ],
  "details": {
    "pricing_tier": "premium",
    "pipeline_state": "released",
    "default_scheduling_interval": 30,
    "default_start_date": "-30 days",
    "protocol": "platform.hubspot",
    "access": true
  }
}

GET

List all source types

Retrieves general information about the configuration required for all supported data source types.

Note: This endpoint doesn’t retrieve information about the specific configuration of sources in a single account. Instead, it will return general configuration information for all supported source types.

To retrieve specific information about all data sources for an account, use the List Sources endpoint.

Resource List
Request Method

GET

Resource URL

/v4/source-types

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Returns

If successful, the API will return a status of 200 OK and an array of Source Report Card objects, one for each supported source type.

curl -X GET https://api.stitchdata.com/v4/source-types
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
[
  {
    "type": "platform.closeio",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_start_date": "-1 year",
      "default_scheduling_interval": 30,
      "protocol": "platform.closeio",
      "access": true
    }
  },
  {
    "type": "platform.hubspot",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "redirect_uri",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string",
              "format": "uri"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": "-30 days",
      "protocol": "platform.hubspot",
      "access": true
    }
  },
  {
    "type": "platform.marketo",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "endpoint",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "uri"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "identity",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "uri"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "max_daily_calls",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "deprecated",
      "default_scheduling_interval": 30,
      "default_start_date": "-1 year",
      "protocol": "platform.marketo",
      "access": false
    }
  },
  {
    "type": "platform.facebook",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "aggregate_level",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "attribution_window",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "include_deleted",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "insights_buffer_days",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "access_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "account_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": "-1 year",
      "protocol": "platform.facebook",
      "access": true
    }
  },
  {
    "type": "platform.adwords",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "customer_ids",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "developer_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 1440,
      "default_start_date": "-1 year",
      "protocol": "platform.adwords",
      "access": true
    }
  },
  {
    "type": "platform.zuora",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_type",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(AQUA|REST)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "european",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "partner_id",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "sandbox",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": "-1 year",
      "protocol": "platform.zuora",
      "access": true
    }
  },
  {
    "type": "platform.mysql",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "allow_non_auto_increment_pks",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "check_hostname",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "database",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "filter_dbs",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "server_id",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_user",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl_ca",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl_cert",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl_client_auth_enabled",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl_key",
            "is_required": false,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "use_log_based_replication",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "verify_mode",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": null,
      "protocol": "platform.mysql",
      "access": true
    }
  },
  {
    "type": "platform.fullstory",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": "-1 year",
      "protocol": "platform.fullstory",
      "access": true
    }
  },
  {
    "type": "platform.aurora",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "allow_non_auto_increment_pks",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "database",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "server_id",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_user",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "use_log_based_replication",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": null,
      "protocol": "platform.mysql",
      "access": true
    }
  },
  {
    "type": "platform.mariadb",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "allow_non_auto_increment_pks",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "database",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "server_id",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_user",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "use_log_based_replication",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": null,
      "protocol": "platform.mysql",
      "access": true
    }
  },
  {
    "type": "platform.cloudsql",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "allow_non_auto_increment_pks",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "check_hostname",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "database",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "internal_hostname",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "server_id",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_user",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl_ca",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl_cert",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl_client_auth_enabled",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl_key",
            "is_required": false,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "use_log_based_replication",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "verify_mode",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": null,
      "protocol": "platform.mysql",
      "access": true
    }
  },
  {
    "type": "platform.xero",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "consumer_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "consumer_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_s3_bucket",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_s3_path",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_session_handle",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_token_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "organization_name",
            "is_required": false,
            "is_credential": false,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "rsa_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user_agent",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.xero",
      "access": true
    }
  },
  {
    "type": "platform.jira",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "base_url",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.jira",
      "access": true
    }
  },
  {
    "type": "platform.salesforce",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_type",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(REST|BULK)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "is_sandbox",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "quota_percent_per_run",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "quota_percent_total",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "select_fields_by_default",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "instance_url",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string",
              "format": "uri"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "orgid",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.salesforce",
      "access": true
    }
  },
  {
    "type": "platform.pipedrive",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": "-1 year",
      "protocol": "platform.pipedrive",
      "access": true
    }
  },
  {
    "type": "platform.marketobulk",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "endpoint",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "max_daily_calls",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "max_export_days",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 720,
      "default_start_date": "-1 year",
      "protocol": "platform.marketo",
      "access": true
    }
  },
  {
    "type": "platform.listrak",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.listrak",
      "access": true
    }
  },
  {
    "type": "platform.bing-ads",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "account_ids",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "customer_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "developer_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "oauth_client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user_id",
            "is_required": false,
            "is_credential": false,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 1440,
      "default_start_date": "-1 year",
      "protocol": "platform.bing-ads",
      "access": true
    }
  },
  {
    "type": "platform.yotpo",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.yotpo",
      "access": true
    }
  },
  {
    "type": "platform.sendgrid",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.sendgrid",
      "access": true
    }
  },
  {
    "type": "platform.quickbase",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "qb_appid",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "qb_url",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "qb_user_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.quickbase",
      "access": true
    }
  },
  {
    "type": "platform.oracle",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "default_replication_method",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(LOG_BASED|FULL_TABLE)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "filter_schemas",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "sid",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_user",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "enterprise",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": null,
      "protocol": "platform.oracle",
      "access": false
    }
  },
  {
    "type": "platform.bronto",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.bronto",
      "access": true
    }
  },
  {
    "type": "platform.postgres",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "dbname",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "debug_lsn",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "default_replication_method",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "filter_dbs",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "include_schemas_in_destination_stream_name",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "itersize",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "logical_poll_total_seconds",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_user",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "use_log_based_replication",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": null,
      "protocol": "platform.postgres",
      "access": true
    }
  },
  {
    "type": "platform.github",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "access_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "repository",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.github",
      "access": true
    }
  },
  {
    "type": "platform.zendesk",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "subdomain",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "access_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.zendesk",
      "access": true
    }
  },
  {
    "type": "platform.s3-csv",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "account_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "bucket",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "external_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "role_name",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "search_prefix",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "tables",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.s3-csv",
      "access": true
    }
  },
  {
    "type": "platform.doubleclick-campaign-manager",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "profile_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": "-1 year",
      "protocol": "platform.doubleclick-campaign-manager",
      "access": true
    }
  },
  {
    "type": "platform.amplitude",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "account",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "database",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "warehouse",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": null,
      "protocol": "platform.amplitude",
      "access": true
    }
  },
  {
    "type": "platform.uservoice",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "subdomain",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.uservoice",
      "access": true
    }
  },
  {
    "type": "platform.heroku_pg",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "dbname",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "default_replication_method",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "filter_dbs",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "include_schemas_in_destination_stream_name",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "itersize",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_user",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": null,
      "protocol": "platform.postgres",
      "access": true
    }
  },
  {
    "type": "platform.cloudsql_pg",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "dbname",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "default_replication_method",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "filter_dbs",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "include_schemas_in_destination_stream_name",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "itersize",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "password",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_host",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "anyOf": [
                {
                  "format": "hostname"
                },
                {
                  "format": "ipv4"
                }
              ]
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d+"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssh_user",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "ssl",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "user",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": null,
      "protocol": "platform.postgres",
      "access": true
    }
  },
  {
    "type": "platform.harvest-forecast",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "account_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.harvest-forecast",
      "access": true
    }
  },
  {
    "type": "platform.campaign-monitor",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "access_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.campaign-monitor",
      "access": true
    }
  },
  {
    "type": "platform.platformpurple",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "environment",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.platformpurple",
      "access": true
    }
  },
  {
    "type": "platform.clubspeed",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "private_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "subdomain",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.clubspeed",
      "access": true
    }
  },
  {
    "type": "platform.shopify",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "date_window_size",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "shop",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.shopify",
      "access": true
    }
  },
  {
    "type": "import_api",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": null,
      "protocol": "import_api",
      "access": true
    }
  },
  {
    "type": "platform.responsys",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "host",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "path",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "port",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.responsys",
      "access": true
    }
  },
  {
    "type": "platform.stripe",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "date_window_size",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "whitelist_map",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "account_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 30,
      "default_start_date": "-1 year",
      "protocol": "platform.stripe",
      "access": true
    }
  },
  {
    "type": "platform.heap",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "account_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "bucket",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "external_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "role_name",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.heap",
      "access": true
    }
  },
  {
    "type": "platform.frontapp",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "incremental_range",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.frontapp",
      "access": true
    }
  },
  {
    "type": "platform.revinate",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "username",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.revinate",
      "access": true
    }
  },
  {
    "type": "platform.typeform",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "forms",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "incremental_range",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.typeform",
      "access": true
    }
  },
  {
    "type": "platform.toggl",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "detailed_report_trailing_days",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.toggl",
      "access": true
    }
  },
  {
    "type": "platform.eloqua",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "bulk_page_size",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "redirect_uri",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": true
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "beta",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.eloqua",
      "access": true
    }
  },
  {
    "type": "platform.shiphero",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "beta",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.shiphero",
      "access": true
    }
  },
  {
    "type": "platform.netsuite",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "account",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "consumer_key",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "consumer_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "page_size",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "token_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "token_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "premium",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.netsuite",
      "access": true
    }
  },
  {
    "type": "platform.bigcommerce",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "access_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "store_hash",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.bigcommerce",
      "access": true
    }
  {
    "type": "platform.onfleet",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "quota_limit",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "integer"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "beta",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.onfleet",
      "access": true
    }
  },
  {
    "type": "platform.invoiced",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "sandbox",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^(true|false)"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "released",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.invoiced",
      "access": true
    }
  },
  {
    "type": "platform.chargebee",
    "current_step": 1,
    "current_step_type": "form",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "api_key",
            "is_required": true,
            "is_credential": true,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "site",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": false,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ],
    "details": {
      "pricing_tier": "standard",
      "pipeline_state": "beta",
      "default_scheduling_interval": 60,
      "default_start_date": "-1 year",
      "protocol": "platform.chargebee",
      "access": true
    }
  }
]


Sources

OBJECT Source Object

An object representing a data source. Sources are the databases, APIs, and other data applications that Stitch replicates data from. Sources can be retrieved in a list or individually by ID.

POST Create a source

Creates a source object, which is the first step in setting up a new data source.

PUT Update a source

Updates an existing data source.

PUT Pause a source

Pauses an existing data source.

PUT Unpause a source

Unpauses a previously paused data source.

GET Retrieve a source

Retrieves a previously created data source by its unique identifier.

GET List all sources

Lists the sources for an account, including active, paused, and deleted sources.

DELETE Delete a source

Deletes an existing data source.


OBJECT

The Source Object

An object representing a data source. Sources are the databases, APIs, and other data applications that Stitch replicates data from. Sources can be retrieved in a list or individually by ID.

id
INTEGER

The unique identifier for this source.

created_at
TIMESTAMP

The time at which the source object was created.

deleted_at
TIMESTAMP

The time at which the source object was deleted.

display_name
STRING

The display name of the source connection.

name
STRING

The name of the source connection, dynamically generated from display_name. The name corresponds to the destination schema name that the data from this source will be loaded into.

Names must:

  • Contain only lowercase alphanumerics and underscores
  • Be unique within each Stitch client account
paused_at
TIMESTAMP

If the connection was paused by the user, the time the pause began. Otherwise, or if the connection is active, this will be `null.

properties
OBJECT (SOURCE FORM PROPERTIES)

Parameters for connecting to the source, excluding any sensitive credentials. The parameters must adhere to the type of source.

Note: When included in responses, this object will contain the current values for the source’s form properties. If an optional property (is_required: false) has not been provided, it will not be present in this object.

report_card
OBJECT (SOURCE REPORT CARD)

A description of the source’s configuration state.

stitch_client_id
INTEGER

The ID of the Stitch client account.

system_paused_at
TIMESTAMP

If the connection was paused by the system, the time the pause began. Otherwise, or if the connection is active, this will be null.

type
STRING

The source type.

updated_at
TIMESTAMP

The time at which the object was last updated.


POST

Create a source

Creates a source object, which is the first step in setting up a new data source. After the source object is created, additional configuration steps must be completed.

The configuration process is unique for each type of source. The report_card object’s steps attribute will assist you in guiding the user to the Connect JavaScript Client to complete the appropriate step.

Resource List
Request Method

POST

Resource URL

/v4/sources

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

display_name
STRING
REQUIRED

A descriptive name for the source. This will be used to dynamically generate the name corresponding to the schema name or dataset name that the data from this source will be loaded into.

type
STRING
REQUIRED

The source type. For example: platform.marketo or platform.hubspot.

properties
OBJECT
OPTIONAL

A source Properties object corresponding to the value of type.

Returns

If successful, the API will return a status of 200 OK and a Source object with a report_card property.

The report_card property contains the Source Report Card object for the source’s configuration status.

curl -X POST https://api.stitchdata.com/v4/sources
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
             "type":"platform.shopify",
             "display_name":"Shopify",
             "properties":{
                "start_date":"2017-01-01T00:00:00Z",
                "frequency_in_minutes":"30"
             }
          }"
{
   "properties":{
      "anchor_time":"2019-01-30T18:16:37.205Z",
      "cron_expression":null,
      "frequency_in_minutes":"30",
      "image_version":"1.latest",
      "product":"pipeline",
      "shop":"stitchdatawearhouse",
      "start_date":"2017-01-01T00:00:00Z"
   },
   "updated_at":"2019-05-28T13:52:23Z",
   "schedule":null,
   "name":"shopify",
   "type":"platform.shopify",
   "deleted_at":null,
   "system_paused_at":null,
   "stitch_client_id":116078,
   "paused_at":null,
   "id":86741,
   "display_name":"Shopify",
   "created_at":"2019-01-10T19:38:18Z",
   "report_card":{
      "type":"platform.shopify",
      "current_step":1,
      "current_step_type":"fully_configured",
      "steps":[
         {
            "type":"form",
            "properties":[
               {
                  "name":"anchor_time",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "format":"date-time"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"cron_expression",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":null,
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"date_window_size",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"integer"
                  },
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"frequency_in_minutes",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^1$|^30$|^60$|^360$|^720$|^1440$"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"image_version",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":true,
                  "property_type":"read_only",
                  "json_schema":null,
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"shop",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"start_date",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
                  },
                  "provided":true,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"oauth",
            "properties":[
               {
                  "name":"api_key",
                  "is_required":true,
                  "is_credential":true,
                  "system_provided":true,
                  "property_type":"system_provided_by_default",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":false,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"discover_schema",
            "properties":[

            ]
         },
         {
            "type":"field_selection",
            "properties":[

            ]
         },
         {
            "type":"fully_configured",
            "properties":[

            ]
         }
      ]
   }
}
Code Condition Response Body
400

Invalid source type

{
   "error":"InvalidType",
   "data":{
      "message":"invalid source type (platform.<SOURCE_TYPE>)"
   }
}
400

Source’s display_name is already in use

{
   "error":"InvalidName",
   "data":{
      "message":"non-unique name (<NAME>)"
   }
}
400

Prohibited arguments

{
   "error":"InvalidBody",
   "data":{
      "message":"POST body may only include a non-empty type, a non-empty display_name and map of string properties"
   }
}
400

Invalid name property

{
   "error":"InvalidName",
   "data":{
      "message":"The name field must be under 50 characters, and can only contain lowercase letters, numbers, underscores, or dollar signs. It must begin with a letter or an underscore."
   }
}
400

Non-unique name property

{  
   "error":"InvalidName",
   "data":{  
      "message":"non-unique name after deriving it from display_name (<DISPLAY_NAME!!!> -> <display_name>)"
   }
}
400

Invalid name property

{
   "error":"InvalidDisplayName",
   "data":{
      "message":"invalid name after deriving it from display_name (#### -> )"
   }
}
400

Insufficient access to source type

{
   "error":"AccessDenied",
   "data":{
      "message":"you do not have access to source type (platform.<SOURCE_TYPE>)"
   }
}
400

Invalid properties data

{
   "error":"InvalidProperties",
   "data":{
      "message":"properties do not match schema",
      "bad_properties":[
         "<property_name_1>",
         "<property_name_2"
      ],
      "report_card":{<SOURCE_REPORT_CARD>}
   }
}

May result from incorrect formatting, incorrect data typing, or a property has a value that is an empty string.

400

Insufficient account access to cron scheduling feature

{  
   "error":"AccessDenied",
   "data":{  
      "message":"access to cron_expression based scheduling is not permitted"
   }
}
400

Cron expressions can’t specify both a day-of-week and day-of-month

{
   "error":"InvalidCronExpression",
   "data":{
      "message":"cron_expression \"* * * * * *\" is invalid: Support for specifying both a day-of-week AND a day-of-month parameter is not implemented."
   }
}

PUT

Update a source

Updates an existing data source.

Resource List
Request Method

PUT

Resource URL

/v4/sources/{source_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source to be updated.

display_name
STRING
OPTIONAL

A descriptive name for the source. This will be used to dynamically generate the name corresponding to the schema name or dataset name that the data from this source will be loaded into.

paused_at
TIMESTAMP
OPTIONAL

The time the source was paused. This field must contain an ISO 8601-compliant date.

Note: Providing any value - past, present, or future - for this property will pause the source immediately if the request is successful.

Refer to the Pause a source reference for request and response examples.

properties
OBJECT
OPTIONAL

A source Properties object corresponding to the value of type.

Returns

If successful, the API will return a status of 200 OK and a Source object.

curl -X PUT https://api.stitchdata.com/v4/sources/86741
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
             "display_name":"Shopify",
             "properties":{
                "frequency_in_minutes":"60"
             }
         }"
{
   "properties":{
      "anchor_time":"2019-01-30T18:16:37.205Z",
      "cron_expression":null,
      "frequency_in_minutes":"60",
      "image_version":"1.latest",
      "product":"pipeline",
      "shop":"stitchdatawearhouse",
      "start_date":"2017-01-01T00:00:00Z"
   },
   "updated_at":"2019-05-28T13:52:23Z",
   "schedule":null,
   "name":"shopify",
   "type":"platform.shopify",
   "deleted_at":null,
   "system_paused_at":null,
   "stitch_client_id":116078,
   "paused_at":null,
   "id":86741,
   "display_name":"Shopify",
   "created_at":"2019-01-10T19:38:18Z",
   "report_card":{
      "type":"platform.shopify",
      "current_step":1,
      "current_step_type":"fully_configured",
      "steps":[
         {
            "type":"form",
            "properties":[
               {
                  "name":"anchor_time",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "format":"date-time"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"cron_expression",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":null,
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"date_window_size",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"integer"
                  },
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"frequency_in_minutes",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^1$|^30$|^60$|^360$|^720$|^1440$"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"image_version",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":true,
                  "property_type":"read_only",
                  "json_schema":null,
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"shop",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"start_date",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
                  },
                  "provided":true,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"oauth",
            "properties":[
               {
                  "name":"api_key",
                  "is_required":true,
                  "is_credential":true,
                  "system_provided":true,
                  "property_type":"system_provided_by_default",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":false,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"discover_schema",
            "properties":[

            ]
         },
         {
            "type":"field_selection",
            "properties":[

            ]
         },
         {
            "type":"fully_configured",
            "properties":[

            ]
         }
      ]
   }
}
Code Condition Response Body
400

Invalid properties data

{
   "error":"InvalidProperties",
   "data":{
      "message":"properties do not match schema",
      "bad_properties":[
         "<property_name_1>",
         "<property_name_2"
      ],
      "report_card":{<SOURCE_REPORT_CARD>}
   }
}

May result from incorrect formatting, incorrect data typing, or a property has a value that is an empty string.

400

Insufficient account access to cron scheduling feature

{  
   "error":"AccessDenied",
   "data":{  
      "message":"access to cron_expression based scheduling is not permitted"
   }
}
400

Cron expressions can’t specify both a day-of-week and day-of-month

{
   "error":"InvalidCronExpression",
   "data":{
      "message":"cron_expression \"* * * * * *\" is invalid: Support for specifying both a day-of-week AND a day-of-month parameter is not implemented."
   }
}
400

Prohibited arguments

{
   "error":"InvalidBody",
   "data":{
      "message":"PUT body many only include the keys: display_name, properties, and paused_at"
   }
}
400

Invalid display name

{
   "error":"InvalidDisplayName",
   "data":{
      "message":"invalid display_name (<INVALID_DISPLAY_NAME>)"
   }
}
400

Invalid source ID

{
   "error":"InvalidId",
   "data":{
      "message":"source not found (<SOURCE_ID>)"
   }
}

PUT

Pause a source

Pauses an existing data source. When a source is paused, Stitch will not automatically start replication jobs for the source. Manual replication jobs can still be started using the Start a replication job endpoint, however.

Note: This endpoint behaves identically to Update a source.

Resource List
Request Method

PUT

Resource URL

/v4/sources/{source_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source to be paused.

paused_at
TIMESTAMP
OPTIONAL

The time the source was paused. This field must contain an ISO 8601-compliant date.

Note: Providing any value - past, present, or future - for this property will pause the source immediately if the request is successful.

Returns

If successful, the API will return a status of 200 OK and a Source object with a populated paused_at value.

curl -X PUT https://api.stitchdata.com/v4/sources/86741
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "paused_at":"2019-06-01T00:00:00Z"
         }"
{
   "properties":{
      "anchor_time":"2019-01-30T18:16:37.205Z",
      "cron_expression":null,
      "frequency_in_minutes":"60",
      "image_version":"1.latest",
      "product":"pipeline",
      "shop":"stitchdatawearhouse",
      "start_date":"2017-01-01T00:00:00Z"
   },
   "updated_at":"2019-05-28T13:52:23Z",
   "schedule":null,
   "name":"shopify",
   "type":"platform.shopify",
   "deleted_at":null,
   "system_paused_at":null,
   "stitch_client_id":116078,
   "paused_at":"2019-06-01T00:00:00Z",
   "id":86741,
   "display_name":"Shopify",
   "created_at":"2019-01-10T19:38:18Z",
   "report_card":{
      "type":"platform.shopify",
      "current_step":1,
      "current_step_type":"fully_configured",
      "steps":[
         {
            "type":"form",
            "properties":[
               {
                  "name":"anchor_time",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "format":"date-time"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"cron_expression",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":null,
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"date_window_size",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"integer"
                  },
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"frequency_in_minutes",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^1$|^30$|^60$|^360$|^720$|^1440$"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"image_version",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":true,
                  "property_type":"read_only",
                  "json_schema":null,
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"shop",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"start_date",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
                  },
                  "provided":true,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"oauth",
            "properties":[
               {
                  "name":"api_key",
                  "is_required":true,
                  "is_credential":true,
                  "system_provided":true,
                  "property_type":"system_provided_by_default",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":false,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"discover_schema",
            "properties":[

            ]
         },
         {
            "type":"field_selection",
            "properties":[

            ]
         },
         {
            "type":"fully_configured",
            "properties":[

            ]
         }
      ]
   }
}

PUT

Unpause a source

Unpauses a previously paused data source.

Note: This endpoint behaves identically to Update a source.

Resource List
Request Method

PUT

Resource URL

/v4/sources/{source_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source to be paused.

paused_at
NULL
OPTIONAL

To unpause a source, this value must be null.

Returns

If successful, the API will return a status of 200 OK and a Source object with a null paused_at value.

curl -X PUT https://api.stitchdata.com/v4/sources/86741
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "paused_at":null
         }"
{
   "properties":{
      "anchor_time":"2019-01-30T18:16:37.205Z",
      "cron_expression":null,
      "frequency_in_minutes":"60",
      "image_version":"1.latest",
      "product":"pipeline",
      "shop":"stitchdatawearhouse",
      "start_date":"2017-01-01T00:00:00Z"
   },
   "updated_at":"2019-05-28T13:52:23Z",
   "schedule":null,
   "name":"shopify",
   "type":"platform.shopify",
   "deleted_at":null,
   "system_paused_at":null,
   "stitch_client_id":116078,
   "paused_at":null,
   "id":86741,
   "display_name":"Shopify",
   "created_at":"2019-01-10T19:38:18Z",
   "report_card":{
      "type":"platform.shopify",
      "current_step":1,
      "current_step_type":"fully_configured",
      "steps":[
         {
            "type":"form",
            "properties":[
               {
                  "name":"anchor_time",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "format":"date-time"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"cron_expression",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":null,
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"date_window_size",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"integer"
                  },
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"frequency_in_minutes",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^1$|^30$|^60$|^360$|^720$|^1440$"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"image_version",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":true,
                  "property_type":"read_only",
                  "json_schema":null,
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"shop",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"start_date",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
                  },
                  "provided":true,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"oauth",
            "properties":[
               {
                  "name":"api_key",
                  "is_required":true,
                  "is_credential":true,
                  "system_provided":true,
                  "property_type":"system_provided_by_default",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":false,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"discover_schema",
            "properties":[

            ]
         },
         {
            "type":"field_selection",
            "properties":[

            ]
         },
         {
            "type":"fully_configured",
            "properties":[

            ]
         }
      ]
   }
}

GET

Retrieve a source

Retrieves a previously created data source by its unique identifier. This endpoint can be used to retrieve an active, paused, or deleted source.

Resource List
Request Method

GET

Resource URL

/v4/sources/{source_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the data source to be retrieved.

Returns

If successful and a valid identifier was provided, the API will return a status of 200 OK and a single Source Object.

curl -X GET https://api.stitchdata.com/v4/sources/120643
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
{
  "properties": {
    "anchor_time": "2019-01-07T23:23:08.116Z",
    "cron_expression": null,
    "customer_ids": "1585293495,4224806558,6668731595",
    "frequency_in_minutes": "30",
    "image_version": "1.latest",
    "product": "pipeline",
    "start_date": "2018-01-01T00:00:00Z",
    "user_id": "100551921296891141132"
  },
  "updated_at": "2019-04-12T19:03:13Z",
  "schedule": null,
  "name": "adwords",
  "type": "platform.adwords",
  "deleted_at": "2019-01-09T17:28:57Z",
  "system_paused_at": null,
  "stitch_client_id": 116078,
  "paused_at": null,
  "id": 120643,
  "display_name": "AdWords",
  "created_at": "2019-01-07T23:20:22Z",
  "report_card": {
    "type": "platform.adwords",
    "current_step": 5,
    "current_step_type": "fully_configured",
    "steps": [
      {
        "type": "form",
        "properties": [
          {
            "name": "anchor_time",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "format": "date-time"
            },
            "provided": true,
            "tap_mutable": false
          },
          {
            "name": "cron_expression",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": null,
            "provided": false,
            "tap_mutable": false
          },
          {
            "name": "frequency_in_minutes",
            "is_required": false,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
            },
            "provided": true,
            "tap_mutable": false
          },
          {
            "name": "image_version",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "read_only",
            "json_schema": null,
            "provided": true,
            "tap_mutable": false
          },
          {
            "name": "start_date",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
            },
            "provided": true,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "oauth",
        "properties": [
          {
            "name": "customer_ids",
            "is_required": true,
            "is_credential": false,
            "system_provided": false,
            "property_type": "user_provided",
            "json_schema": {
              "type": "string"
            },
            "provided": true,
            "tap_mutable": false
          },
          {
            "name": "developer_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": true,
            "tap_mutable": false
          },
          {
            "name": "oauth_client_id",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": true,
            "tap_mutable": false
          },
          {
            "name": "oauth_client_secret",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": true,
            "tap_mutable": false
          },
          {
            "name": "refresh_token",
            "is_required": true,
            "is_credential": true,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": true,
            "tap_mutable": false
          },
          {
            "name": "user_id",
            "is_required": true,
            "is_credential": false,
            "system_provided": true,
            "property_type": "system_provided_by_default",
            "json_schema": {
              "type": "string"
            },
            "provided": true,
            "tap_mutable": false
          }
        ]
      },
      {
        "type": "discover_schema",
        "properties": []
      },
      {
        "type": "field_selection",
        "properties": []
      },
      {
        "type": "fully_configured",
        "properties": []
      }
    ]
  }
}

GET

List all sources

Lists the sources for an account, including active, paused, and deleted sources.

Note: This endpoint retrieves specific configuration information about the sources connected to a single account. To retrieve general configuration information about all supported data source types, use the List all source types endpoint.

Resource List
Request Method

GET

Resource URL

/v4/sources

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Returns

If successful, the API will return a status of 200 OK and an array of Source Objects, one for each source connected to the account.

curl -X GET https://api.stitchdata.com/v4/sources
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
[
  {
    "properties": {
      "anchor_time": "2019-01-07T23:23:08.116Z",
      "cron_expression": null,
      "customer_ids": "1585293495,4224806558,6668731595",
      "frequency_in_minutes": "30",
      "image_version": "1.latest",
      "product": "pipeline",
      "start_date": "2018-01-01T00:00:00Z",
      "user_id": "100551921296891141132"
    },
    "updated_at": "2019-04-12T19:03:13Z",
    "schedule": null,
    "name": "adwords",
    "type": "platform.adwords",
    "deleted_at": "2019-01-09T17:28:57Z",
    "system_paused_at": null,
    "stitch_client_id": 116078,
    "paused_at": null,
    "id": 119945,
    "display_name": "AdWords2",
    "created_at": "2019-01-07T23:20:22Z",
    "report_card": {
      "type": "platform.adwords",
      "current_step": 5,
      "current_step_type": "fully_configured",
      "steps": [
        {
          "type": "form",
          "properties": [
            {
              "name": "anchor_time",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "format": "date-time"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "cron_expression",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": null,
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "frequency_in_minutes",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "image_version",
              "is_required": true,
              "is_credential": false,
              "system_provided": true,
              "property_type": "read_only",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "start_date",
              "is_required": true,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
              },
              "provided": true,
              "tap_mutable": false
            }
          ]
        },
        {
          "type": "oauth",
          "properties": [
            {
              "name": "customer_ids",
              "is_required": true,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "developer_token",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "oauth_client_id",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "oauth_client_secret",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "refresh_token",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "user_id",
              "is_required": true,
              "is_credential": false,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            }
          ]
        },
        {
          "type": "discover_schema",
          "properties": []
        },
        {
          "type": "field_selection",
          "properties": []
        },
        {
          "type": "fully_configured",
          "properties": []
        }
      ]
    }
  },
  {
    "properties": {
      "anchor_time": "2019-01-09T19:30:00.000Z",
      "user_agent": "Stitch-c7ad6999-c6d8-4504-9ae6-b153717fdd3e",
      "oauth_s3_path": "116078-120407-xero",
      "organization_name": "Stitch Xero",
      "frequency_in_minutes": "60",
      "product": "pipeline",
      "oauth_s3_bucket": "com-stitchdata-prod-platform-oauth-creds",
      "start_date": "2018-01-09T19:15:49Z",
      "cron_expression": null,
      "image_version": "1.latest"
    },
    "updated_at": "2019-05-24T16:21:57Z",
    "schedule": null,
    "name": "xero",
    "type": "platform.xero",
    "deleted_at": null,
    "system_paused_at": null,
    "stitch_client_id": 116078,
    "paused_at": "2019-01-22T18:04:48Z",
    "id": 120407,
    "display_name": "Xero",
    "created_at": "2019-01-09T19:16:03Z",
    "report_card": {
      "type": "platform.xero",
      "current_step": 4,
      "current_step_type": "field_selection",
      "steps": [
        {
          "type": "form",
          "properties": [
            {
              "name": "anchor_time",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "format": "date-time"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "cron_expression",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": null,
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "frequency_in_minutes",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "image_version",
              "is_required": true,
              "is_credential": false,
              "system_provided": true,
              "property_type": "read_only",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "start_date",
              "is_required": true,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
              },
              "provided": true,
              "tap_mutable": false
            }
          ]
        },
        {
          "type": "oauth",
          "properties": [
            {
              "name": "consumer_key",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "consumer_secret",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "oauth_s3_bucket",
              "is_required": true,
              "is_credential": false,
              "system_provided": true,
              "property_type": "read_only",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "oauth_s3_path",
              "is_required": true,
              "is_credential": false,
              "system_provided": true,
              "property_type": "read_only",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "oauth_session_handle",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "oauth_token",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "oauth_token_secret",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "organization_name",
              "is_required": false,
              "is_credential": false,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "rsa_key",
              "is_required": true,
              "is_credential": true,
              "system_provided": true,
              "property_type": "system_provided_by_default",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "user_agent",
              "is_required": true,
              "is_credential": false,
              "system_provided": true,
              "property_type": "read_only",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            }
          ]
        },
        {
          "type": "discover_schema",
          "properties": []
        },
        {
          "type": "field_selection",
          "properties": []
        },
        {
          "type": "fully_configured",
          "properties": []
        }
      ]
    }
  },
  {
    "properties": {
      "ssl": "true",
      "anchor_time": "2019-01-10T19:39:17.724Z",
      "frequency_in_minutes": "60",
      "port": "5432",
      "dbname": "demni2mf59dt10",
      "host": "<HOST>",
      "product": "pipeline",
      "cron_expression": null,
      "image_version": "0.latest",
      "user": "nxucqufdolmwxr"
    },
    "updated_at": "2019-05-24T19:54:43Z",
    "schedule": null,
    "name": "heroku",
    "type": "platform.heroku_pg",
    "deleted_at": "2019-05-24T19:54:43Z",
    "system_paused_at": null,
    "stitch_client_id": 116078,
    "paused_at": null,
    "id": 120643,
    "display_name": "Heroku",
    "created_at": "2019-01-10T19:36:13Z",
    "report_card": {
      "type": "platform.heroku_pg",
      "current_step": 4,
      "current_step_type": "fully_configured",
      "steps": [
        {
          "type": "form",
          "properties": [
            {
              "name": "anchor_time",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "format": "date-time"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "cron_expression",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": null,
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "dbname",
              "is_required": true,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "default_replication_method",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^(true|false)$"
              },
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "filter_dbs",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string"
              },
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "frequency_in_minutes",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "host",
              "is_required": true,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "anyOf": [
                  {
                    "format": "hostname"
                  },
                  {
                    "format": "ipv4"
                  }
                ]
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "image_version",
              "is_required": true,
              "is_credential": false,
              "system_provided": true,
              "property_type": "read_only",
              "json_schema": null,
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "include_schemas_in_destination_stream_name",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string"
              },
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "itersize",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^\\d+"
              },
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "password",
              "is_required": true,
              "is_credential": true,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "port",
              "is_required": true,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "integer"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "ssh",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^(true|false)$"
              },
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "ssh_host",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "anyOf": [
                  {
                    "format": "hostname"
                  },
                  {
                    "format": "ipv4"
                  }
                ]
              },
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "ssh_port",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^\\d+"
              },
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "ssh_user",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string"
              },
              "provided": false,
              "tap_mutable": false
            },
            {
              "name": "ssl",
              "is_required": false,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string",
                "pattern": "^(true|false)$"
              },
              "provided": true,
              "tap_mutable": false
            },
            {
              "name": "user",
              "is_required": true,
              "is_credential": false,
              "system_provided": false,
              "property_type": "user_provided",
              "json_schema": {
                "type": "string"
              },
              "provided": true,
              "tap_mutable": false
            }
          ]
        },
        {
          "type": "discover_schema",
          "properties": []
        },
        {
          "type": "field_selection",
          "properties": []
        },
        {
          "type": "fully_configured",
          "properties": []
        }
      ]
    }
  }

DELETE

Delete a source

Deletes an existing data source.

Resource List
Request Method

DELETE

Resource URL

/v4/sources/{source_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source to be deleted.

Returns

If successful, the API will return a status of 200 OK and a Source object with a report_card property. The deleted_at attribute will be populated.

curl -X DELETE https://api.stitchdata.com/v4/sources/86741
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
{
   "properties":{
      "anchor_time":"2019-01-30T18:16:37.205Z",
      "cron_expression":null,
      "frequency_in_minutes":"30",
      "image_version":"1.latest",
      "product":"pipeline",
      "shop":"stitchdatawearhouse",
      "start_date":"2017-01-01T00:00:00Z"
   },
   "updated_at":"2019-05-28T13:52:23Z",
   "schedule":null,
   "name":"shopify",
   "type":"platform.shopify",
   "deleted_at":"2019-05-28T13:52:23Z",
   "system_paused_at":null,
   "stitch_client_id":116078,
   "paused_at":null,
   "id":86741,
   "display_name":"Shopify",
   "created_at":"2019-01-10T19:38:18Z",
   "report_card":{
      "type":"platform.shopify",
      "current_step":1,
      "current_step_type":"fully_configured",
      "steps":[
         {
            "type":"form",
            "properties":[
               {
                  "name":"anchor_time",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "format":"date-time"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"cron_expression",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":null,
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"date_window_size",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"integer"
                  },
                  "provided":false,
                  "tap_mutable":false
               },
               {
                  "name":"frequency_in_minutes",
                  "is_required":false,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^1$|^30$|^60$|^360$|^720$|^1440$"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"image_version",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":true,
                  "property_type":"read_only",
                  "json_schema":null,
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"shop",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":true,
                  "tap_mutable":false
               },
               {
                  "name":"start_date",
                  "is_required":true,
                  "is_credential":false,
                  "system_provided":false,
                  "property_type":"user_provided",
                  "json_schema":{
                     "type":"string",
                     "pattern":"^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
                  },
                  "provided":true,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"oauth",
            "properties":[
               {
                  "name":"api_key",
                  "is_required":true,
                  "is_credential":true,
                  "system_provided":true,
                  "property_type":"system_provided_by_default",
                  "json_schema":{
                     "type":"string"
                  },
                  "provided":false,
                  "tap_mutable":false
               }
            ]
         },
         {
            "type":"discover_schema",
            "properties":[

            ]
         },
         {
            "type":"field_selection",
            "properties":[

            ]
         },
         {
            "type":"fully_configured",
            "properties":[

            ]
         }
      ]
   }
}
Code Condition Response Body
400

Invalid source ID

{
   "error":"InvalidId",
   "data":{
      "message":"source not found (<SOURCE_ID>)"
   }
}


Connection Checks

OBJECT Connection Check Object

A Connection Check object shows the results from a test of a connection’s parameters. This is a test performed by Stitch that checks the configuration of a source’s connection parameters. The nature of the test varies by connection type.

GET Retrieve a source's last connection check

Retrieves the last connection check for a source by the source’s unique identifier.


OBJECT

The Connection Check Object

A Connection Check object shows the results from a test of a connection’s parameters. This is a test performed by Stitch that checks the configuration of a source’s connection parameters. The nature of the test varies by connection type.

name
STRING

The name of the connection check job.

mode
STRING

This value will always be check.

status
STRING

The status of the connection check job. Possible values are:

  • running
  • succeeded
  • failed
start_time
TIMESTAMP

The date and time the connection check job started.

completion_time
TIMESTAMP

The date and time the connection check job was completed.

error
BOOLEAN

Indicates if the connection check job resulted in an error. This will be true if any of the exit_status properties are non-zero.

check_exit_status
INTEGER

The exit status of the connection check job. Possible values are:

  • null - The connection check job is still running
  • 0 - The connection check job was successful
  • 1 - The connection check job was unsuccessful
discovery_exit_status
INTEGER

The exit status of the discovery portion of the connection check job. Possible values are:

  • null - Job is still running
  • 0 - Job was successful
  • Any non-zero value - Discovery failed
discovery_error_message
STRING

Exception message raised when discovery failed during the connection check job. If successful, this will be null.

tap_exit_status
INTEGER

The exit status of the tap. Possible values are:

  • null - Tap is still running
  • 0 - Tap was successful
  • Any non-zero value - Tap failed
tap_error_message
STRING

Exception message raised when extraction failed during the job. If successful, this will be null.

target_exit_status
INTEGER

The exit status of the target portion of the connection check job. Possible values are:

  • null - Target is still running
  • 0 - Target was successful
  • Any non-zero value - Target failed
target_error_message
STRING

This value will always be null.


GET

Retrieve a source's last connection check

Retrieves the last connection check for a source by the source’s unique identifier.

Resource List
Request Method

GET

Resource URL

/v4/sources/{source_id}/last-connection-check

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source.

Returns

If successful, the API will return a status of 200 OK and a single Connection Check object.

curl -X GET https://api.stitchdata.com/v4/sources/86741/last-connection-check
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"

In progress connection check:

{
  "target_exit_status": null,
  "tap_error_message": null,
  "check_exit_status": null,
  "name":"116078.120645.check.7bc049a4-18cf-11e9-a502-0e61abdd375a",
  "start_time":"2018-10-08T18:12:34Z",
  "mode":"check",
  "tap_exit_status": null,
  "target_error_message":null,
  "discovery_exit_status": null,
  “status”: “running”,
  "completion_time": null,
  "error":false,
  "discovery_error_message":null
}

Successful connection check:

{
  "target_exit_status": null,
  "tap_error_message": null,
  "check_exit_status": 0,
  "name": "116078.122635.check.c5e705e2-1b62-11e9-b0e4-0e61abdd375a",
  "start_time": "2019-01-18T20:51:05Z",
  "mode": "check",
  "tap_exit_status": null,
  "target_error_message": null,
  "discovery_exit_status": 0,
  "status": "succeeded",
  "completion_time": "2019-01-18T20:51:07Z",
  "error": false,
  "discovery_error_message": null
}

Failed connection check:

{
  "target_exit_status": null,
  "tap_error_message": null,
  "check_exit_status": null,
  "name":"116078.120645.check.7bc049a4-18cf-11e9-a502-0e61abdd375a",
  "start_time":"2018-10-08T18:12:34Z",
  "mode":"check",
  "tap_exit_status": null,
  "target_error_message":null,
  "discovery_exit_status": null,
  “status”: “running”,
  "completion_time": null,
  "error":false,
  "discovery_error_message":null
}


Streams

OBJECT Stream Object

An object representing a table in a data source.

GET List streams for a source

Lists the available streams for a source.

GET Retrieve a stream's schema

Retrieves the schema for a source’s stream by the source and stream’s unique identifiers.

PUT Update a stream's metadata

Updates the metadata for streams and fields. This endpoint is used to define the metadata properties returned in the Stream Schema object’s non-discoverable-metadata-keys property.


OBJECT

The Stream Object

An object representing a table in a data source.

stream_id
INTEGER

The stream ID.

selected
BOOLEAN

Indicates if the stream is selected for replication. Possible values are:

  • null - Only present if a stream has never been selected. Otherwise, this value will be true if selected, and false if de-selected.
  • true - The stream is selected and data will be replicated for all selected fields
  • false - The stream is not selected and data for this stream will not be replicated
stream_name
STRING

The name of the stream. This value may not be unique. For example: A database with multiple schemas can have the same stream name in multiple schemas.

tap_stream_id
STRING

The unique version of the stream name.

For database sources, this value will be the database name, schema name, and table name, combined.

metadata
OBJECT (STREAM LEVEL METADATA)

Details about the stream including its selection status, replication details, and key properties.


GET

List streams for a source

Lists the available streams for a source.

Resource List
Request Method

GET

Resource URL

/v4/sources/{source_id}/streams

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source containing the streams.

Returns

If successful, the API will return a status of 200 OK and an array of Stream objects, one for each available stream in the source.

curl -X GET https://api.stitchdata.com/v4/sources/120643/streams
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"

Database source:

[
  {
    "selected": null,
    "stream_id": 2289176,
    "tap_stream_id": "demni2mf59dt10-heroku-orders",
    "stream_name": "orders",
    "metadata": {
      "database-name": "demni2mf59dt10",
      "selected": null,
      "is-view": false,
      "row-count": 447,
      "schema-name": "heroku",
      "table-key-properties": [
        "id"
      ]
    }
  },
  {
    "selected": null,
    "stream_id": 2343457,
    "tap_stream_id": "demni2mf59dt10-public-customers",
    "stream_name": "customers",
    "metadata": {
      "database-name": "demni2mf59dt10",
      "selected": null,
      "is-view": false,
      "row-count": 0,
      "schema-name": "public",
      "table-key-properties": [
        "id"
      ]
    }
  },
  {
    "selected": true,
    "stream_id": 2288740,
    "tap_stream_id": "demni2mf59dt10-public-zapier_table",
    "stream_name": "addresses",
    "metadata": {
      "database-name": "demni2mf59dt10",
      "selected": true,
      "is-view": false,
      "replication-method": "FULL_TABLE",
      "row-count": 0,
      "schema-name": "public",
      "table-key-properties": [
        "id"
      ]
    }
  },
  {
    "selected": false,
    "stream_id": 2375830,
    "tap_stream_id": "demni2mf59dt10-public-customer_view",
    "stream_name": "customer_view",
    "metadata": {
      "database-name": "demni2mf59dt10",
      "selected": false,
      "is-view": true,
      "replication-key": "id",
      "replication-method": "INCREMENTAL",
      "row-count": 0,
      "schema-name": "public",
      "table-key-properties": [],
      "view-key-properties": [
        "id"
      ]
    }
  }
]

SaaS source:

[
  {
    "selected": true,
    "stream_id": 2288757,
    "tap_stream_id": "abandoned_checkouts",
    "stream_name": "abandoned_checkouts",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": true,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "updated_at"
      ]
    }
  },
  {
    "selected": true,
    "stream_id": 2288759,
    "tap_stream_id": "collects",
    "stream_name": "collects",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": true,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "updated_at"
      ]
    }
  },
  {
    "selected": null,
    "stream_id": 2288758,
    "tap_stream_id": "custom_collections",
    "stream_name": "custom_collections",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": null,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "updated_at"
      ]
    }
  },
  {
    "selected": null,
    "stream_id": 2288756,
    "tap_stream_id": "customers",
    "stream_name": "customers",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": null,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "updated_at"
      ]
    }
  },
  {
    "selected": null,
    "stream_id": 2288754,
    "tap_stream_id": "metafields",
    "stream_name": "metafields",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": null,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "updated_at"
      ]
    }
  },
  {
    "selected": null,
    "stream_id": 2288751,
    "tap_stream_id": "order_refunds",
    "stream_name": "order_refunds",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": null,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "created_at"
      ]
    }
  },
  {
    "selected": null,
    "stream_id": 2288753,
    "tap_stream_id": "orders",
    "stream_name": "orders",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": null,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "updated_at"
      ]
    }
  },
  {
    "selected": null,
    "stream_id": 2288755,
    "tap_stream_id": "products",
    "stream_name": "products",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": null,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "updated_at"
      ]
    }
  },
  {
    "selected": null,
    "stream_id": 2288752,
    "tap_stream_id": "transactions",
    "stream_name": "transactions",
    "metadata": {
      "forced-replication-method": "INCREMENTAL",
      "selected": null,
      "table-key-properties": [
        "id"
      ],
      "valid-replication-keys": [
        "created_at"
      ]
    }
  }
]

GET

Retrieve a stream's schema

Retrieves the schema for a source’s stream by the source and stream’s unique identifiers.

Resource List
Request Method

GET

Resource URL

/v4/sources/{source_id}/streams/{stream_id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source containing the stream.

stream_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the stream to be retrieved.

Returns

If successful and valid identifiers were provided, the API will return a status of 200 OK and a single Stream Schema Object.

curl -X GET https://api.stitchdata.com/v4/sources/120643/streams/2339248
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
{
  "schema": "{\"properties\":{\"position\":{\"type\":[\"null\",\"integer\"]},\"created_at\":{\"type\":[\"null\",\"string\"],\"format\":\"date-time\"},\"sort_value\":{\"type\":[\"null\",\"string\"]},\"collection_id\":{\"type\":[\"null\",\"integer\"]},\"id\":{\"type\":[\"null\",\"integer\"]},\"product_id\":{\"type\":[\"null\",\"integer\"]},\"updated_at\":{\"type\":[\"null\",\"string\"],\"format\":\"date-time\"},\"featured\":{\"type\":[\"null\",\"boolean\"]}},\"type\":\"object\"}",
  "metadata": [
    {
      "breadcrumb": [],
      "metadata": {
        "forced-replication-method": "INCREMENTAL",
        "selected": true,
        "table-key-properties": [
          "id"
        ],
        "valid-replication-keys": [
          "updated_at"
        ]
      }
    },
    {
      "breadcrumb": [
        "properties",
        "collection_id"
      ],
      "metadata": {
        "inclusion": "available",
        "selected": true
      }
    },
    {
      "breadcrumb": [
        "properties",
        "created_at"
      ],
      "metadata": {
        "inclusion": "available",
        "selected": false
      }
    },
    {
      "breadcrumb": [
        "properties",
        "featured"
      ],
      "metadata": {
        "inclusion": "available",
        "selected": false
      }
    },
    {
      "breadcrumb": [
        "properties",
        "id"
      ],
      "metadata": {
        "inclusion": "automatic",
        "selected": false
      }
    },
    {
      "breadcrumb": [
        "properties",
        "position"
      ],
      "metadata": {
        "inclusion": "available",
        "selected": false
      }
    },
    {
      "breadcrumb": [
        "properties",
        "product_id"
      ],
      "metadata": {
        "inclusion": "available",
        "selected": false
      }
    },
    {
      "breadcrumb": [
        "properties",
        "sort_value"
      ],
      "metadata": {
        "inclusion": "available",
        "selected": false
      }
    },
    {
      "breadcrumb": [
        "properties",
        "updated_at"
      ],
      "metadata": {
        "inclusion": "automatic",
        "selected": false
      }
    }
  ],
  "non-discoverable-metadata-keys": [
    "selected",
    "replication-method",
    "replication-key",
    "view-key-properties"
  ]
}
Code Condition Response Body
400

Invalid stream ID

invalid stream-id: <STREAM_ID>

400

Invalid source ID

invalid stream-id: <STREAM_ID>


PUT

Update a stream's metadata

Updates the metadata for streams and fields. This endpoint is used to define the metadata properties returned in the Stream Schema object’s non-discoverable-metadata-keys property.

Refer to the Select streams and fields guide for instructions on selecting streams and fields.

Resource List
Request Method

PUT

Resource URL

/v4/sources/{source_id}/streams/metadata

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source containing the stream(s).

streams
ARRAY
REQUIRED

An array of Stream objects, with each object corresponding to a stream to be updated.

Each object is required to have the following properties:

tap_stream_id
STRING
REQUIRED

The tap_stream_id of the stream to be updated.

metadata
ARRAY
REQUIRED

An array of Metadata objects with each object corresponding to a field in the stream to be updated. More than one field may be included in a single request.

Each object is required to have the following properties:

breadcrumb
ARRAY
REQUIRED

An array of strings describing a path into the schema:

  • To refer to the stream itself, this value should be [], or an empty array. The associated metadata object should include modifable Stream-level Metadata object properties.

  • To refer to a specific field, the value should be ["properties", "<FIELD_NAME>"], where <FIELD_NAME> represents the name of an included field. For example: ["properties", "first_name"] refers to a field named first_name. The associated metadata object should include modifable Field-level Metadata object properties.

Note: To select fields, the stream must also be selected. To select a stream, one metadata object for the stream should have a breadcrumb that is an empty array ([]). this is only required to initially select the stream. See the Request tab below for an example.

metadata
OBJECT
REQUIRED

The properties in the stream’s Stream Schema object non-discoverable-metadata-keys property:

Returns

If successful, the API will return a status of 200 OK and a JSON body of:

{
  "status": 200
}

Selecting a single stream:

curl -X PUT https://api.stitchdata.com/v4/sources/120645/streams/metadata
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "streams": [
             {
               "tap_stream_id": "custom_collections",
               "metadata": [
                 {
                   "breadcrumb": [],
                   "metadata": {
                     "selected": "true"
                   }
                 }
               ]
             }
           ]
         }"

Selecting a single stream and multiple fields:

curl -X PUT https://api.stitchdata.com/v4/sources/120645/streams/metadata
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "streams": [
             {
               "tap_stream_id": "custom_collections",
               "metadata": [
                 {
                   "breadcrumb": [],
                   "metadata": {
                     "selected": true
                   }
                 },
                 {
                   "breadcrumb": [
                     "properties",
                     "title"
                   ],
                   "metadata": {
                     "selected": true
                   }
                 },
                 {
                   "breadcrumb": [
                     "properties",
                     "published_at"
                   ],
                   "metadata": {
                     "selected": true
                   }
                 }
               ]
             }
           ]
         }"

Selecting multiple streams and fields:

curl -X PUT https://api.stitchdata.com/v4/sources/120645/streams/metadata
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "streams": [
              {
                "tap_stream_id": "custom_collections",
                "metadata": [
                  {
                    "breadcrumb": [],
                    "metadata": {
                      "selected": true
                    }
                  },
                  {
                    "breadcrumb": [
                      "properties",
                      "title"
                    ],
                    "metadata": {
                      "selected": true
                    }
                  },
                  {
                    "breadcrumb": [
                      "properties",
                      "published_at"
                    ],
                    "metadata": {
                      "selected": true
                    }
                  }
                ]
              },
              {
                "tap_stream_id": "customers",
                "metadata": [
                  {
                    "breadcrumb": [],
                    "metadata": {
                      "selected": true
                    }
                  },
                  {
                    "breadcrumb": [
                      "properties",
                      "first_name"
                    ],
                    "metadata": {
                      "selected": true
                    }
                  },
                  {
                    "breadcrumb": [
                      "properties",
                      "last_name"
                    ],
                    "metadata": {
                      "selected": true
                    }
                  }
                ]
              }
            ]
          }'

Selecting a database table and defining replication:

curl -X PUT https://api.stitchdata.com/v4/sources/120645/streams/metadata
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "streams": [
             {
               "tap_stream_id": "demni2mf59dt10-public-customers",
               "metadata": [
                 {
                   "breadcrumb": [],
                   "metadata": {
                     "selected": true,
                     "replication-method": "INCREMENTAL",
                     "replication-key": "updated_at"
                   }
                 },
                 {
                   "breadcrumb": [
                     "properties",
                     "name"
                   ],
                   "metadata": {
                     "selected": true
                   }
                 },
                 {
                   "breadcrumb": [
                     "properties",
                     "has_magic"
                   ],
                   "metadata": {
                     "selected": true
                   }
                 }
               ]
             }
           ]
         }"

Selecting a database view and defining replication:

curl -X PUT https://api.stitchdata.com/v4/sources/120645/streams/metadata
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "streams": [
               {
                 "tap_stream_id": "demni2mf59dt10-public-customer_view",
                 "metadata": [
                   {
                     "breadcrumb": [],
                     "metadata": {
                       "replication-key": "updated_at",
                       "view-key-properties": [
                         "id"
                       ],
                       "replication-method": "INCREMENTAL",
                       "selected": true
                     }
                   },
                   {
                     "breadcrumb": [
                       "properties",
                       "name"
                     ],
                     "metadata": {
                       "selected": true
                     }
                   },
                   {
                     "breadcrumb": [
                       "properties",
                       "has_magic"
                     ],
                     "metadata": {
                       "selected": true
                     }
                   }
                 ]
               }
             ]
           }"

Applicable to all requests:

{
  "status": 200
}
Code Condition Response Body
400

Missing tap_stream_id

{  
   "invalid_fields":"invalid tap-stream-ids:  [nil]"
}
400

Invalid tap_stream_id

{  
   "invalid_fields":"invalid tap-stream-ids:  [<INVALID_TAP_STREAM_ID>]"
}
400

Request body includes read-only properties

{
  "invalid_fields": "only non-discoverable metadata can be produced by the UI: #{\"<PROPERTY_NAME>\"}"
}
400

Request body includes unsupported fields

{
  "invalid_fields": "Unsupported fields cannot be selected by default"}"
}
400

Request body is missing streams, breadcrumb, and/or metadata properties

"body must contain a 'streams' property with a list of metadatas by tap_stream_id"



Replication Jobs

OBJECT Replication Job Object

The three-step process by which Stitch replicates data. A replication job includes three distinct steps: Extraction, preparation, and loading.

POST Start a replication job
DELETE Stop a replication job

OBJECT

The Replication Job Object

The three-step process by which Stitch replicates data. A replication job includes three distinct steps: Extraction, preparation, and loading.

job_name
STRING

A unique identifier for the replication job.


POST

Start a replication job

Manually starts a replication job for a source using the source’s unique identifier. Manual replication jobs can be started for active and paused sources.

Note: Stitch allows only one replication job to run at a time. Attempting to start a job when another is in progress will return a status of 200 OK and a single error object. See the Responses tab below for an example.

Resource List
Request Method

POST

Resource URL

/v4/sources/{source_id}/sync

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source.

Returns

If successful, the API will return a status of 200 OK and single Replication Job object.

Note: Stitch allows only one replication job to run at a time. Attempting to start a job when another is in progress will return a status of 200 OK and a single error object.

curl -X POST https://api.stitchdata.com/v4/sources/120643/sync
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"

Replication job successfully started:

{
"job_name": "116078.120643.sync.c12fb0a7-7e4a-11e9-abdc-0edc2c318fba"
}

Replication not started; another job is in progress:

{
  "error": {
    "type": "already_running",
    "message": "Did not create job for client-id: <CLIENT_ID>; connection-id: <SOURCE_ID> because one already exists"
  }
}
Code Condition Response Body
200

Replication job is already in progress

{
  "error": {
    "type": "already_running",
    "message": "Did not create job for client-id: <CLIENT_ID>; connection-id: <SOURCE_ID> because one already exists"
  }
}
400

Invalid source ID

{
  "error": {
    "type": "invalid_source",
    "message": "Unable to locate source(<SOURCE_ID>) for client (<CLIENT_ID>)"
  }
}
400

Source has been deleted

{
  "error": {
    "type": "invalid_source",
    "message": "Integration is deleted."
  }
}

DELETE

Stop a replication job

Manually stops an in-progress replication job for a source using the source’s unique identifier.

Resource List
Request Method

DELETE

Resource URL

/v4/sources/{source_id}/sync

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

source_id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the source.

Returns

If successful, the API will return a status of 200 OK and an object with a status property with a value of 200.

curl -X DELETE https://api.stitchdata.com/v4/sources/120643/sync
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
{
  "status": 200
}


Notifications

OBJECT Notification Object

An object representing a notification configuration in Stitch. This applies to the Custom email notification list and Post-load hook features.

POST Create a custom email

Creates a custom email notification recipient.

PUT Disable a custom email

Disables (pauses) an existing custom email notification recipient.

PUT Re-enable a custom email

Re-enables (unpauses) an existing custom email notification recipient.

GET List custom emails

Retrieves a list of all custom email notification recipients for a Stitch account.

DELETE Delete a custom email

Deletes an existing custom email notification recipient.

POST Create a webhook

Creates a hook notification.

PUT Disable a webhook

Disables an existing hook notification.

PUT Re-enable a webhook

Re-enables a disabled hook notification.

GET List webhooks

Retrieves a list of all hook notifications for a Stitch account.

DELETE Delete a webhook

Deletes an existing hook notification.


OBJECT

The Notification Object

An object representing a notification configuration in Stitch. This applies to the Custom email notification list and Post-load hook features.

id
INTEGER

The notification ID.

client_id
INTEGER

The ID of the Stitch client account.

created_at
DATE-TIME

The time at which the notification was created.

modified_at
DATE-TIME

The time at which the notification was last modified.

disabled_at
DATE-TIME

The time at which the notification was disabled. This will be null unless the notification has been disabled.

email_address
STRING

Applicable to custom email notifications only. The email address of the custom notification recipient.

version
INTEGER

Applicable to custom email notifications only. The version of the hook service the notification is using.

type
STRING

Applicable to hook notifications only. The type of the notification.

config
OBJECT

Applicable to hook notifications only. The configuration for the hook.

url
STRING

Applicable to hook notifications only. The webhook URL that Stitch should deliver hook notifications to.


POST

Create a custom email

Creates a custom email notification recipient.

Note: To use this endpoint, your Stitch plan must include access to the Custom notification list feature.

Resource List
Request Method

POST

Resource URL

/notifications/public/v1/api/custom-emails

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

email_address
STRING
REQUIRED

The email address that custom email notifications should be sent to.

Returns

If successful, the API will return a status of 200 OK and a single Custom Email Notification object.

curl -X POST https://api.stitchdata.com/notifications/public/v1/api/custom-emails
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "email_address": "stitch-custom-notification@yourdomain.com"
         }"
{
  "id": 22,
  "client_id": 116078,
  "email_address": "stitch-custom-notification@yourdomain.com",
  "created_at": "2019-07-16T19:49:51Z",
  "disabled_at": null
}
Code Condition Response Body
400

email_address property is missing or invalid

{
  "error": {
    "message": {
      "email_address": "Required. Must be valid email address format."
    }
  }
}
400

Account has reached the maximum number of allowed custom emails. The current limit is 10.

{
  "error": {
    "message": "Account not authorized to create additional custom notification email addresses."
  }
}
400

Account doesn’t have access to the Custom notification list feature

{
  "error": {
    "message": "Account not authorized to create custom notification email addresses."
  }
}

PUT

Disable a custom email

Disables (pauses) an existing custom email notification recipient.

Note: To use this endpoint, your Stitch plan must include access to the Custom notification list feature.

Resource List
Request Method

PUT

Resource URL

/notifications/public/v1/api/custom-emails/{id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the custom notification recipient to be paused.

disabled_at
TIMESTAMP
REQUIRED

The time the custom notification was paused. This field must contain an ISO 8601-compliant date.

Note: Providing any value - past, present, or future - for this property will pause the custom notification recipient immediately if the request is successful.

Returns

If successful, the API will return a status of 200 OK and single object with a disabled_at property.

curl -X PUT https://api.stitchdata.com/notifications/public/v1/api/custom-emails/22
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "disabled_at": "2019-06-01T00:00:00Z"
         }"
{
  "disabled_at": "2019-06-01T00:00:00Z"
}
Code Condition Response Body
400

disabled_at property is missing or invalid

{
  "disabled_at": "<INVALID_VALUE>"
}
404

Notification ID is missing or invalid

{
  "status": "NOT FOUND"
}

PUT

Re-enable a custom email

Re-enables (unpauses) an existing custom email notification recipient.

Note: To use this endpoint, your Stitch plan must include access to the Custom notification list feature.

Resource List
Request Method

PUT

Resource URL

/notifications/public/v1/api/custom-emails/{id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the custom notification recipient to be re-enabled.

disabled_at
NULL
REQUIRED

To re-enable a custom notification recipient, this value must be null.

Returns

If successful, the API will return a status of 200 OK and single object with a disabled_at property with a null value.

curl -X PUT https://api.stitchdata.com/notifications/public/v1/api/custom-emails/22
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "disabled_at": null
         }"
{
  "disabled_at": null
}
Code Condition Response Body
400

disabled_at property is missing or invalid

{
  "disabled_at": "<INVALID_VALUE>"
}
404

Notification ID is missing or invalid

{
  "status": "NOT FOUND"
}

GET

List custom emails

Retrieves a list of all custom email notification recipients for a Stitch account. This includes custom notification recipients that have been disabled.

Note: To use this endpoint, your Stitch plan must include access to the Custom notification list feature.

Resource List
Request Method

GET

Resource URL

/notifications/public/v1/api/custom-emails

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Returns

If successful, the API will return a status of 200 OK and an array of Custom Email Notification objects, one for each custom notification recipient.

curl -X GET https://api.stitchdata.com/notifications/public/v1/api/custom-emails
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
[
  {
    "id": 22,
    "client_id": 116078,
    "email_address": "stitch-custom-notification@stitchdata.com",
    "created_at": "2019-07-16T19:49:51Z",
    "disabled_at": null
  },
  {
    "id": 23,
    "client_id": 116078,
    "email_address": "another-custom-notification@stitchdata.com",
    "created_at": "2019-07-16T20:43:51Z",
    "disabled_at": null
  }
]

DELETE

Delete a custom email

Deletes an existing custom email notification recipient.

Note: To use this endpoint, your Stitch plan must include access to the Custom notification list feature.

Resource List
Request Method

DELETE

Resource URL

/notifications/public/v1/api/custom-emails/{id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the custom notification recipient to be deleted.

Returns

If successful, the API will return a status of 200 OK and an array containing 1, indicating that one custom notification recipient was successfully deleted.

curl -X DELETE https://api.stitchdata.com/notifications/public/v1/api/custom-emails/22
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
[
  1
]

POST

Create a webhook

Creates a hook notification.

Note: To use this endpoint, your Stitch plan must include access to the Post-load hooks feature.

Resource List
Request Method

POST

Resource URL

/notifications/public/v1/api/hooks

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

type
STRING
REQUIRED

The type of hook notification to be created. This must be post_load.

config
OBJECT
REQUIRED

The configuration details of the hook.

Returns

If successful, the API will return a status of 200 OK and a single Hook notification object.

curl -X POST https://api.stitchdata.com/notifications/public/v1/api/hooks
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "type":"post_load",
           "config":{  
              "url":"https://hooks.zapier.com/hooks/catch/some/webhook/id"
           }
         }"
{
  "id": 8,
  "client_id": 116078,
  "type": "post_load",
  "version": 1,
  "config": {
    "url": "https://hooks.zapier.com/hooks/catch/some/webhook/id"
  },
  "created_at": "2019-07-17T17:30:37Z",
  "modified_at": "2019-07-17T17:30:37Z",
  "disabled_at": null
}
Code Condition Response Body
400

Missing or prohibited arguments

{
  "data": {
    "message": "Invalid POST body"
  },
  "error": "InvalidBody"
}
400

Account doesn’t have access to the Hook notification feature

{
  "error": {
    "message": "Client does not have access to hooks."
  }
}
400

Account has reached the maximum number of allowed hook notifications. The current limit is 10.

{
  "error": {
    "message": "You have exceeded the limit of [LIMIT] hooks."
  }
}

PUT

Disable a webhook

Disables an existing hook notification.

Note: To use this endpoint, your Stitch plan must include access to the Post-load hooks feature.

Resource List
Request Method

PUT

Resource URL

/notifications/public/v1/api/hooks/{id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the hook notification to be paused.

enable
BOOLEAN
REQUIRED

Controls whether a hook notification is active or not. To disable a hook, this value must be false.

Returns

If successful, the API will return a status of 200 OK and a single Hook notification object with a populated disabled_at property.

curl -X PUT https://api.stitchdata.com/notifications/public/v1/api/hooks/8
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "enable":false
         }"
{
  "id": 8,
  "client_id": 116078,
  "type": "post_load",
  "version": 1,
  "config": {
    "url": "https://hooks.zapier.com/hooks/catch/some/webhook/id"
  },
  "created_at": "2019-07-16T16:47:54Z",
  "modified_at": "2019-07-17T16:04:29Z",
  "disabled_at": "2019-07-17T16:04:29Z"
}
Code Condition Response Body
400

Missing or incorrectly typed boolean argument, or prohibited arguments

{
  "data": {
    "message": "PUT body must only contain boolean 'enable' key"
  },
  "error": "InvalidBody"
}

PUT

Re-enable a webhook

Re-enables a disabled hook notification.

Note: To use this endpoint, your Stitch plan must include access to the Post-load hooks feature.

Resource List
Request Method

PUT

Resource URL

/notifications/public/v1/api/hooks/{id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the hook notification to be re-enabled.

enable
BOOLEAN
REQUIRED

Controls whether a hook notification is active or not. To re-enable a hook, this value must be true.

Returns

If successful, the API will return a status of 200 OK and a single Hook notification object with a null disabled_at property.

curl -X PUT https://api.stitchdata.com/notifications/public/v1/api/hooks/8
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
     -d "{
           "enable":true
         }"
{
  "id": 8,
  "client_id": 116078,
  "type": "post_load",
  "version": 1,
  "config": {
    "url": "https://hooks.zapier.com/hooks/catch/some/webhook/id"
  },
  "created_at": "2019-07-16T16:47:54Z",
  "modified_at": "2019-07-17T16:04:29Z",
  "disabled_at": null
}
Code Condition Response Body
400

Missing or incorrectly typed boolean argument, or prohibited arguments

{
  "data": {
    "message": "PUT body must only contain boolean 'enable' key"
  },
  "error": "InvalidBody"
}

GET

List webhooks

Retrieves a list of all hook notifications for a Stitch account. This includes hooks that have been disabled.

Note: To use this endpoint, your Stitch plan must include access to the Post-load hooks feature.

Resource List
Request Method

GET

Resource URL

/notifications/public/v1/api/hooks

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Returns

If successful, the API will return a status of 200 OK and a post_load property containing an array of Hook Notification objects, one for each hook notification in the Stitch account.

curl -X GET https://api.stitchdata.com/notifications/public/v1/api/hooks
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
{
  "post_load": [
    {
      "id": 8,
      "client_id": 116078,
      "type": "post_load",
      "version": 1,
      "config": {
        "url": "https://hooks.zapier.com/hooks/catch/some/webhook/id"
      },
      "created_at": "2019-07-16T16:47:54Z",
      "modified_at": "2019-07-16T16:47:54Z",
      "disabled_at": null
    },
    {
      "id": 9,
      "client_id": 116078,
      "type": "post_load",
      "version": 1,
      "config": {
        "url": "https://hooks.zapier.com/hooks/catch/some/webhook/id"
      },
      "created_at": "2019-07-16T16:51:20Z",
      "modified_at": "2019-07-16T16:51:20Z",
      "disabled_at": null
    },
    {
      "id": 10,
      "client_id": 116078,
      "type": "post_load",
      "version": 1,
      "config": {
        "url": "https://hooks.zapier.com/hooks/catch/some/webhook/id"
      },
      "created_at": "2019-07-17T15:54:25Z",
      "modified_at": "2019-07-18T15:36:53Z",
      "disabled_at": "2019-07-18T15:36:53Z"
    }
  ]
}

DELETE

Delete a webhook

Deletes an existing hook notification.

Note: To use this endpoint, your Stitch plan must include access to the Post-load hooks feature.

Resource List
Request Method

DELETE

Resource URL

/notifications/public/v1/api/hooks/{id}

Authorization

Required. The request header must contain Authorization and your access token.

Request Header

The request header must contain the following:

  • Authorization: Must specify Bearer Auth, e.g. Bearer: <ACCESS_TOKEN>
  • Content-Type: Must specify JSON, e.g. application/json

See the Request tab below for an example request.

Request Body

The request body must be valid JSON and contain the required arguments.

Response Format

Whether the request succeeds or fails, the API will return JSON.

Arguments

This endpoint accepts the following parameters:

id
PATH PARAMETER
REQUIRED

A path parameter corresponding to the unique ID of the hook notification to be deleted.

Returns

If successful, the API will return a status of 200 OK and a null body.

curl -X DELETE https://api.stitchdata.com/notifications/public/v1/api/hooks/8
     -H "Authorization: Bearer <ACCESS_TOKEN>" 
     -H "Content-Type: application/json"
null
Code Condition Response Body
400

Invalid hook notification ID

{
  "error": "NotFound"
}

Data Structures

OBJECT Connection Step

Contained in a Source or Destination Report Card object, the Connection Steps object contains the steps necessary to configure a data source or destination.

OBJECT Details

Contained in a Source or Destination Report Card object, the Details object contains information about a connection type’s availability within Stitch.

Note: This object will only be returned when using a GET method.

OBJECT Metadata

A Metadata object describes a stream’s schema and the current state of its configuration in Stitch, including its selection status, field inclusion list, Primary Keys, and Replication Method.

Refer to the Select streams and fields guide for instructions on selecting streams and fields.

OBJECT Custom Email Notification

A Custom Email Notification object contains information about an email address configured in the account’s Custom Notification list.

OBJECT Hook Notification

A Hook Notification object contains information about a webhook configured in the account’s Post-load hook list.

OBJECT Properties

A Properties object contains the properties necessary to complete a connection step. Returned within a Source or Destination object, these properties provide information about the configuration status of the connection.

OBJECT Destination Report Card

A Destination Report Card object contains information about a destination’s connection configuration.

OBJECT Source Report Card

A Source Report Card object contains information about a source’s connection configuration.

OBJECT Stream Schema

A Stream Schema object contains information needed to select a stream and its fields for replication.


OBJECT

The Connection Step Object

Contained in a Source or Destination Report Card object, the Connection Steps object contains the steps necessary to configure a data source or destination.

type
STRING

The type of step. Possible values are:

  • form - The first step in every source’s creation.
  • oauth - If required, the OAuth step for the source’s creation.
  • profile - If required, the profile selection step. For example: Selecting a Facebook Ads profile.
  • discover_schema - The step in which Stitch performs a structure sync to detect the tables and attributes available in the source.
  • field_selection - The step in which tables and columns are selected for replication.
  • fully_configured - Achieved when the source has a successful connection and field_selection is complete.
properties
ARRAY

An array of Properties objects.

Example Object

{  
   "report_card":{  
      "type":"platform.hubspot",
      "current_step":2,
      "steps":[  
         {  
            "type":"form",
            "properties":[]
         },
         {  
            "type":"oauth",
            "properties":[]
         },
         {  
            "type":"discover_schema",
            "properties":[]
         },
         {  
            "type":"field_selection",
            "properties":[]
         },
         {  
            "type":"fully_configured",
            "properties":[]
         }
      ]
   }
}

OBJECT

The Details Object

Contained in a Source or Destination Report Card object, the Details object contains information about a connection type’s availability within Stitch.

Note: This object will only be returned when using a GET method.

access
BOOLEAN

Indicates whether the Stitch client who made the request has access to the connection.

This value is based on the connection’s pricing_tier and pipeline_state. If the Stitch client is using a plan that doesn’t meet the pricing_tier requirement, the access value will be false. For example: If pricing_tier: enterprise,the Stitch client must be on an Enterprise plan to access the source.

All connections with a pipeline_state value of deprecated will also have an access value of false.

default_scheduling_interval
INTEGER

Applicable only to source report cards. The default frequency_in_minutes value for the source.

pricing_tier
STRING

Indicates the type of Stitch plan required to use the connection. Possible values are:

  • standard - Any Stitch plan can use the connection.
  • premium - A paid Stitch plan is required to use the connection.
  • enterprise - An Enterprise Stitch plan is required to use the connection.
default_start_date
STRING

Applicable only to source report cards. The default start_date value for the source.

pipeline_state
STRING

The connection type’s release status in Stitch. Possible values are:

  • alpha - The connection is in development and is not available in Stitch.
  • beta - The connection is in open or closed beta and is available in Stitch.
  • released - The connection is in general release and available in Stitch.
  • deprecated - The connection has been deprecated and is no longer available in Stitch.
protocol
STRING

The type of the connection. For example: snowflake or platform.facebook

Example Object

{  
   "details":{  
      "pricing_tier":"standard",
      "pipeline_state":"released",
      "protocol":"snowflake",
      "access":true
   }
}
{
   "details":{
      "pricing_tier":"enterprise",
      "pipeline_state":"released",
      "default_scheduling_interval":60,
      "default_start_date": null,
      "protocol":"platform.oracle",
      "access":false
   }
}

OBJECT

The Metadata Object

A Metadata object describes a stream’s schema and the current state of its configuration in Stitch, including its selection status, field inclusion list, Primary Keys, and Replication Method.

Refer to the Select streams and fields guide for instructions on selecting streams and fields.

breadcrumbs
ARRAY

An array of strings describing a path into the schema. For example:

  • A value of [] refers to the entire schema, or stream
  • A value of ["properties", "<FIELD_NAME>"] refers to the properties.<FIELD_NAME> portion of the schema. For example: ["properties", "id"] would refer to a field named id
metadata
OBJECT

An object containing metadata associated with the breadcrumb. The type of metadata object depends on the breadcrumb:

Example Object

{
   "metadata":[
      {
         "breadcrumb":[],
         "metadata":{
            "database-name":"demni2mf59dt10",
            "is-view":false,
            "row-count":90849,
            "schema-name":"products",
            "table-key-properties":[
               "id"
            ]
         }
      },
      {
         "breadcrumb":[
            "properties",
            "collection_id"
         ],
         "metadata":{
            "inclusion":"available",
            "selected-by-default":true,
            "sql-datatype":"bigint"
         }
      },
      {
         "breadcrumb":[
            "properties",
            "id"
         ],
         "metadata":{
            "inclusion":"automatic",
            "selected-by-default":true,
            "sql-datatype":"bigint"
         }
      },
      {
         "breadcrumb":[
            "properties",
            "updated_at"
         ],
         "metadata":{
            "inclusion":"available",
            "selected-by-default":true,
            "sql-datatype":"timestamp with time zone"
         }
      }
   ]
}
{
   "metadata":[
      {
         "breadcrumb":[],
         "metadata":{
            "forced-replication-method":"INCREMENTAL",
            "selected":true,
            "table-key-properties":[
               "id"
            ],
            "valid-replication-keys":[
               "updated_at"
            ]
         }
      },
      {
         "breadcrumb":[
            "properties",
            "collection_id"
         ],
         "metadata":{
            "inclusion":"available",
            "selected":true
         }
      },
      {
         "breadcrumb":[
            "properties",
            "created_at"
         ],
         "metadata":{
            "inclusion":"available",
            "selected":false
         }
      },
      {
         "breadcrumb":[
            "properties",
            "featured"
         ],
         "metadata":{
            "inclusion":"available",
            "selected":false
         }
      },
      {
         "breadcrumb":[
            "properties",
            "id"
         ],
         "metadata":{
            "inclusion":"automatic",
            "selected":false
         }
      },
      {
         "breadcrumb":[
            "properties",
            "position"
         ],
         "metadata":{
            "inclusion":"available",
            "selected":false
         }
      },
      {
         "breadcrumb":[
            "properties",
            "product_id"
         ],
         "metadata":{
            "inclusion":"available",
            "selected":false
         }
      },
      {
         "breadcrumb":[
            "properties",
            "sort_value"
         ],
         "metadata":{
            "inclusion":"available",
            "selected":false
         }
      },
      {
         "breadcrumb":[
            "properties",
            "updated_at"
         ],
         "metadata":{
            "inclusion":"automatic",
            "selected":false
         }
      }
   ]
}
SUB-OBJECT

The Field-level Metadata Object

Contained in a Metadata object, the Field-level metadata object contains information about a field’s inclusion in a stream’s field selection list.

Refer to the Field selection and compatibility rules guide for info about selection and compatibility rules.

inclusion
STRING

Indicates when a field will be included. Possible values are:

  • automatic - The field is included all the time, regardless of selected-by-default and selected values
  • available - The field is available for selection. The field will be included if selected-by-default or selected is true.
  • unsupported - The field is unsupported and will not be included, regardless of selected-by-default and selected values

If a field is unsupported, the unsupported-description attribute may provide additonal information.

selected
BOOLEAN

Indicates whether a field should be included in a stream’s field selection list. This value will be present only if the stream containing the field is selected (selected: true).

  • null - The value has not been set
  • true - The field is selected
  • false - The field is not selected
selected-by-default
BOOLEAN

Indicates if a field will be selected by default. Possible values are:

  • null - The value has not been set
  • true - The field is selected by default and is included regardless of the selected value
  • false - The field is not selected by default. The field will be included if the selected value is true.
sql-datatype
STRING

For database sources only. The data type of a column from a database.

fieldExclusions
ARRAY

A list of arrays, each array containing an array of strings that correspond to fields that are incompatible when the current field is selected.

For example: If the metadata for a DeviceOS field contains a fieldExclusion of ["properties":"ImpressionLostToBidPercent"], then the DeviceOS and ImpressionLostToBidPercent fields cannot be selected together in the stream.

Refer to the example tabs below for an example of this property.

unsupported-description
STRING

The reason a field is unsupported (inclusion: unsupported). Note: This is not available for all sources.

Example Object

{
  "metadata": {
    "sql-datatype": "double precision",
    "selected-by-default": true,
    "inclusion": "available"
  }
{
  "metadata": {
    "selected": false,
    "inclusion": "available"
  }
{
  "breadcrumb": [
    "properties",
    "DeviceOS"
  ],
  "metadata": {
    "fieldExclusions": [
      [
        "properties",
        "ExactMatchImpressionSharePercent"
      ],
      [
        "properties",
        "ImpressionLostToAdRelevancePercent"
      ],
      [
        "properties",
        "ImpressionLostToBidPercent"
      ],
      [
        "properties",
        "ImpressionLostToBudgetPercent"
      ],
      [
        "properties",
        "ImpressionLostToExpectedCtrPercent"
      ],
      [
        "properties",
        "ImpressionLostToRankPercent"
      ],
      [
        "properties",
        "ImpressionSharePercent"
      ]
    ],
    "inclusion": "available"
  }
}
{
  "metadata": {
    "unsupported-description": "this field is unsupported by the Bulk API.",
    "selected": false,
    "inclusion": "unsupported"
  }
SUB-OBJECT

The Stream-level Metadata Object

Contained in Metadata and Stream objects, the Stream-level Metadata object contains information about a stream’s configuration in Stitch. This includes information about its selection status, Replication Method, Replication Keys, and key properties.

database-name
STRING

For database sources only. The name of the database containing the stream.

forced-replication-method
STRING

Indicates which Replication Method is required for the stream. Possible values are:

is-view
BOOLEAN

For database sources only. Indicates if the stream is a database view.

replication-key
STRING

Indicates the field being used as the stream’s Replication Key.

replication-method
STRING

The Replication Method the stream uses to replicate data. Accepted values are:

row-count
INTEGER

For database sources only. The number of rows (records) in the stream.

schema-name
STRING

For database sources only. The name of the schema containing the stream.

selected
BOOLEAN

Indicates whether a stream should be set to replicate. Accepted values are:

  • true - The stream is selected and data for selected fields will be replicated
  • false - The stream is not selected and no data will be replicated
table-key-properties
ARRAY

An array of strings listing the fields that make up the key properties of the table. These are the table’s defined Primary Keys.

valid-replication-keys
ARRAY

An array of strings indicating the fields valid for use as Replication Keys in Key-based Incremental Replication (replication-method: INCREMENTAL).

Note: For SaaS sources, the fields listed in this array are pre-defined by Stitch and will be used as the Replication Keys for the stream. They cannot be modified.

view-key-properties
ARRAY

For database sources only. An array of strings listing the fields that make up the key properties of the view.

Example Object

{
  "metadata": {
    "database-name": "demni2mf59dt10",
    "selected": true,
    "is-view": false,
    "replication-method": "FULL_TABLE",
    "row-count": 13,
    "schema-name": "public",
    "table-key-properties": [
      "id"
    ]
  }
}
{
  "metadata": {
    "database-name": "demni2mf59dt10",
    "selected": true,
    "replication-method":"INCREMENTAL",
    "replication-key":"updated_at",
    "is-view": true,
    "row-count": 156,
    "schema-name": "heroku",
    "view-key-properties": [
      "customer_id"
    ]
  }
}
{
  "metadata": {
    "forced-replication-method": "INCREMENTAL",
    "selected": true,
    "table-key-properties": [
      "id"
    ],
    "valid-replication-keys": [
      "updated_at"
    ]
  }
}

OBJECT

The Custom Email Notification Object

A Custom Email Notification object contains information about an email address configured in the account’s Custom Notification list.

id
INTEGER

The notification ID.

client_id
INTEGER

The ID of the Stitch client account.

created_at
DATE-TIME

The time at which the notification was created.

modified_at
DATE-TIME

The time at which the notification was last modified.

disabled_at
DATE-TIME

The time at which the notification was disabled. This will be null unless the notification has been disabled.

email_address
STRING

The email address of the custom notification recipient.

Example Object

{
  "id": 21,
  "client_id": 116078,
  "email_address": "stitch-custom-notification@yourdomain.com",
  "created_at": "2019-07-16T17:35:25Z",
  "disabled_at": null
}

OBJECT

The Hook Notification Object

A Hook Notification object contains information about a webhook configured in the account’s Post-load hook list.

id
INTEGER

The notification ID.

client_id
INTEGER

The ID of the Stitch client account.

created_at
DATE-TIME

The time at which the notification was created.

modified_at
DATE-TIME

The time at which the notification was last modified.

disabled_at
DATE-TIME

The time at which the notification was disabled. This will be null unless the notification has been disabled.

type
STRING

The type of the notification. Possible values are:

  • post_load
version
INTEGER

The version of the hook service the notification is using.

config
OBJECT

The configuration for the hook.

Example Object

{
  "id": 9,
  "client_id": 116078,
  "type": "post_load",
  "version": 1,
  "config": {
    "url": "https://hooks.zapier.com/hooks/catch/some-hook-id"
  },
  "created_at": "2019-07-16T16:51:20Z",
  "modified_at": "2019-07-16T16:51:20Z",
  "disabled_at": null
}

OBJECT

The Properties Object

A Properties object contains the properties necessary to complete a connection step. Returned within a Source or Destination object, these properties provide information about the configuration status of the connection.

name
STRING

The name of the property.

is_required
BOOLEAN

If true, the property is required for complete configuration.

is_credential
BOOLEAN

If true, the property is a credential or otherwise sensitive data.

system_provided
BOOLEAN

This property has been deprecated. Use the property_type property instead.

property_type
STRING

Indicates the type of the property. Possible values are:

  • user_provided - Indicates the property must be set by the user.
  • read_only - Indicates the property is read-only and is not settable by the API. Generally, this is an internal field set inside of Stitch.
  • system_provided_by_default - Indicates the property used to be system_provided: true, but can now be set by the API consumer. These are generally properties associated with OAuth for generating refresh and access tokens.

    Note: Use caution when setting these properties, as using incorrect values can put the source into a non-functioning state.

json_schema
ARRAY

Note: Data will only be returned for this array if property_type: user_provided or property_type: system_provided_by_default. If property_type: read_only, this property will be null.

An array containing:

  • type - A string indicating the expected data type of the property’s value. For example: boolean
  • pattern - A string indicating the expected pattern of the property’s value. For example: ^\\d+$
  • anyOf - A series of arrays containing key-value pairs for the type and format combinations Stitch will accept as the property’s value. For example:

      "anyOf": [
          {
              "type": "string",
              "format": "ipv4"
          },
          {
              "type": "string",
              "format": "ipv6"
          },
          {
              "type": "string",
              "format": "hostname"
          }
      ]
    
provided
BOOLEAN

If true, the property has been provided. For properties where property_type: user_provided, this indicates that the user has provided the property.

tap_mutable
BOOLEAN

This is an internal field and is for Stitch use only.

Example Object

{
  "name": "frequency_in_minutes",
  "is_required": false,
  "is_credential": false,
  "system_provided": false,
  "property_type": "user_provided",
  "json_schema": {
    "type": "string",
    "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
  },
  "provided": false,
  "tap_mutable": false
}
{
  "name": "image_version",
  "is_required": true,
  "is_credential": false,
  "system_provided": true,
  "property_type": "read_only",
  "json_schema": null,
  "provided": false,
  "tap_mutable": false
}
{
  "name": "client_id",
  "is_required": true,
  "is_credential": true,
  "system_provided": true,
  "property_type": "system_provided_by_default",
  "json_schema": {
    "type": "string"
  },
  "provided": false,
  "tap_mutable": false
}

OBJECT

The Destination Report Card Object

A Destination Report Card object contains information about a destination’s connection configuration.

current_step
INTEGER

The index (in the steps array) of the current step needed to configure the destination.

details
OBJECT (DETAILS)

A Details object contains information about a connection type’s availability within Stitch.

steps
ARRAY

A sequential list of Connection Step objects required to complete configuration for the connection type.

type
STRING

The destination connection type. For example: postgres or redshift

Example Object

{
  "type": "redshift",
  "current_step": 1,
  "current_step_type": "form",
  "steps": [
    {
      "type": "form",
      "properties": [
        {
          "name": "database",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false
        },
        {
          "name": "encryption_host",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "anyOf": [
              {
                "type": "string",
                "format": "ipv4"
              },
              {
                "type": "string",
                "format": "ipv6"
              },
              {
                "type": "string",
                "format": "hostname"
              }
            ]
          },
          "provided": false
        },
        {
          "name": "encryption_port",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "provided": false
        },
        {
          "name": "encryption_type",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(ssh|none)$"
          },
          "provided": false
        },
        {
          "name": "encryption_username",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false
        },
        {
          "name": "host",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "anyOf": [
              {
                "type": "string",
                "format": "ipv4"
              },
              {
                "type": "string",
                "format": "ipv6"
              },
              {
                "type": "string",
                "format": "hostname"
              }
            ]
          },
          "provided": false
        },
        {
          "name": "password",
          "is_required": true,
          "is_credential": true,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false
        },
        {
          "name": "port",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "provided": false
        },
        {
          "name": "username",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false
        }
      ]
    },
    {
      "type": "fully_configured",
      "properties": []
    }
  ],
  "details": {
    "pricing_tier": "standard",
    "pipeline_state": "released",
    "protocol": "redshift",
    "access": true
  }
}

OBJECT

The Source Report Card Object

A Source Report Card object contains information about a source’s connection configuration.

current_step
INTEGER

The index (in the steps array) of the current step needed to configure the data source.

details
OBJECT (DETAILS)

A Details object contains information about a connection type’s availability within Stitch.

steps
ARRAY

A sequential list of Connection Step objects required to complete configuration for the connection type.

type
STRING

The connection type. Ex: platform.mysql or platform.hubspot

Example Object

{
  "type": "platform.mysql",
  "current_step": 1,
  "current_step_type": "form",
  "steps": [
    {
      "type": "form",
      "properties": [
        {
          "name": "allow_non_auto_increment_pks",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(true|false)$"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "anchor_time",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "format": "date-time"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "check_hostname",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(true|false)"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "cron_expression",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": null,
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "database",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "filter_dbs",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "frequency_in_minutes",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "host",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "anyOf": [
              {
                "format": "hostname"
              },
              {
                "format": "ipv4"
              }
            ]
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "image_version",
          "is_required": true,
          "is_credential": false,
          "system_provided": true,
          "property_type": "read_only",
          "json_schema": null,
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "password",
          "is_required": true,
          "is_credential": true,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "port",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d+"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "server_id",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssh",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(true|false)"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssh_host",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "anyOf": [
              {
                "format": "hostname"
              },
              {
                "format": "ipv4"
              }
            ]
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssh_port",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d+"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssh_user",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssl",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(true|false)"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssl_ca",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssl_cert",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssl_client_auth_enabled",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(true|false)"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "ssl_key",
          "is_required": false,
          "is_credential": true,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "user",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "use_log_based_replication",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(true|false)$"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "verify_mode",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^(true|false)"
          },
          "provided": false,
          "tap_mutable": false
        }
      ]
    },
    {
      "type": "discover_schema",
      "properties": []
    },
    {
      "type": "field_selection",
      "properties": []
    },
    {
      "type": "fully_configured",
      "properties": []
    }
  ],
  "details": {
    "pricing_tier": "standard",
    "pipeline_state": "released",
    "default_scheduling_interval": 30,
    "default_start_date": null,
    "protocol": "platform.mysql",
    "access": true
  }
}
{
  "type": "platform.hubspot",
  "current_step": 1,
  "current_step_type": "form",
  "steps": [
    {
      "type": "form",
      "properties": [
        {
          "name": "anchor_time",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "format": "date-time"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "cron_expression",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": null,
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "frequency_in_minutes",
          "is_required": false,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^1$|^30$|^60$|^360$|^720$|^1440$"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "image_version",
          "is_required": true,
          "is_credential": false,
          "system_provided": true,
          "property_type": "read_only",
          "json_schema": null,
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "start_date",
          "is_required": true,
          "is_credential": false,
          "system_provided": false,
          "property_type": "user_provided",
          "json_schema": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T00:00:00Z$"
          },
          "provided": false,
          "tap_mutable": false
        }
      ]
    },
    {
      "type": "oauth",
      "properties": [
        {
          "name": "client_id",
          "is_required": true,
          "is_credential": true,
          "system_provided": true,
          "property_type": "system_provided_by_default",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "client_secret",
          "is_required": true,
          "is_credential": true,
          "system_provided": true,
          "property_type": "system_provided_by_default",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "redirect_uri",
          "is_required": true,
          "is_credential": true,
          "system_provided": true,
          "property_type": "system_provided_by_default",
          "json_schema": {
            "type": "string",
            "format": "uri"
          },
          "provided": false,
          "tap_mutable": false
        },
        {
          "name": "refresh_token",
          "is_required": true,
          "is_credential": true,
          "system_provided": true,
          "property_type": "system_provided_by_default",
          "json_schema": {
            "type": "string"
          },
          "provided": false,
          "tap_mutable": false
        }
      ]
    },
    {
      "type": "discover_schema",
      "properties": []
    },
    {
      "type": "field_selection",
      "properties": []
    },
    {
      "type": "fully_configured",
      "properties": []
    }
  ],
  "details": {
    "pricing_tier": "premium",
    "pipeline_state": "released",
    "default_scheduling_interval": 30,
    "default_start_date": "-30 days",
    "protocol": "platform.hubspot",
    "access": true
  }
}

OBJECT

The Stream Schema Object

A Stream Schema object contains information needed to select a stream and its fields for replication.

schema
STRING

The JSON schema describing the stream’s fields.

metadata
ARRAY

An array of Metadata objects.

non-discoverable-metadata-keys
ARRAY

An array of strings corresponding to metadata keys that can be modified.

Example Object

{
  "schema": "{\"definitions\":{\"sdc_recursive_boolean_array\":{\"items\":{\"$ref\":\"#/definitions/sdc_recursive_boolean_array\"},\"type\":[\"null\",\"boolean\",\"array\"]},\"sdc_recursive_integer_array\":{\"items\":{\"$ref\":\"#/definitions/sdc_recursive_integer_array\"},\"type\":[\"null\",\"integer\",\"array\"]},\"sdc_recursive_number_array\":{\"items\":{\"$ref\":\"#/definitions/sdc_recursive_number_array\"},\"type\":[\"null\",\"number\",\"array\"]},\"sdc_recursive_timestamp_array\":{\"format\":\"date-time\",\"items\":{\"$ref\":\"#/definitions/sdc_recursive_timestamp_array\"},\"type\":[\"null\",\"string\",\"array\"]},\"sdc_recursive_object_array\":{\"items\":{\"$ref\":\"#/definitions/sdc_recursive_object_array\"},\"type\":[\"null\",\"object\",\"array\"]},\"sdc_recursive_string_array\":{\"items\":{\"$ref\":\"#/definitions/sdc_recursive_string_array\"},\"type\":[\"null\",\"string\",\"array\"]}},\"type\":\"object\",\"properties\":{\"age\":{\"maximum\":2147483647,\"type\":[\"null\",\"integer\"],\"minimum\":-2147483648},\"has_magic\":{\"type\":[\"null\",\"boolean\"]},\"name\":{\"type\":[\"null\",\"string\"]},\"id\":{\"maximum\":2147483647,\"type\":[\"integer\"],\"minimum\":-2147483648}}}",
  "metadata": [
    {
      "breadcrumb": [
        "properties",
        "age"
      ],
      "metadata": {
        "sql-datatype": "integer",
        "selected-by-default": true,
        "inclusion": "available"
      }
    },
    {
      "breadcrumb": [],
      "metadata": {
        "database-name": "demni2mf59dt10",
        "schema-name": "public",
        "table-key-properties": [
          "id"
        ],
        "row-count": 0,
        "is-view": false
      }
    },
    {
      "breadcrumb": [
        "properties",
        "id"
      ],
      "metadata": {
        "sql-datatype": "integer",
        "selected-by-default": true,
        "inclusion": "automatic"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "name"
      ],
      "metadata": {
        "sql-datatype": "text",
        "selected-by-default": true,
        "inclusion": "available"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "has_magic"
      ],
      "metadata": {
        "sql-datatype": "boolean",
        "selected-by-default": true,
        "inclusion": "available"
      }
    }
  ],
  "non-discoverable-metadata-keys": [
    "selected",
    "replication-method",
    "replication-key",
    "view-key-properties"
  ]
}
{
  "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":[\"null\",\"integer\"]},\"sort_value\":{\"type\":[\"null\",\"string\"]},\"product_id\":{\"type\":[\"null\",\"integer\"]},\"updated_at\":{\"type\":[\"null\",\"string\"],\"format\":\"date-time\"},\"featured\":{\"type\":[\"null\",\"boolean\"]},\"position\":{\"type\":[\"null\",\"integer\"]},\"created_at\":{\"type\":[\"null\",\"string\"],\"format\":\"date-time\"},\"collection_id\":{\"type\":[\"null\",\"integer\"]}}}",
  "metadata": [
    {
      "breadcrumb": [
        "properties",
        "sort_value"
      ],
      "metadata": {
        "selected": false,
        "inclusion": "available"
      }
    },
    {
      "breadcrumb": [],
      "metadata": {
        "selected": true,
        "valid-replication-keys": [
          "updated_at"
        ],
        "table-key-properties": [
          "id"
        ],
        "forced-replication-method": "INCREMENTAL"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "position"
      ],
      "metadata": {
        "selected": false,
        "inclusion": "available"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "id"
      ],
      "metadata": {
        "selected": false,
        "inclusion": "automatic"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "collection_id"
      ],
      "metadata": {
        "selected": true,
        "inclusion": "available"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "featured"
      ],
      "metadata": {
        "selected": false,
        "inclusion": "available"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "product_id"
      ],
      "metadata": {
        "selected": false,
        "inclusion": "available"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "created_at"
      ],
      "metadata": {
        "selected": false,
        "inclusion": "available"
      }
    },
    {
      "breadcrumb": [
        "properties",
        "updated_at"
      ],
      "metadata": {
        "selected": false,
        "inclusion": "automatic"
      }
    }
  ],
  "non-discoverable-metadata-keys": [
    "selected",
    "replication-method",
    "replication-key",
    "view-key-properties"
  ]
}

Form Properties

Stitch connects to a large, diverse universe of applications and data warehouses, each of which is configured differently.

The properties objects contain the properties necessary to create a source or destination object.

For sources, these properties can also be found in the source’s report card step: form.

OBJECT Amazon Aurora Source Form Property

An Amazon Aurora connection reads data from an Amazon Aurora database and corresponds to source type: platform.aurora.

OBJECT Amazon S3 CSV Source Form Property

An Amazon S3 CSV connection reads data from an Amazon S3 CSV database and corresponds to source type: platform.s3-csv.

OBJECT Amazon S3 Destination Form Property

A Amazon S3 connection writes data to a Amazon S3 database and corresponds to destination type: s3.

OBJECT Amplitude Source Form Property

Amplitude connections read data from the Amplitude API and correspond to source type: platform.amplitude.

OBJECT Asana Source Form Property

Asana connections read data from the Asana API and correspond to source type: platform.asana.

OBJECT BigCommerce Source Form Property

BigCommerce connections read data from the BigCommerce API and correspond to source type: platform.bigcommerce.

OBJECT Bing Ads Source Form Property

Bing Ads connections read data from the Bing Ads API and correspond to source type: platform.bing-ads.

OBJECT Bronto Source Form Property

Bronto connections read data from the Bronto API and correspond to source type: platform.bronto.

OBJECT Campaign Manager Source Form Property

Campaign Manager connections read data from the Campaign Manager API and correspond to source type: platform.doubleclick-campaign-manager.

OBJECT Campaign Monitor Source Form Property

Campaign Monitor connections read data from the Campaign Monitor API and correspond to source type: platform.campaign-monitor.

OBJECT Chargebee Source Form Property

Chargebee connections read data from the Chargebee API and correspond to source type: platform.chargebee.

OBJECT Close.io Source Form Property

Close.io connections read data from the Close.io API and correspond to source type: platform.closeio.

OBJECT Club Speed Source Form Property

Club Speed connections read data from the Club Speed API and correspond to source type: platform.clubspeed.

OBJECT Eloqua Source Form Property

Eloqua connections read data from the Bulk and REST APIs and correspond to source type: platform.eloqua.

OBJECT Facebook Ads Source Form Property

Facebook Ads connections read data from the Facebook Ads API and correspond to source type: platform.facebook.

OBJECT Front Source Form Property

Front connections read data from the Front API and correspond to source type: platform.frontapp.

OBJECT FullStory Source Form Property

FullStory connections read data from the FullStory API and correspond to source type: platform.fullstory.

OBJECT GitHub Source Form Property

GitHub connections read data from the GitHub API and correspond to source type: platform.github.

OBJECT Google Ads Source Form Property

Google Ads connections read data from the Google Ads API and correspond to source type: platform.adwords.

OBJECT Google CloudSQL MySQL Source Form Property

A Google CloudSQL MySQL connection reads data from a Google CloudSQL MySQL database and corresponds to source type: platform.cloudsql.

OBJECT Google CloudSQL PostgreSQL Source Form Property

A Google CloudSQL PostgreSQL connection reads data from a Google CloudSQL PostgreSQL database and corresponds to source type: platform.cloudsql_pg.

OBJECT Harvest Forecast Source Form Property

Harvest Forecast connections read data from the Harvest Forecast API and correspond to source type: platform.harvest-forecast.

OBJECT Heap Source Form Property

Heap connections read data from data dumps in Amazon S3 buckets and correspond to source type: platform.heap.

OBJECT Heroku Source Form Property

A Heroku connection reads data from a Heroku database and corresponds to source type: platform.heroku_pg.

OBJECT HubSpot Source Form Property

HubSpot connections read data from the HubSpot API and correspond to source type: platform.hubspot.

OBJECT Intacct Source Form Property

Intacct connections read data from reports exported to Amazon S3 via ‘s Data Delivery Service feature and correspond to source type: platform.intacct.

OBJECT Invoiced Source Form Property

Invoiced connections read data from the Invoiced API and correspond to source type: platform.invoiced.

OBJECT Jira Source Form Property

Jira connections read data from the Jira API and correspond to source type: platform.jira.

OBJECT Listrak Source Form Property

Listrak connections read data from the Listrak API and correspond to source type: platform.listrak.

OBJECT LivePerson Source Form Property

LivePerson connections read data from the Data Access API and correspond to source type: platform.liveperson.

OBJECT MariaDB Source Form Property

A MariaDB connection reads data from a MariaDB database and corresponds to source type: platform.mariadb.

OBJECT Marketo Bulk Source Form Property

Marketo Bulk connections read data from the Marketo Bulk API and correspond to source type: platform.marketobulk.

OBJECT Marketo Source Form Property

Marketo connections read data from the Marketo API and correspond to source type: platform.marketo.

OBJECT Microsoft Azure SQL Data Warehouse Destination Form Property

A Azure SQL Data Warehouse connection writes data to a Azure SQL Data Warehouse database and corresponds to destination type: azuresql_dw.

OBJECT Microsoft SQL Server Source Form Property

A Microsoft SQL Server connection reads data from a Microsoft SQL Server database and corresponds to source type: platform.mssql.

OBJECT MySQL Source Form Property

A MySQL connection reads data from a MySQL database and corresponds to source type: platform.mysql.

OBJECT NetSuite Source Form Property

NetSuite connections read data from the NetSuite SuiteTalk API and correspond to source type: platform.netsuite.

OBJECT Onfleet Source Form Property

Onfleet connections read data from the Onfleet API and correspond to source type: platform.onfleet.

OBJECT Oracle Source Form Property

An Oracle connection reads data from an Oracle database and corresponds to source type: platform.oracle.

OBJECT Pipedrive Source Form Property

Pipedrive connections read data from the Pipedrive API and correspond to source type: platform.pipedrive.

OBJECT PostgreSQL Destination Form Property

A PostgreSQL connection writes data to a PostgreSQL database and corresponds to destination type: postgres.

OBJECT PostgreSQL Source Form Property

A PostgreSQL connection reads data from a PostgreSQL database and corresponds to source type: platform.postgres.

OBJECT Quick Base Source Form Property

Quick Base connections read data from the Quick Base API and correspond to source type: platform.quickbase.

OBJECT Recurly Source Form Property

Recurly connections read data from the Recurly API and correspond to source type: platform.recurly.

OBJECT Redshift Destination Form Property

A Redshift connection writes data to a Redshift database and corresponds to destination type: redshift.

OBJECT Responsys Source Form Property

A Responsys connection reads data from a Responsys database and corresponds to source type: platform.responsys.

OBJECT Revinate Source Form Property

Revinate connections read data from the Revinate API and correspond to source type: revinate.

OBJECT Salesforce Source Form Property

Salesforce connections read data from the Salesforce API and correspond to source type: platform.salesforce.

OBJECT SendGrid Source Form Property

SendGrid connections read data from the SendGrid API and correspond to source type: platform.sendgrid.

OBJECT ShipHero Source Form Property

ShipHero connections read data from the ShipHero API and correspond to source type: platform.shiphero.

OBJECT Shopify Source Form Property

Shopify connections read data from the Shopify API and correspond to source type: platform.shopify.

OBJECT Snowflake Destination Form Property

A Snowflake connection writes data to a Snowflake database and corresponds to destination type: snowflake.

OBJECT Stripe Source Form Property

Stripe connections read data from the Stripe API and correspond to source type: platform.stripe.

OBJECT Toggl Source Form Property

Toggl connections read data from the Toggl API and correspond to source type: platform.toggl.

OBJECT Typeform Source Form Property

Typeform connections read data from the Typeform API and correspond to source type: platform.typeform.

OBJECT UserVoice Source Form Property

UserVoice connections read data from the UserVoice API and correspond to source type: platform.uservoice.

OBJECT Xero Source Form Property

Xero connections read data from the Xero API and correspond to source type: platform.xero.

OBJECT Yotpo Source Form Property

Yotpo connections read data from the Yotpo API and correspond to source type: platform.yotpo.

OBJECT Zendesk Source Form Property

Zendesk connections read data from the Zendesk API and correspond to source type: platform.zendesk.

OBJECT Zuora Source Form Property

Zuora connections read data from the Zuora API and correspond to source type: platform.zuora.


Destination Form Properties

Destination form properties should be sent in the connection argument when using the Create or Update a Destination endpoints.

OBJECT Amazon S3 Destination Form Property

A Amazon S3 connection writes data to a Amazon S3 database and corresponds to destination type: s3.

OBJECT Microsoft Azure SQL Data Warehouse Destination Form Property

A Azure SQL Data Warehouse connection writes data to a Azure SQL Data Warehouse database and corresponds to destination type: azuresql_dw.

OBJECT PostgreSQL Destination Form Property

A PostgreSQL connection writes data to a PostgreSQL database and corresponds to destination type: postgres.

OBJECT Redshift Destination Form Property

A Redshift connection writes data to a Redshift database and corresponds to destination type: redshift.

OBJECT Snowflake Destination Form Property

A Snowflake connection writes data to a Snowflake database and corresponds to destination type: snowflake.


OBJECT

The Amazon S3 Destination Form Property Object

A Amazon S3 connection writes data to a Amazon S3 database and corresponds to destination type: s3.

To set up an Amazon S3 destination, users will need to:

  1. Create a bucket policy that grants Stitch permission to write to the bucket
  2. Create a “challenge file” in the bucket that allows Stitch to test the connection

Refer to our Amazon S3 documentation for additional details.

Note: Attributes marked as REQUIRED must be provided in the properties argument for Creating a Destination.

csv_delimiter
STRING
OPTIONAL

Defines the delimiter used if output_file_format is csv. Possible values are:

  • , (comma)
  • | (pipe)
  • \t (tab)
csv_force_quote
BOOLEAN
OPTIONAL

If true, Stitch will place all elements of key-value pairs in quotes when output_file_format is csv.

For example: Numerical fields will appear as "123" instead of 123.

output_file_format
STRING
REQUIRED

Defines the type of file Stitch will write to the bucket. Possible values are:

  • csv, which will use CSV (.csv) files
  • jsonl, which will use JSON (.jsonl) files

For examples of what data will look like in each format, refer to our Amazon S3 documentation.

s3_bucket
STRING
REQUIRED

The name of the Amazon S3 bucket Stitch will write to.

s3_key_format_string
STRING
REQUIRED

Defines the naming convention Stitch should use when creating Object Keys. Object Keys are used to name tables when Stitch writes to the bucket.

The required elements for an Object Key are:

  • [integration_name]
  • [table_name]
  • [table_version]
  • [timestamp_loaded]

For more info on construcing an S3 Object Key, refer to our Amazon S3 documentation.

sentinel_key
STRING
OPTIONAL

Note: This should not be submitted when creating a destination. This value will be returned as part of successfully creating an Amazon S3 destination.

The sentinel key is the name the challenge file in the bucket must have. The challenge file is a blank file that Stitch uses to test the permissions for the bucket. This file must remain in the bucket even after the inital setup is complete.

Refer to our Amazon S3 documentation for additional details.

Example Object
{
 "type":"s3",
 "connection":{
   "csv_delimiter":"|",
   "csv_force_quote":true,
   "output_file_format":"csv",
   "s3_bucket":"com-stitch-s3-bucket",
   "s3_key_format_string":"[integration_name]/[table_name]/[table_version]_[timestamp_loaded].<csv|json>",
   "sentinel_key":"stitch-challenge-file-af295ad1-7a4b-4881-89dc-c9be27de13a5"
  }
}

OBJECT

The Microsoft Azure SQL Data Warehouse Destination Form Property Object

A Azure SQL Data Warehouse connection writes data to a Azure SQL Data Warehouse database and corresponds to destination type: azuresql_dw.

Note: Attributes marked as REQUIRED must be provided in the properties argument for Creating a Destination.

azure_storage_account_token
STRING
REQUIRED

An Azure Storage Access Key. This is used to access Azure Blob Storage, which Stitch uses to stage data for Polybase before loading it into an Azure SQL Data Warehouse destination.

For more info and instructions for generating this credential, refer to our Azure SQL Data Warehouse setup documentation.

azure_storage_sas_url
STRING
REQUIRED

An Azure Blob service Shared Access Signature (SAS) URL, which is used to grant Stitch restricted access to Azure Storage resources. These resources are used to load data into an Azure SQL Data Warehouse destination.

For more info and instructions for generating this credential, refer to our Azure SQL Data Warehouse setup documentation.

database
STRING
REQUIRED

The name of the logical database to connect to.

encryption_host
STRING
OPTIONAL

If using SSH encryption, the host of the SSH server. Required only if encryption_type is ssh.

encryption_port
STRING
OPTIONAL

If using SSH encryption, the port of the SSH server. Required only if encryption_type is ssh.

encryption_type
STRING
REQUIRED

Indicates that SSH encryption should be used to connect to the destination. Valid values are:

  • none - No encryption will be used.
  • ssh - SSH encryption will be used to connect to the destination. The SSH connection details should be submitted using the encryption_host, encryption_port, and encryption_username.
encryption_username
STRING
OPTIONAL

If using SSH encryption, the name of the SSH user. Required only if encryption_type is ssh.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
STRING
REQUIRED

The port of the database server. The default is 1433.

ssl
BOOLEAN
OPTIONAL

If true, SSL will be used to connect to the database.

user
STRING
REQUIRED

The username of the database user.

Example Object
{
 "type":"azuresql_dw",
 "connection":{
   "azure_storage_account_token":"<AZURE_STORAGE_ACCESS_KEY>",
   "azure_storage_sas_url":"<AZURE_STORAGE_SAS_URL>",
   "database":"<DATABASE_NAME>",
   "encryption_host":"<ENCRYPTION_HOST_ADDRESS>",
   "encryption_port":"<ENCRYPTION_PORT>",
   "encryption_type":"ssh",
   "encryption_username":"<ENCRYPTION_USERNAME>",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"1433",
   "ssl":true,
   "user":"<USERNAME>"
  }
}

OBJECT

The PostgreSQL Destination Form Property Object

A PostgreSQL connection writes data to a PostgreSQL database and corresponds to destination type: postgres.

Note: Attributes marked as REQUIRED must be provided in the properties argument for Creating a Destination.

database
STRING
REQUIRED

The name of the logical database to connect to.

encryption_host
STRING
OPTIONAL

If using SSH encryption, the host of the SSH server. Required only if encryption_type is ssh.

encryption_port
STRING
OPTIONAL

If using SSH encryption, the port of the SSH server. Required only if encryption_type is ssh.

encryption_type
STRING
REQUIRED

Indicates that SSH encryption should be used to connect to the destination. Valid values are:

  • none - No encryption will be used.
  • ssh - SSH encryption will be used to connect to the destination. The SSH connection details should be submitted using the encryption_host, encryption_port, and encryption_username.
encryption_username
STRING
OPTIONAL

If using SSH encryption, the name of the SSH user. Required only if encryption_type is ssh.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
STRING
REQUIRED

The port of the database server. The default is 5432.

ssl
BOOLEAN
OPTIONAL

If true, SSL will be used to connect to the database.

sslrootcert
STRING
OPTIONAL

Optional: The certificate (typically a CA or server certificate) Stitch should verify the SSL connection against. The connection will succeed only if the server’s certificate verifies against the certificate provided.

Note: Providing a certificate via this property isn’t required to use SSL. This is only if Stitch should verify the connection against a specific certificate.

user
STRING
REQUIRED

The username of the database user.

Example Object
{
 "type":"postgres",
 "connection":{
   "database":"<DATABASE_NAME>",
   "encryption_host":"<ENCRYPTION_HOST_ADDRESS>",
   "encryption_port":"<ENCRYPTION_PORT>",
   "encryption_type":"ssh",
   "encryption_username":"<ENCRYPTION_USERNAME>",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"5432",
   "ssl":true,
   "sslrootcert":"<OPTIONAL_SSL_CERTIFICATE>",
   "user":"<USERNAME>"
  }
}

OBJECT

The Redshift Destination Form Property Object

A Redshift connection writes data to a Redshift database and corresponds to destination type: redshift.

Note: Attributes marked as REQUIRED must be provided in the properties argument for Creating a Destination.

database
STRING
REQUIRED

The name of the logical database to connect to.

encryption_host
STRING
OPTIONAL

If using SSH encryption, the host of the SSH server. Required only if encryption_type is ssh.

encryption_port
STRING
OPTIONAL

If using SSH encryption, the port of the SSH server. Required only if encryption_type is ssh.

encryption_type
STRING
REQUIRED

Indicates that SSH encryption should be used to connect to the destination. Valid values are:

  • none - No encryption will be used.
  • ssh - SSH encryption will be used to connect to the destination. The SSH connection details should be submitted using the encryption_host, encryption_port, and encryption_username.
encryption_username
STRING
OPTIONAL

If using SSH encryption, the name of the SSH user. Required only if encryption_type is ssh.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
STRING
REQUIRED

The port of the database server. The default is 5439.

ssl
BOOLEAN
OPTIONAL

If true, SSL will be used to connect to the database.

user
STRING
REQUIRED

The username of the database user.

Example Object
{
 "type":"redshift",
 "connection":{
   "database":"<DATABASE_NAME>",
   "encryption_host":"<ENCRYPTION_HOST_ADDRESS>",
   "encryption_port":"<ENCRYPTION_PORT>",
   "encryption_type":"ssh",
   "encryption_username":"<ENCRYPTION_USERNAME>",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"5439",
   "ssl":true,
   "user":"<USERNAME>"
  }
}

OBJECT

The Snowflake Destination Form Property Object

A Snowflake connection writes data to a Snowflake database and corresponds to destination type: snowflake.

Note: Attributes marked as REQUIRED must be provided in the properties argument for Creating a Destination.

database
STRING
REQUIRED

The name of the logical database to connect to.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
STRING
REQUIRED

The port of the database server. The default is 443.

role
STRING
OPTIONAL

The role to use.

ssl
BOOLEAN
OPTIONAL

If true, SSL will be used to connect to the database.

user
STRING
REQUIRED

The username of the database user.

warehouse
STRING
REQUIRED

The name of the Snowflake warehouse Stitch will connect to.

Example Object
{
 "type":"snowflake",
 "connection":{
   "database":"<DATABASE_NAME>",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"443",
   "role":"<OPTIONAL_ROLE>",
   "ssl":true,
   "user":"<USERNAME>",
   "warehouse":"<WAREHOUSE>"
  }
}

Source Form Properties

Source form properties should be sent in the properties argument when using the Create or Update a Source endpoints.

All properties should be sent as strings.

OBJECT Amazon Aurora Source Form Property

An Amazon Aurora connection reads data from an Amazon Aurora database and corresponds to source type: platform.aurora.

OBJECT Amazon S3 CSV Source Form Property

An Amazon S3 CSV connection reads data from an Amazon S3 CSV database and corresponds to source type: platform.s3-csv.

OBJECT Amplitude Source Form Property

Amplitude connections read data from the Amplitude API and correspond to source type: platform.amplitude.

OBJECT Asana Source Form Property

Asana connections read data from the Asana API and correspond to source type: platform.asana.

OBJECT BigCommerce Source Form Property

BigCommerce connections read data from the BigCommerce API and correspond to source type: platform.bigcommerce.

OBJECT Bing Ads Source Form Property

Bing Ads connections read data from the Bing Ads API and correspond to source type: platform.bing-ads.

OBJECT Bronto Source Form Property

Bronto connections read data from the Bronto API and correspond to source type: platform.bronto.

OBJECT Campaign Manager Source Form Property

Campaign Manager connections read data from the Campaign Manager API and correspond to source type: platform.doubleclick-campaign-manager.

OBJECT Campaign Monitor Source Form Property

Campaign Monitor connections read data from the Campaign Monitor API and correspond to source type: platform.campaign-monitor.

OBJECT Chargebee Source Form Property

Chargebee connections read data from the Chargebee API and correspond to source type: platform.chargebee.

OBJECT Close.io Source Form Property

Close.io connections read data from the Close.io API and correspond to source type: platform.closeio.

OBJECT Club Speed Source Form Property

Club Speed connections read data from the Club Speed API and correspond to source type: platform.clubspeed.

OBJECT Codat Source Form Property

Codat connections read data from the Codat API and correspond to source type: platform.codat.

OBJECT Eloqua Source Form Property

Eloqua connections read data from the Bulk and REST APIs and correspond to source type: platform.eloqua.

OBJECT Facebook Ads Source Form Property

Facebook Ads connections read data from the Facebook Ads API and correspond to source type: platform.facebook.

OBJECT Front Source Form Property

Front connections read data from the Front API and correspond to source type: platform.frontapp.

OBJECT FullStory Source Form Property

FullStory connections read data from the FullStory API and correspond to source type: platform.fullstory.

OBJECT GitHub Source Form Property

GitHub connections read data from the GitHub API and correspond to source type: platform.github.

OBJECT Google Ads Source Form Property

Google Ads connections read data from the Google Ads API and correspond to source type: platform.adwords.

OBJECT Google CloudSQL MySQL Source Form Property

A Google CloudSQL MySQL connection reads data from a Google CloudSQL MySQL database and corresponds to source type: platform.cloudsql.

OBJECT Google CloudSQL PostgreSQL Source Form Property

A Google CloudSQL PostgreSQL connection reads data from a Google CloudSQL PostgreSQL database and corresponds to source type: platform.cloudsql_pg.

OBJECT Harvest Forecast Source Form Property

Harvest Forecast connections read data from the Harvest Forecast API and correspond to source type: platform.harvest-forecast.

OBJECT Heap Source Form Property

Heap connections read data from data dumps in Amazon S3 buckets and correspond to source type: platform.heap.

OBJECT Heroku Source Form Property

A Heroku connection reads data from a Heroku database and corresponds to source type: platform.heroku_pg.

OBJECT HubSpot Source Form Property

HubSpot connections read data from the HubSpot API and correspond to source type: platform.hubspot.

OBJECT Intacct Source Form Property

Intacct connections read data from reports exported to Amazon S3 via ‘s Data Delivery Service feature and correspond to source type: platform.intacct.

OBJECT Invoiced Source Form Property

Invoiced connections read data from the Invoiced API and correspond to source type: platform.invoiced.

OBJECT Jira Source Form Property

Jira connections read data from the Jira API and correspond to source type: platform.jira.

OBJECT Listrak Source Form Property

Listrak connections read data from the Listrak API and correspond to source type: platform.listrak.

OBJECT LivePerson Source Form Property

LivePerson connections read data from the Data Access API and correspond to source type: platform.liveperson.

OBJECT MariaDB Source Form Property

A MariaDB connection reads data from a MariaDB database and corresponds to source type: platform.mariadb.

OBJECT Marketo Bulk Source Form Property

Marketo Bulk connections read data from the Marketo Bulk API and correspond to source type: platform.marketobulk.

OBJECT Marketo Source Form Property

Marketo connections read data from the Marketo API and correspond to source type: platform.marketo.

OBJECT Microsoft SQL Server Source Form Property

A Microsoft SQL Server connection reads data from a Microsoft SQL Server database and corresponds to source type: platform.mssql.

OBJECT MySQL Source Form Property

A MySQL connection reads data from a MySQL database and corresponds to source type: platform.mysql.

OBJECT NetSuite Source Form Property

NetSuite connections read data from the NetSuite SuiteTalk API and correspond to source type: platform.netsuite.

OBJECT Onfleet Source Form Property

Onfleet connections read data from the Onfleet API and correspond to source type: platform.onfleet.

OBJECT Oracle Source Form Property

An Oracle connection reads data from an Oracle database and corresponds to source type: platform.oracle.

OBJECT Pipedrive Source Form Property

Pipedrive connections read data from the Pipedrive API and correspond to source type: platform.pipedrive.

OBJECT PostgreSQL Source Form Property

A PostgreSQL connection reads data from a PostgreSQL database and corresponds to source type: platform.postgres.

OBJECT Quick Base Source Form Property

Quick Base connections read data from the Quick Base API and correspond to source type: platform.quickbase.

OBJECT Recurly Source Form Property

Recurly connections read data from the Recurly API and correspond to source type: platform.recurly.

OBJECT Responsys Source Form Property

A Responsys connection reads data from a Responsys database and corresponds to source type: platform.responsys.

OBJECT Revinate Source Form Property

Revinate connections read data from the Revinate API and correspond to source type: revinate.

OBJECT Salesforce Source Form Property

Salesforce connections read data from the Salesforce API and correspond to source type: platform.salesforce.

OBJECT SendGrid Source Form Property

SendGrid connections read data from the SendGrid API and correspond to source type: platform.sendgrid.

OBJECT ShipHero Source Form Property

ShipHero connections read data from the ShipHero API and correspond to source type: platform.shiphero.

OBJECT Shopify Source Form Property

Shopify connections read data from the Shopify API and correspond to source type: platform.shopify.

OBJECT Stripe Source Form Property

Stripe connections read data from the Stripe API and correspond to source type: platform.stripe.

OBJECT Toggl Source Form Property

Toggl connections read data from the Toggl API and correspond to source type: platform.toggl.

OBJECT Typeform Source Form Property

Typeform connections read data from the Typeform API and correspond to source type: platform.typeform.

OBJECT UserVoice Source Form Property

UserVoice connections read data from the UserVoice API and correspond to source type: platform.uservoice.

OBJECT Xero Source Form Property

Xero connections read data from the Xero API and correspond to source type: platform.xero.

OBJECT Yotpo Source Form Property

Yotpo connections read data from the Yotpo API and correspond to source type: platform.yotpo.

OBJECT Zendesk Source Form Property

Zendesk connections read data from the Zendesk API and correspond to source type: platform.zendesk.

OBJECT Zuora Source Form Property

Zuora connections read data from the Zuora API and correspond to source type: platform.zuora.


OBJECT

The Amazon Aurora Source Form Property Object

An Amazon Aurora connection reads data from an Amazon Aurora database and corresponds to source type: platform.aurora.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

allow_non_auto_increment_pks
STRING
OPTIONAL

If true, an auto-incrementing Primary Key will not be required for tables using Full Table Replication. Auto-incrementing Primary Keys are used during full table replication to allow the replication of a table to span multiple replication jobs.

Unless set, this property will default to true.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

database
STRING
OPTIONAL

The name of the logical database to connect to.

filter_dbs
STRING
OPTIONAL

This is an internal field and is for Stitch use only.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Amazon Aurora. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 3306.

server_id
STRING
OPTIONAL

Defines the unique ID of the server that Stitch will connect to, if using Log-based (binlog) Replication.

Server IDs must be unique, as MySQL doesn’t allow replication to simultaneously occur across multiple connections using the same server ID. For more info about this setting in Stitch, refer to the MySQL documentation.

ssh
STRING
OPTIONAL

If true, an SSH tunnel will be used to connect to the database.

ssh_host
STRING
OPTIONAL

The IP address or hostname of the SSH server. This property is only required if ssh: true.

ssh_port
STRING
OPTIONAL

The port of the SSH server. This property is only required if ssh: true.

ssh_user
STRING
OPTIONAL

The username of the SSH user. This property is only required if ssh: true.

ssl
STRING
OPTIONAL

If true, SSL will be used to connect to the database.

use_log_based_replication
STRING
OPTIONAL

If true, Log-based Incremental Replication will be used as the default Replication Method for tables set to replicate. This choice can be overriden on individual tables at any time.

user
STRING
REQUIRED

The username of the Amazon Aurora database user.

Example Object
{
 "type":"platform.aurora",
 "properties":{
   "allow_non_auto_increment_pks":"true",
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "database":"<DATABASE_NAME>",
   "filter_dbs":"",
   "frequency_in_minutes":"30",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"3306",
   "server_id":"<UNIQUE_SERVER_ID>",
   "ssh":"true",
   "ssh_host":"<SSH_HOST>",
   "ssh_port":"22",
   "ssh_user":"<SSH_USERNAME>",
   "ssl":"false",
   "use_log_based_replication":"true",
   "user":"<USERNAME>"
   }
}

OBJECT

The Amazon S3 CSV Source Form Property Object

An Amazon S3 CSV connection reads data from an Amazon S3 CSV database and corresponds to source type: platform.s3-csv.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

account_id
STRING
REQUIRED

The user’s Amazon Web Services (AWS) Account ID. Refer to the Amazon S3 CSV documentation for more info.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

bucket
STRING
REQUIRED

The name of the bucket Stitch should replicate data from. This value should not contain any URLs, https, or S3 parts.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

external_id
STRING
REQUIRED

The external ID associated with the Amazon Web Services (AWS) Identity Access Management (IAM) role used by Stitch. In AWS, external IDs are used to increase role security when granting access to accounts that you don’t own or have administrative access to. Stitch will provide this ID when accessing Amazon S3 CSV.

This value can be anything, but it must be the same as the external ID provided in the AWS console when creating the Stitch IAM role. Refer to the Amazon S3 CSV documentation for more info.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Amazon S3 CSV. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

role_name
STRING
REQUIRED

The name of the AWS IAM role Stitch should assume when extracting data from Amazon S3. This role will have the permissions in the IAM policy associated with the role.

Refer to our Amazon S3 CSV documentation for more info about the IAM policy, role, and how to create them in AWS.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Amazon S3 CSV. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

tables
STRING
REQUIRED

A series of properties defining the CSV files to be tracked as tables. For every table configuration, this property will contain a JSON object with the following properties. Every property should be a string.

  • search_pattern - The search criteria Stitch should use when selecting CSV files for extraction. This can be the name of a single file or a regular expression. For example: customers.csv or *\.csv
  • search_prefix - The directory path Stitch should limit the file search to. For example: exports/data
  • table_name - The name of the table as it should appear in the destination. For example: customers
  • key_properties - A comma-separated list of header fields in the CSV Stitch can use to uniquely identify records. For example: _id,date

    Note: If undefined, data will be loaded to the table in an append-only fashion. Refer to the Amazon S3 CSV documentation for more info.

  • date_overrides - A comma-separated list of header fields in the CSV that should be typed as datetime fields in the destination. For example: updated_at,created_at

    Note: If columns aren’t specified and values can’t be parsed as dates, Stitch will load data for the columns as nullable strings. Refer to the Amazon S3 CSV documentation for more info.

  • delimiter - The field separator delimiter used in the CSV files. Accepted values are:

    • , - Comma
    • | - Pipe
    • \t - Tab
Example Object
{
 "type":"platform.s3-csv",
 "properties":{
   "account_id":"123456789101",
   "anchor_time":"2018-04-30T17:00:00Z",
   "bucket":"com-test-stitch-bucket",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "external_id":"stitch_connection_12345",
   "frequency_in_minutes":"60",
   "role_name":"<ROLE_NAME>",
   "start_date":"2018-01-10T00:00:00Z",
   "tables":"[{"search_pattern":"customers.csv","search_prefix":"exports/files","table_name":"customers","key_properties":"id","date_overrides":"created_at","delimiter":","},{"search_pattern":"orders.csv","search_prefix":"exports/files","table_name":"orders","key_properties":"id","date_overrides":"updated_at","delimiter":","}]"
   }
}

OBJECT

The Amplitude Source Form Property Object

Amplitude connections read data from the Amplitude API and correspond to source type: platform.amplitude.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

account
STRING
REQUIRED

The account ID for the Amplitude Snowflake warehouse.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Amplitude. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Amplitude. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

username
STRING
REQUIRED

The username of the Amplitude database user.

warehouse
STRING
REQUIRED

The name of the Amplitude Snowflake warehouse.

Example Object
{
 "type":"platform.amplitude",
 "properties":{
   "account":"<AMPLITUDE_SNOWFLAKE_ACCOUNT>",
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "start_date":"2018-01-10T00:00:00Z",
   "username":"<USERNAME>",
   "warehouse":"<AMPLITUDE_WAREHOUSE>"
   }
}

OBJECT

The Asana Source Form Property Object

Asana connections read data from the Asana API and correspond to source type: platform.asana.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Asana. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

Example Object
{
 "type":"platform.asana",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "frequency_in_minutes":"60",
   "cron_expression":"0 0 12 ? * MON-FRI *"
   }
}

OBJECT

The BigCommerce Source Form Property Object

BigCommerce connections read data from the BigCommerce API and correspond to source type: platform.bigcommerce.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

access_token
STRING
REQUIRED

The user’s BigCommerce API access token. Refer to the BigCommerce documentation for instructions on retrieving this credential.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

client_id
STRING
REQUIRED

The user’s BigCommerce API client ID. Refer to the BigCommerce documentation for instructions on retrieving this credential.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from BigCommerce. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from BigCommerce. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

store_hash
STRING
REQUIRED

The user’s BigCommerce store hash. Refer to the BigCommerce documentation for instructions on retrieving this credential.

Example Object
{
 "type":"platform.bigcommerce",
 "properties":{
   "access_token":"<API_ACCESS_TOKEN>",
   "anchor_time":"2018-04-30T17:00:00Z",
   "client_id":"<API_CLIENT_ID>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z",
   "store_hash":"<STORE_HASH>"
   }
}

OBJECT

The Bing Ads Source Form Property Object

Bing Ads connections read data from the Bing Ads API and correspond to source type: platform.bing-ads.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Bing Ads. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (1440).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

Example Object
{
 "type":"platform.bing-ads",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "frequency_in_minutes":"1440",
   "cron_expression":"0 0 12 ? * MON-FRI *"
   }
}

OBJECT

The Bronto Source Form Property Object

Bronto connections read data from the Bronto API and correspond to source type: platform.bronto.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Bronto. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Bronto. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

token
STRING
REQUIRED

The API token for the Bronto account Stitch should replicate data from.

Example Object
{
 "type":"platform.bronto",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z",
   "token":"<API_TOKEN>"
   }
}

OBJECT

The Campaign Manager Source Form Property Object

Campaign Manager connections read data from the Campaign Manager API and correspond to source type: platform.doubleclick-campaign-manager.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Campaign Manager. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

Example Object
{
 "type":"platform.doubleclick-campaign-manager",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "frequency_in_minutes":"30",
   "cron_expression":"0 0 12 ? * MON-FRI *"
   }
}

OBJECT

The Campaign Monitor Source Form Property Object

Campaign Monitor connections read data from the Campaign Monitor API and correspond to source type: platform.campaign-monitor.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

client_id
STRING
REQUIRED

The user’s Campaign Monitor API client ID. This can be found in the Campaign Monitor app in Account Settings > API keys.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Campaign Monitor. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Campaign Monitor. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.campaign-monitor",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "client_id":"<CAMPAIGN_MONITOR_CLIENT_ID>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Chargebee Source Form Property Object

Chargebee connections read data from the Chargebee API and correspond to source type: platform.chargebee.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The user’s Chargebee API key. Refer to the Chargebee documentation for info on generating this credential.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Chargebee. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

site
STRING
REQUIRED

The name of the user’s Chargebee site. This can be found in the Chargebee site URL. For example: If the URL was https://stitch.chargebee.com, only stitch would be entered into this field.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Chargebee. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.chargebee",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<CHARGEBEE_API_KEY>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "site":"<CHARGEBEE_SITE_NAME>",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Close.io Source Form Property Object

Close.io connections read data from the Close.io API and correspond to source type: platform.closeio.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The user’s API key. API keys can be generated in by navigating to Settings > Your API Keys.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Close.io. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Close.io. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.closeio",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<API_KEY>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Club Speed Source Form Property Object

Club Speed connections read data from the Club Speed API and correspond to source type: platform.clubspeed.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Club Speed. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

private_key
STRING
REQUIRED

The user’s Club Speed private API key. The user will need to contact Club Speed support to obtain this credential.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Club Speed. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

subdomain
STRING
REQUIRED

The user’s Club Speed subdomain.

For example: If the full URL is stitchdata.clubspeedtiming.com, only stitchdata should be entered.

Example Object
{
 "type":"platform.clubspeed",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "private_key":"<PRIVATE_API_KEY>",
   "start_date":"2018-01-10T00:00:00Z",
   "subdomain":"<SUBDOMAIN>"
   }
}

OBJECT

The Codat Source Form Property Object

Codat connections read data from the Codat API and correspond to source type: platform.codat.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The user’s Codat API key. Refer to the Codat documentation for instructions on retrieving this credential.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Codat. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Codat. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

uat_urls
STRING
OPTIONAL

Indicates whether the instance being connected is a UAT (sandbox) instance or not.

Example Object
{
 "type":"platform.codat",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<CODAT_API_KEY>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z",
   "uat_urls":""
   }
}

OBJECT

The Eloqua Source Form Property Object

Eloqua connections read data from the Eloqua Bulk and REST APIs and correspond to source type: platform.eloqua.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

bulk_page_size
STRING
OPTIONAL

The number of records each page in a bulk export should contain. Note: This setting only affects streams that use the Eloqua Bulk API. Refer to the Eloqua documentation for info about how each stream is replicated.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Eloqua. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Eloqua. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.eloqua",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "bulk_page_size":"5000",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Facebook Ads Source Form Property Object

Facebook Ads connections read data from the Facebook Ads API and correspond to source type: platform.facebook.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

attribution_window
STRING
OPTIONAL

Defines the number, in days, Stitch should use as an attribution window. An attribution window is the period of time for attributing results to ads and the lookback period after those actions occur during which ad results are counted.

Accepted values, in days:

  • 1
  • 7
  • 28

To ensure your Facebook Ads and Stitch settings align, we recommend using the same attribution window in Stitch that you use in Facebook Ads. For example: If the attribution window is 28 days in Facebook, this value should be 28.

If your click and view windows differ, you should select the greater of the two. For example: If clicks have a window of 7 days and views have a window of 1 day, you should enter 7 for this setting.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Facebook Ads. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

include_deleted
STRING
OPTIONAL

If true, Stitch will replicate data for deleted campaigns, ads, and adsets. Note: This data will not be included alongside insights data.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Facebook Ads. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.facebook",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "attribution_window":"7",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "include_deleted":"true",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Front Source Form Property Object

Front connections read data from the Front API and correspond to source type: platform.frontapp.

Note: To use this integration, the user must have a Premium or Enterprise Front plan. These plans include API access, which is required to use Stitch’s Front integration.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Front. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

incremental_range
STRING
REQUIRED

Defines how data will be aggregated. Accepted values are daily or hourly.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Front. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

token
STRING
REQUIRED

The user’s Front API token. Refer to the Front setup guide for instructions on how to generate this token.

Example Object
{
 "type":"platform.frontapp",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "incremental_range":"daily",
   "start_date":"2018-01-10T00:00:00Z",
   "token":"<API_TOKEN>"
   }
}

OBJECT

The FullStory Source Form Property Object

FullStory connections read data from the FullStory API and correspond to source type: platform.fullstory.

Note: To use this integration, the user must have a FullStory account with the FullStory Data Export Pack add-on. This is a paid addition that allows users to export raw event data, and is required to use FullStory’s Data Export REST API.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

A FullStory API key, used to authenticate to FullStory’s Data Export API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from FullStory. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from FullStory. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.fullstory",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<API_KEY>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The GitHub Source Form Property Object

GitHub connections read data from the GitHub API and correspond to source type: platform.github.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

access_token
STRING
REQUIRED

An access token which allows access to any project the user wants to replicate data from. Note: This access token must have the repo scope at a minimum. Refer to the GitHub documentation for more info.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from GitHub. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

repository
STRING
REQUIRED

The path or paths of the repository or repositories to be tracked. A repository path is relative to https://github.com. For example: The path for the Stitch Docs repository is stitchdata/docs

To track multiple repositories, this value should be a space delimited list of the repository paths. For example:

stitchdata/docs stitchdata/docs-about-docs
start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from GitHub. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.github",
 "properties":{
   "access_token":"<ACCESS_TOKEN>",
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "repository":"stitchdata/docs stitchdata/docs-about-docs",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Google Ads Source Form Property Object

Google Ads connections read data from the Google Ads API and correspond to source type: platform.adwords.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Google Ads. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (1440).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

Example Object
{
 "type":"platform.adwords",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "frequency_in_minutes":"1440",
   "cron_expression":"0 0 12 ? * MON-FRI *"
   }
}

OBJECT

The Google CloudSQL MySQL Source Form Property Object

A Google CloudSQL MySQL connection reads data from a Google CloudSQL MySQL database and corresponds to source type: platform.cloudsql.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

allow_non_auto_increment_pks
STRING
OPTIONAL

If true, an auto-incrementing Primary Key will not be required for tables using Full Table Replication. Auto-incrementing Primary Keys are used during full table replication to allow the replication of a table to span multiple replication jobs.

Unless set, this property will default to true.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

database
STRING
OPTIONAL

The name of the logical database to connect to.

filter_dbs
STRING
OPTIONAL

This is an internal field and is for Stitch use only.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Google CloudSQL MySQL. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 3306.

server_id
STRING
OPTIONAL

Defines the unique ID of the server that Stitch will connect to, if using Log-based (binlog) Replication.

Server IDs must be unique, as MySQL doesn’t allow replication to simultaneously occur across multiple connections using the same server ID. For more info about this setting in Stitch, refer to the MySQL documentation.

use_log_based_replication
STRING
OPTIONAL

If true, Log-based Incremental Replication will be used as the default Replication Method for tables set to replicate. This choice can be overriden on individual tables at any time.

user
STRING
REQUIRED

The username of the Google CloudSQL MySQL database user.

Example Object
{
 "type":"platform.cloudsql",
 "properties":{
   "allow_non_auto_increment_pks":"true",
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "database":"<DATABASE_NAME>",
   "filter_dbs":"",
   "frequency_in_minutes":"30",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"3306",
   "server_id":"<UNIQUE_SERVER_ID>",
   "use_log_based_replication":"true",
   "user":"<USERNAME>"
   }
}

OBJECT

The Google CloudSQL PostgreSQL Source Form Property Object

A Google CloudSQL PostgreSQL connection reads data from a Google CloudSQL PostgreSQL database and corresponds to source type: platform.cloudsql_pg.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

dbname
STRING
REQUIRED

The name of the logical database to connect to.

filter_dbs
STRING
REQUIRED

This is an internal field and is for Stitch use only.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Google CloudSQL PostgreSQL. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

include_schemas_in_destination_stream_name
STRING
REQUIRED

If true, the name of the source schema will be included in the destination table name. For example: <source_schema_name>__<table_name>. This can help prevent table name collisions when two tables canonicalize to the same name.

For more info, refer to the Database Integration Table Name Collisions guide.

itersize
STRING
REQUIRED

This is an internal field and is for Stitch use only.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 5432.

user
STRING
REQUIRED

The username of the Google CloudSQL PostgreSQL database user.

Example Object
{
 "type":"platform.cloudsql_pg",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "dbname":"<DATABASE_NAME>",
   "filter_dbs":"",
   "frequency_in_minutes":"60",
   "host":"<HOST_ADDRESS>",
   "include_schemas_in_destination_stream_name":"false",
   "itersize":"",
   "password":"<PASSWORD>",
   "port":"5432",
   "user":"<USERNAME>"
   }
}

OBJECT

The Harvest Forecast Source Form Property Object

Harvest Forecast connections read data from the Harvest Forecast API and correspond to source type: platform.harvest-forecast.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Harvest Forecast. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (3600).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

Example Object
{
 "type":"platform.harvest-forecast",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "frequency_in_minutes":"3600",
   "cron_expression":"0 0 12 ? * MON-FRI *"
   }
}

OBJECT

The Heap Source Form Property Object

Heap connections read data from data dumps in Amazon S3 buckets and correspond to source type: platform.heap.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

account_id
STRING
REQUIRED

The user’s Amazon Web Services account ID. Refer to the Heap documentation for instructions on retrieving this info.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

bucket
STRING
REQUIRED

The name of the bucket Stitch should replicate Heap data from. Heap requires that bucket names be prefixed with heap-rs3-.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

external_id
STRING
REQUIRED

The external ID associated with the Amazon Web Services (AWS) Identity Access Management (IAM) role used by Stitch. In AWS, external IDs are used to increase role security when granting access to accounts that you don’t own or have administrative access to. Stitch will provide this ID when accessing Heap.

This value can be anything, but it must be the same as the external ID provided in the AWS console when creating the Stitch IAM role. Refer to the Heap documentation for more info.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Heap. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

role_name
STRING
REQUIRED

The name of the AWS IAM role Stitch should assume when extracting data from Amazon S3. This role will have the permissions in the IAM policy associated with the role.

This value can be anything, but it must be the same as the role name provided in the AWS console when creating the Stitch IAM role.

Refer to the Heap documentation for more info.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Heap. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.heap",
 "properties":{
   "account_id":"123456789123",
   "anchor_time":"2018-04-30T17:00:00Z",
   "bucket":"heap-rs3-<BUCKET_NAME>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "external_id":"stitch_connection_12345",
   "frequency_in_minutes":"60",
   "role_name":"stitch_heap_CNTl5Br9",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Heroku Source Form Property Object

A Heroku connection reads data from a Heroku database and corresponds to source type: platform.heroku_pg.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

dbname
STRING
REQUIRED

The name of the logical database to connect to.

filter_dbs
STRING
REQUIRED

This is an internal field and is for Stitch use only.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Heroku. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

include_schemas_in_destination_stream_name
STRING
REQUIRED

If true, the name of the source schema will be included in the destination table name. For example: <source_schema_name>__<table_name>. This can help prevent table name collisions when two tables canonicalize to the same name.

For more info, refer to the Database Integration Table Name Collisions guide.

itersize
STRING
REQUIRED

This is an internal field and is for Stitch use only.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 5432.

ssl
STRING
OPTIONAL

If true, SSL will be used to connect to the database.

user
STRING
REQUIRED

The username of the Heroku database user.

Example Object
{
 "type":"platform.heroku_pg",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "dbname":"<DATABASE_NAME>",
   "filter_dbs":"",
   "frequency_in_minutes":"60",
   "host":"<HOST_ADDRESS>",
   "include_schemas_in_destination_stream_name":"false",
   "itersize":"",
   "password":"<PASSWORD>",
   "port":"5432",
   "ssl":"false",
   "user":"<USERNAME>"
   }
}

OBJECT

The HubSpot Source Form Property Object

HubSpot connections read data from the HubSpot API and correspond to source type: platform.hubspot.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from HubSpot. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

Example Object
{
 "type":"platform.hubspot",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "frequency_in_minutes":"30",
   "cron_expression":"0 0 12 ? * MON-FRI *"
   }
}

OBJECT

The Intacct Source Form Property Object

Intacct connections read data from reports exported to Amazon S3 via Intacct’s Data Delivery Service feature and correspond to source type: platform.intacct.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

account_id
STRING
REQUIRED

The user’s Amazon Web Services account ID. Refer to the Intacct documentation for instructions on retrieving this info.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

bucket
STRING
REQUIRED

The name of the bucket Stitch should replicate Intacct data from. This value should only include the bucket name: No URLs, https, or S3 parts.

company_id
STRING
REQUIRED

The user’s Intacct company ID, used to sign into Intacct.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

external_id
STRING
REQUIRED

The external ID associated with the Amazon Web Services (AWS) Identity Access Management (IAM) role used by Stitch. In AWS, external IDs are used to increase role security when granting access to accounts that you don’t own or have administrative access to. Stitch will provide this ID when accessing Intacct.

This value can be anything, but it must be the same as the external ID provided in the AWS console when creating the Stitch IAM role. Refer to the Intacct documentation for more info.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Intacct. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

path
STRING
OPTIONAL

Optional: The path configured in Intacct for use in the S3 bucket.

role_name
STRING
REQUIRED

The name of the AWS IAM role Stitch should assume when extracting data from Amazon S3. This role will have the permissions in the IAM policy associated with the role.

This value can be anything, but it must be the same as the role name provided in the AWS console when creating the Stitch IAM role.

Refer to the Intacct documentation for more info.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Intacct. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.intacct",
 "properties":{
   "account_id":"123456789123",
   "anchor_time":"2018-04-30T17:00:00Z",
   "bucket":"intacct-stitch-bucket",
   "company_id":"<COMPANY_ID>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "external_id":"stitch_connection_12345",
   "frequency_in_minutes":"60",
   "path":"/optional/bucket/path",
   "role_name":"stitch_intacct_CNTl5Br9",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Invoiced Source Form Property Object

Invoiced connections read data from the Invoiced API and correspond to source type: platform.invoiced.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The user’s Invoiced API key. Refer to the Invoiced documentation for instructions on generating this credential.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Invoiced. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

sandbox
STRING
OPTIONAL

If true, the Invoiced instance is a sandbox.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Invoiced. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.invoiced",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<INVOICED_API_KEY>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "sandbox":"false",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Jira Source Form Property Object

Jira connections read data from the Jira API and correspond to source type: platform.jira.

Stitch’s Jira source can connect to self-managed (hosted) or cloud-hosted instances. Note: The steps for connecting each type of instance vary. Refer to our JIRA documentation for more info.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

base_url
STRING
REQUIRED

The base URL for the user’s Jira instance.

Note: If connecting a self-managed (hosted) instance, the server must use the HTTPs protocl or the connection will fail.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Jira. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

password
STRING
REQUIRED

Depending on the type of Jira instance being connected, this value should be one of the following:

  • For a self-managed instance, this will be the password associated with the username.
  • For a cloud-hosted instance, this will be an API token generated by the user (username). Refer to our JIRA documentation for instructions on generating the token.
start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Jira. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

username
STRING
REQUIRED

The user’s Jira username. This will typically be the email address the user uses to sign into Jira.

Example Object
{
 "type":"platform.jira",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "base_url":"<NAME>.atlassian.net",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "password":"<PASSWORD_OR_API_TOKEN>",
   "start_date":"2018-01-10T00:00:00Z",
   "username":"<NAME>@<DOMAIN>.com"
   }
}

OBJECT

The Listrak Source Form Property Object

Listrak connections read data from the Listrak API and correspond to source type: platform.listrak.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Listrak. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

password
STRING
REQUIRED

The password associated with the Listrak user.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Listrak. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

username
STRING
REQUIRED

The user’s Listrak username.

Example Object
{
 "type":"platform.listrak",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "password":"<PASSWORD>",
   "start_date":"2018-01-10T00:00:00Z",
   "username":"<USERNAME>"
   }
}

OBJECT

The LivePerson Source Form Property Object

LivePerson connections read data from the LivePerson Data Access API and correspond to source type: platform.liveperson.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

access_token
STRING
REQUIRED

The user’s LivePerson API access token. Refer to the LivePerson documentation for instructions on creating this credential.

access_token_secret
STRING
REQUIRED

The user’s LivePerson API access token secret. Refer to the LivePerson documentation for instructions on creating this credential.

account_id
STRING
REQUIRED

The user’s LivePerson account ID.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

app_key
STRING
REQUIRED

The user’s LivePerson API app key. Refer to the LivePerson documentation for instructions on creating this credential.

app_secret
STRING
REQUIRED

The user’s LivePerson API app secret. Refer to the LivePerson documentation for instructions on creating this credential.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from LivePerson. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from LivePerson. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.liveperson",
 "properties":{
   "access_token":"<LIVEPERSON_ACCESS_TOKEN>",
   "access_token_secret":"<LIVEPERSON_ACCESS_TOKEN_SECRET>",
   "account_id":"<LIVEPERSON_ACCOUNT_ID>",
   "anchor_time":"2018-04-30T17:00:00Z",
   "app_key":"<LIVEPERSON_APP_KEY>",
   "app_secret":"<LIVEPERSON_APP_SECRET>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The MariaDB Source Form Property Object

A MariaDB connection reads data from a MariaDB database and corresponds to source type: platform.mariadb.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

allow_non_auto_increment_pks
STRING
OPTIONAL

If true, an auto-incrementing Primary Key will not be required for tables using Full Table Replication. Auto-incrementing Primary Keys are used during full table replication to allow the replication of a table to span multiple replication jobs.

Unless set, this property will default to true.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

database
STRING
OPTIONAL

The name of the logical database to connect to.

filter_dbs
STRING
OPTIONAL

This is an internal field and is for Stitch use only.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from MariaDB. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 3306.

server_id
STRING
OPTIONAL

Defines the unique ID of the server that Stitch will connect to, if using Log-based (binlog) Replication.

Server IDs must be unique, as MySQL doesn’t allow replication to simultaneously occur across multiple connections using the same server ID. For more info about this setting in Stitch, refer to the MySQL documentation.

ssh
STRING
OPTIONAL

If true, an SSH tunnel will be used to connect to the database.

ssh_host
STRING
OPTIONAL

The IP address or hostname of the SSH server. This property is only required if ssh: true.

ssh_port
STRING
OPTIONAL

The port of the SSH server. This property is only required if ssh: true.

ssh_user
STRING
OPTIONAL

The username of the SSH user. This property is only required if ssh: true.

ssl
STRING
OPTIONAL

If true, SSL will be used to connect to the database.

use_log_based_replication
STRING
OPTIONAL

If true, Log-based Incremental Replication will be used as the default Replication Method for tables set to replicate. This choice can be overriden on individual tables at any time.

user
STRING
REQUIRED

The username of the MariaDB database user.

Example Object
{
 "type":"platform.mariadb",
 "properties":{
   "allow_non_auto_increment_pks":"true",
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "database":"<DATABASE_NAME>",
   "filter_dbs":"",
   "frequency_in_minutes":"30",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"3306",
   "server_id":"<UNIQUE_SERVER_ID>",
   "ssh":"true",
   "ssh_host":"<SSH_HOST>",
   "ssh_port":"22",
   "ssh_user":"<SSH_USERNAME>",
   "ssl":"false",
   "use_log_based_replication":"true",
   "user":"<USERNAME>"
   }
}

OBJECT

The Marketo Bulk Source Form Property Object

Marketo Bulk connections read data from the Marketo Bulk API and correspond to source type: platform.marketobulk.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

client_id
STRING
REQUIRED

The user’s Marketo client ID.

client_secret
STRING
REQUIRED

The user’s Marketo client secret.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (720).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

endpoint
STRING
REQUIRED

The user’s Marketo REST endpoint URL. For example: https://457-RFG-234.mktorest.com/rest

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Marketo Bulk. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Marketo Bulk. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.marketobulk",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "client_id":"<MARKETO_CLIENT_ID>",
   "client_secret":"<MARKETO_CLIENT_SECRET>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "endpoint":"https://<some-id-here>.mktorest.com/rest",
   "frequency_in_minutes":"720",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Marketo Source Form Property Object

Marketo connections read data from the Marketo API and correspond to source type: platform.marketo.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

client_id
STRING
REQUIRED

The user’s Marketo client ID.

client_secret
STRING
REQUIRED

The user’s Marketo client secret.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (720).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

endpoint
STRING
REQUIRED

The user’s Marketo REST endpoint URL. For example: https://457-RFG-234.mktorest.com/rest

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Marketo. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

identity
STRING
REQUIRED

The user’s Marketo REST identity URL. For example: https://457-RFG-234.mktorest.com/identity

max_daily_calls
STRING
OPTIONAL

The maximum number of daily API calls that Stitch may make to the Marketo API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Marketo. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.marketo",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "client_id":"<MARKETO_CLIENT_ID>",
   "client_secret":"<MARKETO_CLIENT_SECRET>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "endpoint":"https://<some-id-here>.mktorest.com/rest",
   "frequency_in_minutes":"720",
   "identity":"https://<some-id-here>.mktorest.com/identity",
   "max_daily_calls":"",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Microsoft SQL Server Source Form Property Object

A Microsoft SQL Server connection reads data from a Microsoft SQL Server database and corresponds to source type: platform.mssql.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

database
STRING
OPTIONAL

The name of the logical database to connect to.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Microsoft SQL Server. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 1433.

ssh
STRING
OPTIONAL

If true, an SSH tunnel will be used to connect to the database.

ssh_host
STRING
OPTIONAL

The IP address or hostname of the SSH server. This property is only required if ssh: true.

ssh_port
STRING
OPTIONAL

The port of the SSH server. This property is only required if ssh: true.

ssh_user
STRING
OPTIONAL

The username of the SSH user. This property is only required if ssh: true.

ssl
STRING
OPTIONAL

If true, SSL will be used to connect to the database.

use_log_based_replication
STRING
OPTIONAL

If true, Log-based Incremental Replication will be used as the default Replication Method for tables set to replicate. This choice can be overriden on individual tables at any time.

user
STRING
REQUIRED

The username of the Microsoft SQL Server database user.

Example Object
{
 "type":"platform.mssql",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "database":"<DATABASE_NAME>",
   "frequency_in_minutes":"30",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"1433",
   "ssh":"true",
   "ssh_host":"<SSH_HOST>",
   "ssh_port":"22",
   "ssh_user":"<SSH_USERNAME>",
   "ssl":"false",
   "use_log_based_replication":"true",
   "user":"<USERNAME>"
   }
}

OBJECT

The MySQL Source Form Property Object

A MySQL connection reads data from a MySQL database and corresponds to source type: platform.mysql.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

allow_non_auto_increment_pks
STRING
OPTIONAL

If true, an auto-incrementing Primary Key will not be required for tables using Full Table Replication. Auto-incrementing Primary Keys are used during full table replication to allow the replication of a table to span multiple replication jobs.

Unless set, this property will default to true.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

check_hostname
STRING
OPTIONAL

Optional: This property works with the verify_mode property to validate that the hostname of the database server matches the name in the provided certificate. Accepted values are:

  • true
  • false

Note: If the user doesn’t want to use a custom CA, this property and the verify_mode property should both be enabled (true).

cron_expression
STRING
OPTIONAL

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

database
STRING
OPTIONAL

The name of the logical database to connect to.

filter_dbs
STRING
OPTIONAL

This is an internal field and is for Stitch use only.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from MySQL. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 3306.

server_id
STRING
OPTIONAL

Defines the unique ID of the server that Stitch will connect to, if using Log-based (binlog) Replication.

Server IDs must be unique, as MySQL doesn’t allow replication to simultaneously occur across multiple connections using the same server ID. For more info about this setting in Stitch, refer to the MySQL documentation.

ssh
STRING
OPTIONAL

If true, an SSH tunnel will be used to connect to the database.

ssh_host
STRING
OPTIONAL

The IP address or hostname of the SSH server. This property is only required if ssh: true.

ssh_port
STRING
OPTIONAL

The port of the SSH server. This property is only required if ssh: true.

ssh_user
STRING
OPTIONAL

The username of the SSH user. This property is only required if ssh: true.

ssl
STRING
OPTIONAL

If true, SSL will be used to connect to the database.

ssl_ca
STRING
OPTIONAL

Optional: The certificate (typically a CA or server certificate) Stitch should verify the SSL connection against. The connection will succeed only if the server’s certifcate verifies against the certificate provided.

Note: Providing a certifcate via this property isn’t required to use SSL. This is only if Stitch should verify the connection against a specific certificate.

ssl_cert
STRING
OPTIONAL

Optional: If ssl_client_auth_enabled: true, the SSL client authentication cerficiate stitch should use. The ssl_key property must also be provided to ensure the connection is successful.

ssl_client_auth_enabled
STRING
OPTIONAL

Optional: Indicates if SSL client authentication should be used. Accepted values are:

  • true
  • false
ssl_key
STRING
OPTIONAL

Optional: If ssl_client_auth_enabled: true, the SSL client authentication key stitch should use. The ssl_ca property must also be provided to ensure the connection is successful.

use_log_based_replication
STRING
OPTIONAL

If true, Log-based Incremental Replication will be used as the default Replication Method for tables set to replicate. This choice can be overriden on individual tables at any time.

user
STRING
REQUIRED

The username of the MySQL database user.

verify_mode
STRING
OPTIONAL

Optional: SSL certificate verification is enabled when a Certificate Authority (CA) is provided. If true, Stitch will enforce it in lieu of a custom CA. Accepted values are:

  • true
  • false

Note: If the user doesn’t want to use a custom CA, this property and the check_hostname property should both be enabled (true).

Example Object
{
 "type":"platform.mysql",
 "properties":{
   "allow_non_auto_increment_pks":"true",
   "anchor_time":"2018-04-30T17:00:00Z",
   "check_hostname":"true",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "database":"<DATABASE_NAME>",
   "filter_dbs":"",
   "frequency_in_minutes":"60",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"3306",
   "server_id":"<UNIQUE_SERVER_ID>",
   "ssh":"true",
   "ssh_host":"<SSH_HOST>",
   "ssh_port":"22",
   "ssh_user":"<SSH_USERNAME>",
   "ssl":"false",
   "ssl_ca":"<SSL_CERTIFICATE>",
   "ssl_cert":"<CA_CERTIFICATE>",
   "ssl_client_auth_enabled":"true",
   "ssl_key":"<CA_KEY>",
   "use_log_based_replication":"true",
   "user":"<USERNAME>",
   "verify_mode":"true"
   }
}

OBJECT

The NetSuite Source Form Property Object

NetSuite connections read data from the NetSuite SuiteTalk API and correspond to source type: platform.netsuite.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

account
STRING
REQUIRED

The user’s NetSuite account ID. If the account ID includes a suffix, it should be included. For example: 1234567_sb2

Refer to the NetSuite documentation for instructions on retrieving this info.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

consumer_key
STRING
REQUIRED

The consumer key for Stitch’s integration record in the user’s NetSuite account. This is used when performing token-based authentication to NetSuite.

Refer to the NetSuite documentation for instructions on retrieving this info.

consumer_secret
STRING
REQUIRED

The consumer secret for Stitch’s integration record in the user’s NetSuite account. This is used when performing token-based authentication to NetSuite.

Refer to the NetSuite documentation for instructions on retrieving this info.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from NetSuite. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from NetSuite. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

token_id
STRING
REQUIRED

The token ID, created as part of generating access tokens for Stitch’s integration record in the user’s NetSuite account. This is used when performing token-based authentication to NetSuite.

Refer to the NetSuite documentation for instructions on retrieving this info.

token_secret
STRING
REQUIRED

The token secret, created as part of generating access tokens for Stitch’s integration record in the user’s NetSuite account. This is used when performing token-based authentication to NetSuite.

Refer to the NetSuite documentation for instructions on retrieving this info.

Example Object
{
 "type":"platform.netsuite",
 "properties":{
   "account":"1234567_sb2",
   "anchor_time":"2018-04-30T17:00:00Z",
   "consumer_key":"<NETSUITE_CONSUMER_KEY>",
   "consumer_secret":"<NETSUITE_CONSUMER_SECRET>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z",
   "token_id":"<NETSUITE_TOKEN_ID>",
   "token_secret":"<NETSUITE_TOKEN_SECRET>"
   }
}

OBJECT

The Onfleet Source Form Property Object

Onfleet connections read data from the Onfleet API and correspond to source type: platform.onfleet.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The user’s Onfleet API key. Refer to the Onfleet documentation for instructions on creating this credential.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Onfleet. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

quota_limit
STRING
REQUIRED

The percentage of the Onfleet API quota Stitch is allowed to use for this connection.

Onfleet limits API requests to 20 requests per second across all API keys in a given Onfleet account.

For example: If this value is 10, Stitch would be allowed to use 10% of the API quota, or 2 requests per second.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Onfleet. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.onfleet",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<ONFLEET_API_KEY>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "quota_limit":"10",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Oracle Source Form Property Object

An Oracle connection reads data from an Oracle database and corresponds to source type: platform.oracle.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

default_replication_method
STRING
REQUIRED

The replication method to be used as the default method for tables set to replicate. Accepted values are:

filter_schemas
STRING
OPTIONAL

This is an internal field and is for Stitch use only.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Oracle. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 1521.

sid
STRING
REQUIRED

The database’s Oracle System ID (SID). A SID is used to uniquely identify a specific database in Oracle.

ssh
STRING
OPTIONAL

If true, an SSH tunnel will be used to connect to the database.

ssh_host
STRING
OPTIONAL

The IP address or hostname of the SSH server. This property is only required if ssh: true.

ssh_port
STRING
OPTIONAL

The port of the SSH server. This property is only required if ssh: true.

ssh_user
STRING
OPTIONAL

The username of the SSH user. This property is only required if ssh: true.

ssl
STRING
OPTIONAL

If true, SSL will be used to connect to the database.

user
STRING
REQUIRED

The username of the Oracle database user.

Example Object
{
 "type":"platform.oracle",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "default_replication_method":"LOG_BASED",
   "filter_schemas":"",
   "frequency_in_minutes":"30",
   "host":"<HOST_ADDRESS>",
   "password":"<PASSWORD>",
   "port":"1521",
   "sid":"<ORACLE_SID>",
   "ssh":"true",
   "ssh_host":"<SSH_HOST>",
   "ssh_port":"22",
   "ssh_user":"<SSH_USERNAME>",
   "ssl":"false",
   "user":"<USERNAME>"
   }
}

OBJECT

The Pipedrive Source Form Property Object

Pipedrive connections read data from the Pipedrive API and correspond to source type: platform.pipedrive.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_token
STRING
REQUIRED

A Pipedrive API token, used to authenticate to Pipedrive’s API.

Note: In Pipedrive, API tokens are unique to each Pipedrive user. The API token provided should be associated with a Pipedrive user with Admin permissions, which will ensure Stitch can successfully access and replicate all data from Pipedrive.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Pipedrive. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Pipedrive. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.pipedrive",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_token":"<API_TOKEN>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The PostgreSQL Source Form Property Object

A PostgreSQL connection reads data from a PostgreSQL database and corresponds to source type: platform.postgres.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

dbname
STRING
REQUIRED

The name of the logical database to connect to.

debug_lsn
STRING
OPTIONAL

This is an internal field and is for Stitch use only.

filter_dbs
STRING
REQUIRED

This is an internal field and is for Stitch use only.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from PostgreSQL. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The IP address or hostname of the database server.

include_schemas_in_destination_stream_name
STRING
REQUIRED

If true, the name of the source schema will be included in the destination table name. For example: <source_schema_name>__<table_name>. This can help prevent table name collisions when two tables canonicalize to the same name.

For more info, refer to the Database Integration Table Name Collisions guide.

itersize
STRING
REQUIRED

This is an internal field and is for Stitch use only.

logical_poll_total_seconds
STRING
OPTIONAL

The total amount of time, in seconds, that the integration should be allowed to poll for records while performing Log-based Incremental Replication.

password
STRING
REQUIRED

The password for the user connecting to the database server. Note: This property will never be returned by the API, but it can be submitted when creating or modifying a connection.

port
INTEGER
REQUIRED

The port of the database server. The default is 5432.

ssh
STRING
OPTIONAL

If true, an SSH tunnel will be used to connect to the database.

ssh_host
STRING
OPTIONAL

The IP address or hostname of the SSH server. This property is only required if ssh: true.

ssh_port
STRING
OPTIONAL

The port of the SSH server. This property is only required if ssh: true.

ssh_user
STRING
OPTIONAL

The username of the SSH user. This property is only required if ssh: true.

ssl
STRING
OPTIONAL

If true, SSL will be used to connect to the database.

user
STRING
REQUIRED

The username of the PostgreSQL database user.

Example Object
{
 "type":"platform.postgres",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "dbname":"<DATABASE_NAME>",
   "debug_lsn":"",
   "filter_dbs":"",
   "frequency_in_minutes":"60",
   "host":"<HOST_ADDRESS>",
   "include_schemas_in_destination_stream_name":"false",
   "itersize":"",
   "logical_poll_total_seconds":"1800",
   "password":"<PASSWORD>",
   "port":"5432",
   "ssh":"true",
   "ssh_host":"<SSH_HOST>",
   "ssh_port":"22",
   "ssh_user":"<SSH_USERNAME>",
   "ssl":"false",
   "user":"<USERNAME>"
   }
}

OBJECT

The Quick Base Source Form Property Object

Quick Base connections read data from the Quick Base API and correspond to source type: platform.quickbase.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Quick Base. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

qb_appid
STRING
REQUIRED

The ID of the Quick Base app the user wants to connect. This is a unique alpha-numeric string that can be found in the app’s URL when the user is logged into Quick Base.

For example: If the app URL is https://stitchdata.quickbase.com/db/bngf9ix7e, the app ID is bngf9ix7e.

qb_url
STRING
REQUIRED

The URL of the user’s Quick Base realm. This value must include the https:// and the trailing backslash after db/.

For example: If the realm URL is https://stitchdata.quickbase.com/db/main?a=myqb, the URL required is https://stitchdata.quickbase.com/db/.

qb_user_token
STRING
REQUIRED

The user’s Quick Base user token. Refer to Stitch’s Quick Base documentation for creation instructions.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Quick Base. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.quickbase",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "qb_appid":"<APPID>",
   "qb_url":"https://<your-subdomain-here>.quickbase.com/db/",
   "qb_user_token":"<QUICK_BASE_USER_TOKEN>",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Recurly Source Form Property Object

Recurly connections read data from the Recurly API and correspond to source type: platform.recurly.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The user’s Recurly API key. Refer to the Recurly documentation for instructions on generating this credential.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Recurly. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

quota_limit
STRING
REQUIRED

The percentage of the API rate limit that should be allocated to Stitch replicating from Recurly. For example: A value of 30 would be 30% of the rate limit. Refer to Recurly’s documentation for more info.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Recurly. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

subdomain
STRING
REQUIRED

The user’s Recurly subdomain. For example: If the full URL were https://stitchdata.recurly.com, the value of this property would be stitchdata.

Example Object
{
 "type":"platform.recurly",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<API_KEY>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "quota_limit":"30",
   "start_date":"2018-01-10T00:00:00Z",
   "subdomain":"<RECURLY_SUBDOMAIN>"
   }
}

OBJECT

The Responsys Source Form Property Object

A Responsys connection reads data from a Responsys database and corresponds to source type: platform.responsys.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Responsys. Accepted values are:

  • 1

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

host
STRING
REQUIRED

The host address of the Responsys SFTP server. If the server is hosted by Oracle, this will likely be files.responsys.net.

path
STRING
REQUIRED

The file server path where completed Responsys export files are stored.

port
STRING
REQUIRED

The port of the SFTP server. As Stitch uses an SSH tunnel to connect to Responsys, this will likely be the default SSH port (22).

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Responsys. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

username
STRING
REQUIRED

The username of the Responsys database user.

Example Object
{
 "type":"platform.responsys",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "host":"<HOST_ADDRESS>",
   "path":"<PATH>",
   "port":"22",
   "start_date":"2018-01-10T00:00:00Z",
   "username":"<USERNAME>"
   }
}

OBJECT

The Revinate Source Form Property Object

Revinate connections read data from the Revinate API and correspond to source type: revinate.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The user’s Revinate API key. The user can obtain this by contacting their Revinate sales representative or account manager.

api_secret
STRING
REQUIRED

The user’s Revinate API secret. The user can obtain this by contacting their Revinate sales representative or account manager.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Revinate. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Revinate. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

username
STRING
REQUIRED

The user’s Revinate username.

Example Object
{
 "type":"revinate",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<API_KEY>",
   "api_secret":"<API_SECRET>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z",
   "username":"<USERNAME>"
   }
}

OBJECT

The Salesforce Source Form Property Object

Salesforce connections read data from the Salesforce API and correspond to source type: platform.salesforce.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_type
STRING
REQUIRED

The Salesforce API Stitch should use to extract data. Possible values are REST or BULK. Read about the pros and cons of each API here.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Salesforce. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

is_sandbox
STRING
OPTIONAL

If true, the Salesforce account being connected is a sandbox.

quota_percent_per_run
STRING
OPTIONAL

The maximum percentage of Salesforce API quota allowed per replication job.

quota_percent_total
STRING
OPTIONAL

The maximum percentage of Salesforce API quota allowed per day.

select_fields_by_default
STRING
REQUIRED

If true, Stitch will automatically set new fields added in Salesforce to replicate.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Salesforce. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.salesforce",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_type":"BULK",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "is_sandbox":"false",
   "quota_percent_per_run":"20",
   "quota_percent_total":"80",
   "select_fields_by_default":"false",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The SendGrid Source Form Property Object

SendGrid connections read data from the SendGrid API and correspond to source type: platform.sendgrid.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The SendGrid API key. Refer to SendGrid’s documentation for info about permissions and creating keys.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from SendGrid. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from SendGrid. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.sendgrid",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<API_KEY>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The ShipHero Source Form Property Object

ShipHero connections read data from the ShipHero API and correspond to source type: platform.shiphero.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_token
STRING
REQUIRED

A ShipHero API token, used to authenticate to ShipHero’s API.

Note: In the ShipHero app, this is referred to as an API Key.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from ShipHero. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from ShipHero. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.shiphero",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_token":"<API_TOKEN>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Shopify Source Form Property Object

Shopify connections read data from the Shopify API and correspond to source type: platform.shopify.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Shopify. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

shop
STRING
REQUIRED

The name of the Shopify shop.

For example: If the shop URL was stitch-data.shopify.com, this value would be stitch-data.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Shopify. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.shopify",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"30",
   "shop":"stitch-data",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Stripe Source Form Property Object

Stripe connections read data from the Stripe API and correspond to source type: platform.stripe.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Stripe. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

Example Object
{
 "type":"platform.stripe",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "frequency_in_minutes":"30",
   "cron_expression":"0 0 12 ? * MON-FRI *"
   }
}

OBJECT

The Toggl Source Form Property Object

Toggl connections read data from the Toggl API and correspond to source type: platform.toggl.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_token
STRING
REQUIRED

The user’s Toggl API token. For more info and instructions on retrieving this credential, refer to our Toggl setup documentation.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

detailed_report_trailing_days
STRING
REQUIRED

The number of days Stitch should replicate time entry data for during each replication job. This is only applicable to the time_entries stream.

For example: If this value is 5, Stitch will replicate the past five days’ worth of data for the time_entries stream during every replication job.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Toggl. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Toggl. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.toggl",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_token":"<API_TOKEN>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "detailed_report_trailing_days":"5",
   "frequency_in_minutes":"30",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Typeform Source Form Property Object

Typeform connections read data from the Typeform API and correspond to source type: platform.typeform.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

forms
STRING
REQUIRED

The Typeform form ID(s) the user wants Stitch to replicate. If replicating multiple forms, enter the IDs as a comma-separated list. For example: "<FORM_ID_1>, <FORM_ID_2>" Refer to our Typeform documentation for instructions on retrieving form IDs.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Typeform. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

incremental_range
STRING
REQUIRED

The type of data aggregation Stitch should use when replicating Typeform data. Accepted values are:

  • daily
  • hourly
start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Typeform. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

token
STRING
REQUIRED

The user’s Typeform API token. Refer to our Typeform documentation for instructions on generating the token.

Example Object
{
 "type":"platform.typeform",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "forms":"<FORM_ID_1>, <FORM_ID_2>",
   "frequency_in_minutes":"60",
   "incremental_range":"daily",
   "start_date":"2018-01-10T00:00:00Z",
   "token":"<TYPEFORM_API_TOKEN>"
   }
}

OBJECT

The UserVoice Source Form Property Object

UserVoice connections read data from the UserVoice API and correspond to source type: platform.uservoice.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The UserVoice API key. API keys must be generated by a user who can access Settings in their UserVoice account. Refer to UserVoice’s documentation for credential generation instructions.

api_secret
STRING
REQUIRED

The UserVoice API secret. API secrets must be generated by a user who can access Settings in their UserVoice account. Refer to UserVoice’s documentation for credential generation instructions.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from UserVoice. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from UserVoice. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

subdomain
STRING
REQUIRED

The subdomain of the UserVoice account to replicate data from. For example: If the full subdomain were stitch.uservoice.com, only stitch would be provided.

Example Object
{
 "type":"platform.uservoice",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<API_KEY>",
   "api_secret":"<SECRET>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z",
   "subdomain":"<SUBDOMAIN>"
   }
}

OBJECT

The Xero Source Form Property Object

Xero connections read data from the Xero API and correspond to source type: platform.xero.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Xero. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

Example Object
{
 "type":"platform.xero",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "frequency_in_minutes":"60",
   "cron_expression":"0 0 12 ? * MON-FRI *"
   }
}

OBJECT

The Yotpo Source Form Property Object

Yotpo connections read data from the Yotpo API and correspond to source type: platform.yotpo.

Note: Creating a Yotpo source requires Yotpo API credentials. Retrieving these credentials requires Yotpo Account Administrator permissions. Refer to Yotpo’s documentation for more info.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

api_key
STRING
REQUIRED

The API Key for the Yotpo account Stitch should replicate data from. This is the App Key field in the Yotpo app, accessed by clicking User menu (people icon) > Account Settings > Store tab.

api_secret
STRING
REQUIRED

The API Secret for the Yotpo account Stitch should replicate data from. This is the Secret Key field in the Yotpo app, accessed by clicking User menu (people icon) > Account Settings > Store tab.

Note: Yotpo Account Administrator permissions are required to retrieve this information.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (60).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Yotpo. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Yotpo. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

Example Object
{
 "type":"platform.yotpo",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "api_key":"<API_KEY>",
   "api_secret":"<API_SECRET>",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"60",
   "start_date":"2018-01-10T00:00:00Z"
   }
}

OBJECT

The Zendesk Source Form Property Object

Zendesk connections read data from the Zendesk API and correspond to source type: platform.zendesk.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (3600).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Zendesk. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Zendesk. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

subdomain
STRING
REQUIRED

The prefix of the Zendesk subdomain Stitch should replicate data from.

For example: If the address is stitchdata.zendesk.com, only stitchdata would be entered as the value.

Example Object
{
 "type":"platform.zendesk",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "frequency_in_minutes":"3600",
   "start_date":"2018-01-10T00:00:00Z",
   "subdomain":"<YOUR_ZENDESK_SUBDOMAIN>"
   }
}

OBJECT

The Zuora Source Form Property Object

Zuora connections read data from the Zuora API and correspond to source type: platform.zuora.

Note: Attributes marked as REQUIRED must be provided before the source can be considered fully_configured.

anchor_time
STRING
OPTIONAL

Defines the time that frequency_in_minutes is “anchored” to, which Stitch will use to create the integration’s replication schedule. In Stitch, this is referred to as Anchor Scheduling.

This field must contain an ISO 8601-compliant date. Note: When Stitch stores this value, it will be in UTC. You should provide this value in UTC to ensure the desired anchor time is retained.

For example: You want to create a schedule that is anchored to 1:00PM EST and runs every 6 hours (360 minutes). To do this, you can set anchor_time to something like 2018-04-30T17:00:00Z and frequency_in_minutes to 360. This means jobs would run at 23:00:00, 05:00:00, 11:00:00, and so on.

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

cron_expression
STRING
OPTIONAL

Note: Advanced Scheduling using Cron is not yet supported for this source. A value may be submitted for this property if the account is on an Enterprise plan, but Stitch will not use the expression submitted.

A valid Quartz cron expression representing the replication schedule for the integration. Refer to the Advanced Scheduling documentation for more info.

Note: If neither a cron_expression or frequency_in_minutes property is provided, Stitch will use the source’s default frequency_in_minutes value (30).

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

european
STRING
OPTIONAL

If true, the Zuora account being connected is based in Europe.

frequency_in_minutes
STRING
REQUIRED

Defines how often, in minutes, Stitch should attempt to replicate data from Zuora. Accepted values are:

  • 30
  • 60
  • 360
  • 720
  • 1440

Refer to the Replication Scheduling for API sources guide for more info about replication scheduling using the API.

password
STRING
REQUIRED

The password associated with the Zuora user authorizing the connection.

sandbox
STRING
OPTIONAL

If true, the Zuora account being connected is a sandbox.

start_date
STRING
REQUIRED

The date from which Stitch should begin replicating data from Zuora. Data from this date forward will be replicated.

This field must contain an ISO 8601-compliant date, and the timestamp must be midnight. For example: 2018-01-01T00:00:00Z

username
STRING
REQUIRED

The username of the Zuora user authorizing the connection. To successfully create a connection, this user must:

  1. Have Standard user permissions across the board,
  2. Have two-factor authentication disabled. Refer to this Zuora article for assistance in disabling this setting.
  3. Have credentials that don’t expire. This is only applicable if Password Expiration rules are enforced. Refer to Zuora’s documentation for a workaround.

For more info, refer to our Zuora integration documentation.

Example Object
{
 "type":"platform.zuora",
 "properties":{
   "anchor_time":"2018-04-30T17:00:00Z",
   "cron_expression":"0 0 12 ? * MON-FRI *",
   "european":"false",
   "frequency_in_minutes":"30",
   "password":"<PASSWORD>",
   "sandbox":"false",
   "start_date":"2018-01-10T00:00:00Z",
   "username":"<USERNAME>"
   }
}