{
  "ab_internal": {
    "isEnterprise": false,
    "ql": 400,
    "requireVersionIncrementsInPullRequests": true,
    "sl": 300
  },
  "allowedHosts": {
    "hosts": [
      "api.stripe.com"
    ]
  },
  "connectorBuildOptions": {
    "baseImage": "docker.io/airbyte/source-declarative-manifest:7.17.0@sha256:85621b892f41ad06b1c00ca1e5bbfbc506e6961a8d6293e5e60c31050ace3b33"
  },
  "connectorTestSuitesOptions": [
    {
      "suite": "liveTests",
      "testConnections": [
        {
          "id": "0f3c8a84-53e2-4a33-89a9-26bf36a2367c",
          "name": "stripe_config_dev_null"
        },
        {
          "id": "4f738e2c-a1d2-48b4-9b93-f56e2258068d",
          "name": "stripe_performance-config_dev_null"
        },
        {
          "id": "97d55640-b443-49c5-a9d9-aed28396841d",
          "name": "stripe_connected_account_config_dev_null"
        }
      ]
    },
    {
      "suite": "unitTests"
    },
    {
      "suite": "acceptanceTests",
      "testSecrets": [
        {
          "fileName": "connected_account_config.json",
          "name": "SECRET_SOURCE-STRIPE_CONNECTED_ACCOUNT__CREDS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "config.json",
          "name": "SECRET_SOURCE-STRIPE__CREDS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "performance-config.json",
          "name": "SECRET_SOURCE-STRIPE__PERFORMANCE",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        }
      ]
    }
  ],
  "custom": false,
  "dockerImageTag": "5.15.24-preview.c71f851",
  "dockerRepository": "airbyte/source-stripe",
  "documentationUrl": "https://docs.airbyte.com/integrations/sources/stripe",
  "erdUrl": "https://dbdocs.io/airbyteio/source-stripe?view=relationships",
  "externalDocumentationUrls": [
    {
      "title": "Stripe API reference",
      "type": "api_reference",
      "url": "https://stripe.com/docs/api"
    },
    {
      "title": "API changelog",
      "type": "api_release_history",
      "url": "https://docs.stripe.com/changelog"
    },
    {
      "title": "API upgrades",
      "type": "api_release_history",
      "url": "https://docs.stripe.com/upgrades"
    },
    {
      "title": "Stripe API changelog",
      "type": "api_release_history",
      "url": "https://stripe.com/docs/upgrades"
    },
    {
      "title": "Stripe authentication",
      "type": "authentication_guide",
      "url": "https://stripe.com/docs/api/authentication"
    },
    {
      "title": "Stripe API OpenAPI specification",
      "type": "openapi_spec",
      "url": "https://github.com/stripe/openapi"
    },
    {
      "title": "Stripe rate limits",
      "type": "rate_limits",
      "url": "https://stripe.com/docs/rate-limits"
    },
    {
      "title": "Stripe Status",
      "type": "status_page",
      "url": "https://status.stripe.com/"
    }
  ],
  "generated": {
    "git": {
      "commit_author": "Alfredo Garcia",
      "commit_author_email": "alfredo.garcia@hallmark.edu",
      "commit_sha": "c71f85136fcc9acf949226208a81373fce3e95a4",
      "commit_timestamp": "2026-04-06T14:13:35-05:00"
    },
    "sbomUrl": "https://connectors.airbyte.com/files/sbom/airbyte/source-stripe/5.15.24-preview.c71f851.spdx.json",
    "source_file_info": {
      "metadata_bucket_name": "prod-airbyte-cloud-connector-metadata-service",
      "metadata_file_path": "metadata/airbyte/source-stripe/5.15.24-preview.c71f851/metadata.yaml",
      "metadata_last_modified": "2026-04-06T19:37:01.859087+00:00",
      "registry_entry_generated_at": "2026-04-06T19:37:01.859087+00:00"
    }
  },
  "githubIssueLabel": "source-stripe",
  "icon": "stripe.svg",
  "iconUrl": "https://connectors.airbyte.com/files/metadata/airbyte/source-stripe/latest/icon.svg",
  "language": "manifest-only",
  "license": "ELv2",
  "maxSecondsBetweenMessages": 86400,
  "name": "Stripe",
  "packageInfo": {},
  "public": true,
  "releaseStage": "generally_available",
  "releases": {
    "breakingChanges": {
      "4.0.0": {
        "message": "Version 4.0.0 changes the cursors in most of the Stripe streams that support incremental sync mode. This is done to not only sync the data that was created since previous sync, but also the data that was modified. A schema refresh of all effected streams is required to use the new cursor format.",
        "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/stripe-migrations#4.0.0",
        "upgradeDeadline": "2023-09-14"
      },
      "5.0.0": {
        "message": "Version 5.0.0 introduces fixes for the `CheckoutSessions`, `CheckoutSessionsLineItems` and `Refunds` streams. The cursor field is changed for the `CheckoutSessionsLineItems` and `Refunds` streams. This will prevent data loss during incremental syncs. Also, the `Invoices`, `Subscriptions` and `SubscriptionSchedule` stream schemas have been updated.",
        "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/stripe-migrations#5.0.0",
        "upgradeDeadline": "2023-12-11"
      },
      "5.4.0": {
        "message": "Version 5.4.0 introduces fixes for the `Refunds` streams. The `Refunds`, which previously was `incremental` on the `creation date`, now tracks updates as well. In order to do that, the cursor field needs to be updated and a `resetting` is required to get the updates.",
        "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/stripe-migrations#5.4.0",
        "scopedImpact": [
          {
            "impactedScopes": [
              "refunds"
            ],
            "scopeType": "stream"
          }
        ],
        "upgradeDeadline": "2024-07-14"
      }
    },
    "migrationDocumentationUrl": "https://docs.airbyte.com/integrations/sources/stripe-migrations",
    "rolloutConfiguration": {
      "advanceDelayMinutes": 10,
      "enableProgressiveRollout": false,
      "initialPercentage": 0,
      "maxPercentage": 50
    }
  },
  "remoteRegistries": {
    "pypi": {
      "enabled": false,
      "packageName": "airbyte-source-stripe"
    }
  },
  "sourceDefinitionId": "e094cb9a-26de-4645-8761-65c0c425d1de",
  "sourceType": "api",
  "spec": {
    "connectionSpecification": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "account_id": {
          "description": "Your Stripe account ID (starts with 'acct_', find yours <a href=\"https://dashboard.stripe.com/settings/account\">here</a>).",
          "order": 0,
          "title": "Account ID",
          "type": "string"
        },
        "api_retention_streams": {
          "default": [],
          "description": "Select streams where cursor age is validated against the Stripe API 30-day event retention period. When a selected stream's cursor is older than 30 days, the connector performs a full refresh to avoid missing data. Streams not selected here will always use incremental sync regardless of cursor age.",
          "items": {
            "enum": [
              "accounts",
              "application_fees",
              "application_fees_refunds",
              "authorizations",
              "bank_accounts",
              "cardholders",
              "charges",
              "checkout_sessions",
              "coupons",
              "credit_notes",
              "customers",
              "disputes",
              "early_fraud_warnings",
              "external_account_bank_accounts",
              "external_account_cards",
              "invoice_items",
              "invoice_line_items",
              "invoices",
              "payment_intents",
              "payment_methods",
              "payouts",
              "persons",
              "plans",
              "prices",
              "products",
              "promotion_codes",
              "refunds",
              "reviews",
              "setup_intents",
              "subscription_items",
              "subscription_schedule",
              "subscriptions",
              "top_ups",
              "transactions",
              "transfers"
            ],
            "type": "string"
          },
          "order": 7,
          "title": "Streams with API Data Retention Validation",
          "type": "array",
          "uniqueItems": true
        },
        "call_rate_limit": {
          "description": "The number of API calls per second that you allow connector to make. This value can not be bigger than real API call rate limit (https://stripe.com/docs/rate-limits). If not specified the default maximum is 25 calls per second for test/sandbox tokens and 100 for production tokens.",
          "examples": [
            25,
            100
          ],
          "title": "Max number of API calls per second",
          "type": "integer"
        },
        "client_secret": {
          "airbyte_secret": true,
          "description": "Stripe API key (usually starts with 'sk_live_'; find yours <a href=\"https://dashboard.stripe.com/apikeys\">here</a>).",
          "order": 1,
          "title": "Secret Key",
          "type": "string"
        },
        "lookback_window_days": {
          "default": 0,
          "description": "When set, the connector will always re-export data from the past N days, where N is the value set here. This is useful if your data is frequently updated after creation. The Lookback Window only applies to streams that do not support event-based incremental syncs: Events, SetupAttempts, ShippingRates, BalanceTransactions, Files, FileLinks, Refunds. More info <a href=\"https://docs.airbyte.com/integrations/sources/stripe#requirements\">here</a>",
          "minimum": 0,
          "order": 3,
          "title": "Lookback Window in days",
          "type": "integer"
        },
        "num_workers": {
          "default": 10,
          "description": "The number of worker thread to use for the sync. The performance upper boundary depends on call_rate_limit setting and type of account.",
          "examples": [
            2,
            3,
            4
          ],
          "maximum": 100,
          "minimum": 2,
          "order": 5,
          "title": "Number of concurrent workers",
          "type": "integer"
        },
        "slice_range": {
          "default": 365,
          "description": "The time increment used by the connector when requesting data from the Stripe API. The bigger the value is, the less requests will be made and faster the sync will be. On the other hand, the more seldom the state is persisted.",
          "examples": [
            1,
            3,
            10,
            30,
            180,
            360
          ],
          "minimum": 1,
          "order": 4,
          "title": "Data request time increment in days",
          "type": "integer"
        },
        "start_date": {
          "default": "2017-01-25T00:00:00Z",
          "description": "UTC date and time in the format 2017-01-25T00:00:00Z. Only data generated after this date will be replicated.",
          "examples": [
            "2017-01-25T00:00:00Z"
          ],
          "format": "date-time",
          "order": 2,
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
          "title": "Replication start date",
          "type": "string"
        }
      },
      "required": [
        "client_secret",
        "account_id"
      ],
      "title": "Stripe Source Spec",
      "type": "object"
    },
    "supportsDBT": false,
    "supportsNormalization": false
  },
  "suggestedStreams": {
    "streams": [
      "customers",
      "invoices",
      "charges",
      "subscriptions",
      "refunds"
    ]
  },
  "supportLevel": "certified",
  "supportsDataActivation": false,
  "supportsFileTransfer": false,
  "tags": [
    "cdk:low-code",
    "language:manifest-only"
  ],
  "tombstone": false
}
