From e0f9333de7ea4b220e97e1ee4b80a3192941b8c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Vistry?= Date: Mon, 8 Jun 2026 14:57:38 +0200 Subject: [PATCH 1/2] Added v2 files --- .../schemas/outbrain/v2/json/campaign.json | 80 +++++++++++++++ .../v2/json/campaign_performance.json | 36 +++++++ .../outbrain/v2/outbrain-v2-tables.yml | 33 +++++++ _data/taps/versions/outbrain.yml | 5 +- .../{outbrain-latest.md => v1/outbrain-v1.md} | 3 +- _saas-integrations/outbrain/v2/outbrain-v2.md | 97 +++++++++++++++++++ 6 files changed, 252 insertions(+), 2 deletions(-) create mode 100644 _data/taps/schemas/outbrain/v2/json/campaign.json create mode 100644 _data/taps/schemas/outbrain/v2/json/campaign_performance.json create mode 100644 _data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml rename _saas-integrations/outbrain/{outbrain-latest.md => v1/outbrain-v1.md} (98%) mode change 100755 => 100644 create mode 100644 _saas-integrations/outbrain/v2/outbrain-v2.md diff --git a/_data/taps/schemas/outbrain/v2/json/campaign.json b/_data/taps/schemas/outbrain/v2/json/campaign.json new file mode 100644 index 000000000..3641b2130 --- /dev/null +++ b/_data/taps/schemas/outbrain/v2/json/campaign.json @@ -0,0 +1,80 @@ +{ + "type": "object", + "properties": { + "id": { + "type": ["null", "string"] + }, + "name": { + "type": ["null", "string"] + }, + "campaignOnAir": { + "type": ["null", "boolean"] + }, + "onAirReason": { + "type": ["null", "string"] + }, + "enabled": { + "type": ["null", "boolean"] + }, + "budget": { + "type": ["null", "object"], + "properties": { + "id": { + "type": ["null", "string"] + }, + "name": { + "type": ["null", "string"] + }, + "shared": { + "type": ["null", "boolean"] + }, + "amount": { + "type": ["null", "number"] + }, + "currency": { + "type": ["null", "string"] + }, + "amountRemaining": { + "type": ["null", "number"] + }, + "amountSpent": { + "type": ["null", "number"] + }, + "creationTime": { + "type": ["null", "string"], + "format": "date-time" + }, + "lastModified": { + "type": ["null", "string"], + "format": "date-time" + }, + "startDate": { + "type": ["null", "string"], + "format": "date" + }, + "endDate": { + "type": ["null", "string"], + "format": "date" + }, + "runForever": { + "type": ["null", "boolean"] + }, + "type": { + "type": ["null", "string"] + }, + "pacing": { + "type": ["null", "string"] + }, + "dailyTarget": { + "type": ["null", "number"] + }, + "maximumAmount": { + "type": ["null", "number"] + } + } + }, + "cpc": { + "type": ["null", "number"] + } + } +} diff --git a/_data/taps/schemas/outbrain/v2/json/campaign_performance.json b/_data/taps/schemas/outbrain/v2/json/campaign_performance.json new file mode 100644 index 000000000..bd9fe1f3c --- /dev/null +++ b/_data/taps/schemas/outbrain/v2/json/campaign_performance.json @@ -0,0 +1,36 @@ +{ + "type": "object", + "properties": { + "campaignId": { + "type": ["null", "string"] + }, + "fromDate": { + "type": ["null", "string"], + "format": "date-time" + }, + "impressions": { + "type": ["null", "number"] + }, + "clicks": { + "type": ["null", "number"] + }, + "ctr": { + "type": ["null", "number"] + }, + "spend": { + "type": ["null", "number"] + }, + "ecpc": { + "type": ["null", "number"] + }, + "conversions": { + "type": ["null", "number"] + }, + "conversionRate": { + "type": ["null", "number"] + }, + "cpa": { + "type": ["null", "number"] + } + } +} diff --git a/_data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml b/_data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml new file mode 100644 index 000000000..ee9e0d652 --- /dev/null +++ b/_data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml @@ -0,0 +1,33 @@ +tap: outbrain +version: '2' +tap-repo-schemas: false +tables: +- name: campaigns + description: 'The `{{ table.name }}` table contains info about your {{ integration.display_name + }} campaigns. + + ' + links: + doc-link: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaigns + singer-schema: https://github.com/singer-io/tap-outbrain/blob/master/tap_outbrain/schemas.py#L86 + api-method: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaigns + table-details: + replication-method: Full Table + primary-key: id +- name: campaign_performance + description: 'The `{{ table.name }}` table contains performance metrics for your + {{ integration.display_name }} campaigns. + + ' + links: + doc-link: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaign-performance + singer-schema: https://github.com/singer-io/tap-outbrain/blob/master/tap_outbrain/schemas/campaign_performance.json + api-method: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaign-performance + table-details: + replication-method: Key-based Incremental + primary-keys: + - campaignId + - fromDate + replication-key: fromDate + notes: | + The `fromDate` replication key uses timestamp (date-time) format in V2, allowing granular replication tracking. diff --git a/_data/taps/versions/outbrain.yml b/_data/taps/versions/outbrain.yml index d4e45d830..60e7c3e42 100644 --- a/_data/taps/versions/outbrain.yml +++ b/_data/taps/versions/outbrain.yml @@ -2,9 +2,12 @@ # OUTBRAIN VERSIONS # # -------------------------- # -latest-version: "1" +latest-version: "2" released-versions: + - number: "2" + date-released: "November 14, 2025" + # date-last-connection: - number: "1" date-released: "March 1, 2017" # date-last-connection: \ No newline at end of file diff --git a/_saas-integrations/outbrain/outbrain-latest.md b/_saas-integrations/outbrain/v1/outbrain-v1.md old mode 100755 new mode 100644 similarity index 98% rename from _saas-integrations/outbrain/outbrain-latest.md rename to _saas-integrations/outbrain/v1/outbrain-v1.md index 9c13b95a4..4a9ef8cb1 --- a/_saas-integrations/outbrain/outbrain-latest.md +++ b/_saas-integrations/outbrain/v1/outbrain-v1.md @@ -1,9 +1,10 @@ --- title: Outbrain (v1) -permalink: /integrations/saas/outbrain +permalink: /integrations/saas/outbrain/v1 keywords: outbrain, integration, schema, etl outbrain, outbrain etl, outbrain schema summary: "Connection instructions and schema details for Stitch's Outbrain integration." layout: singer +input: false key: "outbrain-setup" diff --git a/_saas-integrations/outbrain/v2/outbrain-v2.md b/_saas-integrations/outbrain/v2/outbrain-v2.md new file mode 100644 index 000000000..5dae7fa32 --- /dev/null +++ b/_saas-integrations/outbrain/v2/outbrain-v2.md @@ -0,0 +1,97 @@ +--- +title: Outbrain (v2) +permalink: /integrations/saas/outbrain +keywords: outbrain, integration, schema, etl outbrain, outbrain etl, outbrain schema +summary: "Connection instructions and schema details for Stitch's Outbrain integration." +layout: singer +#input: false + +key: "outbrain-setup" + +# -------------------------- # +# Integration Details # +# -------------------------- # + +name: "outbrain" +display_name: "Outbrain" + +singer: true +repo-url: https://github.com/singer-io/tap-outbrain + +this-version: "2" + +api: | + [{{ integration.display_name }} Amplify API v2](http://developer.outbrain.com/docs/amplify-v2/api-reference/){:target="new"} + +# -------------------------- # +# Stitch Details # +# -------------------------- # + +certified: false + +historical: "1 year" +frequency: "30 minutes" +tier: "Standard" + +api-type: "platform.outbrain" + +anchor-scheduling: true +cron-scheduling: true + +table-selection: true +column-selection: false + +extraction-logs: true +loading-reports: true + +# -------------------------- # +# Feature Summary # +# -------------------------- # + +feature-summary: | + Stitch's {{ integration.display_name }} integration replicates data using the {{ integration.api | flatify | strip }}. Refer to the [Schema](#schema) section for a list of objects available for replication. + + +# -------------------------- # +# Setup Instructions # +# -------------------------- # + +setup-steps: + - title: "Add {{ integration.display_name }} as a Stitch data source" + anchor: "add-stitch-data-source" + content: | + {% include integrations/shared-setup/connection-setup.html %} + 4. In the **Account ID** field, enter your Outbrain Account (or Marketer) ID. + + You can find this by looking at the URL when you're logged into your Outbrain account. The Account ID looks something like this: `0f4b02153ee75f3c9dc4fc128ab041962` and is located between `marketers` and `campaigns`, if you're looking at the Overview dashboard: + + `https://my.outbrain.com/amplify/site/marketers/[account-id-will-be-here]/campaigns/overview` + + 5. In the **Username** field, enter your Outbrain username. + 6. In the **Password** field, enter your Outbrain password. + + - title: "Define the historical replication start date" + anchor: "define-historical-sync" + content: | + {% include integrations/saas/setup/historical-sync.html %} + + - title: "Create a replication schedule" + anchor: "define-rep-frequency" + content: | + {% include integrations/shared-setup/replication-frequency.html %} + + - title: "Set objects to replicate" + anchor: "setting-data-to-replicate" + content: | + {% include integrations/shared-setup/data-selection/object-selection.html %} + + +# -------------------------- # +# Table Schemas # +# -------------------------- # + +# Looking for the table schemas & info? +# Each table has a its own .md file in /_integration-schemas/outbrain +--- +{% assign integration = page %} +{% include misc/data-files.html %} \ No newline at end of file From 3499a835c09811b6601e29412c4ec71ce7ecdf9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9lanie=20Vistry?= Date: Tue, 9 Jun 2026 10:55:51 +0200 Subject: [PATCH 2/2] Fixed schema and release date --- _data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml | 4 ++-- _data/taps/versions/outbrain.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml b/_data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml index ee9e0d652..9e0be5e8d 100644 --- a/_data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml +++ b/_data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml @@ -2,14 +2,14 @@ tap: outbrain version: '2' tap-repo-schemas: false tables: -- name: campaigns +- name: campaign description: 'The `{{ table.name }}` table contains info about your {{ integration.display_name }} campaigns. ' links: doc-link: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaigns - singer-schema: https://github.com/singer-io/tap-outbrain/blob/master/tap_outbrain/schemas.py#L86 + singer-schema: https://github.com/singer-io/tap-outbrain/blob/master/tap_outbrain/schemas/campaign.json api-method: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaigns table-details: replication-method: Full Table diff --git a/_data/taps/versions/outbrain.yml b/_data/taps/versions/outbrain.yml index 60e7c3e42..1fa66166e 100644 --- a/_data/taps/versions/outbrain.yml +++ b/_data/taps/versions/outbrain.yml @@ -6,7 +6,7 @@ latest-version: "2" released-versions: - number: "2" - date-released: "November 14, 2025" + date-released: "February 11, 2026" # date-last-connection: - number: "1" date-released: "March 1, 2017"