Release Status Released Supported By Stitch
Availability Premium Status Page Recurly Status Page
Default Historical Sync 1 year Default Replication Frequency 30 minutes
Whitelisting Unsupported Destination Incompatibilities None

Connecting Recurly

Connecting your Recurly data to Stitch is a four-step process:

  1. Generate a Recurly API Key
  2. Add Recurly as a Stitch data source
  3. Define the Historical Sync
  4. Define the Replication Frequency

Generating a Recurly API Key

Note that to generate an API key, you’ll need Admin permissions in your Recurly account.

  1. Sign into your Recurly account.
  2. From the Recurly dashboard, click the Developers option in the sidebar.
  3. Click API credentials.
  4. Click the Add Private API Key button.
  5. Enter a name for the key. We recommend something that will tell you, at a glance, who or what is using the key - for example, ‘Stitch.’
  6. The last section - Will this key be used with a third-party application? - is optional.

    If you want to enter something here, you can select Other from the dropdown menu and then type Stitch into the Application Name field.

  7. When finished, click the Save Changes button to generate the key.

Leave this page open for now - you’ll need it to complete the setup in Stitch.

Add Recurly as a Stitch Data Source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Recurly icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Recurly” would create a schema called stitch_recurly in the destination. Note: Schema names cannot be changed after you save the integration.

  5. Enter the subdomain for your Recurly site. For example, if our subdomain were stitch.recurly.com, we would just enter stitch into this field.
  6. Paste the Recurly API key you generated into the API Key field.

Define the Historical Sync

The Sync Historical Data setting will define the starting date for your Recurly integration. This means that:

  • For tables using Incremental Replication, data equal to or newer than this date will be replicated to your data warehouse.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Recurly’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Stitch offers two methods of creating a replication schedule:

  • Replication Frequency: This method requires selecting the interval you want replication to run for the integration. Start times of replication jobs are based on the start time and duration of the previous job. Refer to the Replication Frequency documentation for more information and examples.
  • Anchor scheduling: Based on the Replication Frequency, or interval, you select, this method “anchors” the start times of this integration’s replication jobs to a time you select to create a predictable schedule. Anchor scheduling is a combination of the Anchor Time and Replication Frequency settings, which must both be defined to use this method. Additionally, note that:

    • A Replication Frequency of at least one hour is required to use anchor scheduling.
    • An initial replication job may not begin immediately after saving the integration, depending on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.

To help prevent overages, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Initial and historical replication jobs

After you finish setting up Recurly, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Recurly Schema

Stitch's Recurly integration includes these tables:


recurly_accounts

Replication Method: Key-based Incremental
Primary Key: account_code
Contains Nested Structures?: No

The recurly_accounts table contains comprehensive customer account information.

Table Info & Attributes

recurly_accounts Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes. Refer to Recurly's documentation for a full list and description of each attribute.

  • account_code

  • adjustments

  • account_balance

  • billing_info

  • invoices

  • redemption

  • subscriptions

  • transactions

  • state

  • username

  • email

  • cc_emails

  • first_name

  • last_name

  • company_name

  • vat_number

  • tax_exempt

  • address__address1

  • address__address2

  • address__city

  • address__state

  • address__zip

  • address__country

  • address__phone

  • shipping__address

  • shipping__first_name

  • shipping__last_name

  • shipping__company_name

  • shipping__email

  • shipping__phone

  • shipping__vat_number

  • shipping__address1

  • shipping__address2

  • shipping__city

  • shipping__state

  • shipping__zip

  • shipping__country

  • shipping__nickname

  • accept_language

  • hosted_login_token

  • created_at

  • updated_at

  • closed_at

recurly_add_ons

Replication Method: Key-based Incremental
Primary Key: add_on_code
Contains Nested Structures?: Yes

The recurly_add_ons table contains info about plan add-ons, which are additional products in your plan that recur.

Table Info & Attributes

recurly_add_ons & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

recurly_add_ons Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes. Refer to Recurly's documentation for a full list and description of each attribute.

  • add_on_code

  • plan_code

  • name

  • uuid

  • state

  • unit_amount_in_cents*

  • currency

  • quantity

  • activated_at

  • canceled_at

  • expires_at

  • updated_at

  • total_billing_cycles

  • remaining_billing_cycles

  • current_period_started_at

  • current_period_ends_at

  • trial_started_at

  • trial_ends_at

  • terms_and_conditions

  • customer_notes

  • tax_in_cents

  • tax_type

  • tax_region

  • tax_rate

  • po_number

  • net_terms

  • collection_method

  • subscription_add_ons*

recurly_billing_info

Replication Method: Key-based Incremental
Primary Key: account_href
Contains Nested Structures?: No

The recurly_billing_info table contains info about your customers' billing details. Note that while there isn't sensitive info (e.g. credit card numbers) in this table, you should still work to keep this data private as there are columns containing bank information.

Table Info & Attributes

recurly_billing_info Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes.

  • account_href

  • first_name

  • last_name

  • company

  • address1

  • address2

  • city

  • state

  • zip

  • country

  • phone

  • vat_number

  • ip_address

  • ip_address_country

  • card_type

  • year

  • month

  • first_six

  • last_four

recurly_coupons

Replication Method: Key-based Incremental
Primary Key: coupon_code
Contains Nested Structures?: Yes

The recurly_coupons table contains info on active coupons.

Table Info & Attributes

recurly_coupons & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

recurly_coupons Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes. Refer to Recurly's documentation for a full list and description of each attribute.

  • coupon_code

  • name

  • state

  • description

  • discount_type

  • discount_percent

  • invoice_description

  • redeem_by_date

  • single_use

  • applies_for_months

  • max_redemptions

  • applies_to_all_plans

  • created_at

  • updated_at

  • deleted_at

  • duration

  • temporal_unit

  • temporal_amount

  • applies_to_non_plan_charges

  • redemption_resource

  • max_redemption_per_account

  • coupon_type

  • plan_codes*

recurly_invoices

Replication Method: Key-based Incremental
Primary Key: invoice_number
Contains Nested Structures?: Yes

The recurly_invoices table contains info about the invoices in your Recurly account.

Table Info & Attributes

recurly_invoices & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

recurly_invoices Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes. Refer to Recurly's documentation for a full list and description of each attribute.

  • invoice_number

  • address__address1

  • address__address2

  • address__city

  • address__state

  • address__zip

  • address__country

  • address__phone

  • shipping_address__address1

  • shipping_address__address2

  • shipping_address__city

  • shipping_address__state

  • shipping_address__zip

  • shipping_address__country

  • shipping_address__phone

  • uuid

  • state

  • po_number

  • vat_number

  • subtotal_in_cents

  • tax_in_cents

  • total_in_cents

  • currency

  • created_at

  • updated_at

  • closed_at

  • terms_and_conditions

  • customer_notes

  • tax_type

  • tax_region

  • tax_rate

  • net_terms

  • collection_method

  • line_items*

recurly_plans

Replication Method: Full Table
Primary Key: plan_code
Contains Nested Structures?: Yes

The recurly_plans table contains the data relating to each of your plans.

Table Info & Attributes

recurly_plans & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

recurly_plans Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes.

  • plan_code

  • name

  • description

  • success_url

  • cancel_url

  • display_donation_amounts

  • display_quantity

  • display_phone_number

  • display_hosted_confirmation

  • unit_name

  • payment_page_tos_link

  • plan_interval_length

  • plan_interval_unit

  • trial_interval_length

  • trial_interval_unit

  • total_billing_cycles

  • accounting_code

  • setup_fee_accounting_code

  • created_at

  • updated_at

  • revenue_schedule_type

  • setup_fee_schedule_type

  • tax_exempt

  • tax_code

  • unit_amount_in_cents*

  • setup_fee_in_cents*

recurly_redemptions

Replication Method: Key-based Incremental
Primary Key: uuid
Contains Nested Structures?: No

The recurly_redemptions table contains data on coupon redemptions at the account level.

Table Info & Attributes

recurly_redemptions Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes. Refer to Recurly's documentation for a full list and description of each attribute.

  • uuid

  • single_use

  • total_discounted_in_cents

  • currency

  • state

  • coupon_code

  • created_at

  • updated_at

recurly_subscriptions

Replication Method: Key-based Incremental
Primary Key: uuid
Contains Nested Structures?: Yes

The recurly_subscriptions table contains a record of all your subscriptions.

Table Info & Attributes

recurly_subscriptions & Nested Structures

This table contains nested structures. If you use a data warehouse that doesn't natively support nested structures, some of the attributes listed below may be in a subtable.

These items are marked with a *

recurly_subscriptions Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes. Refer to Recurly's documentation for a full list and description of each attribute.

  • uuid

  • plan_code

  • state

  • currency

  • quantity

  • activated_at

  • canceled_at

  • expires_at

  • updated_at

  • total_billing_cycles

  • remaining_billing_cycles

  • current_period_started_at

  • current_period_ends_at

  • trial_started_at

  • trial_ends_at

  • terms_and_conditions

  • customer_notes

  • tax_in_cents

  • tax_type

  • tax_region

  • tax_rate

  • po_number

  • net_terms

  • collection_method

  • subscription_add_ons*

  • revenue_schedule_type

  • unit_amount_in_cents

recurly_transactions

Replication Method: Key-based Incremental
Primary Key: uuid
Contains Nested Structures?: No

The recurly_transactions table contains account transaction info.

Table Info & Attributes

recurly_transactions Attributes

While we try to include everything Recurly has here, this may not be a full list of attributes. Refer to Recurly's documentation for a full list and description of each attribute.

  • uuid

  • action

  • amount_in_cents

  • tax_in_cents

  • currency

  • status

  • payment_method

  • reference

  • source

  • recurring

  • test

  • voidable

  • refundable

  • ip_address

  • cvv_result

  • avs_result

  • avs_result_street

  • avs_result_postal

  • created_at

  • updated_at

  • details__account__account_code

  • details__account__first_name

  • details__account__last_name

  • details__account__company

  • details__account__email

  • details__account__billing_info__first_name

  • details__account__billing_info__last_name

  • details__account__billing_info__address1

  • details__account__billing_info__address2

  • details__account__billing_info__city

  • details__account__billing_info__state

  • details__account__billing_info__zip

  • details__account__billing_info__country

  • details__account__billing_info__phone

  • details__account__billing_info__vat_number

  • details__account__billing_info__card_type

  • details__account__billing_info__year

  • details__account__billing_info__month

  • details__account__billing_info__first_six

  • details__account__billing_info__last_four



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.