{
  "name": "Swan",
  "slug": "swan",
  "website_url": "https://www.swan.io",
  "vendor_description": "\"The easiest way to embed banking features into your product.\"",
  "categories": [
    "card-issuing"
  ],
  "summary": "Swan is a Banking-as-a-Service API for software platforms and SaaS companies that want to embed accounts, IBANs, and card issuance into their products across 30+ EEA countries. It handles its own EMI licensing through the French ACPR, so partners do not need a separate sponsor bank. The API is GraphQL with OAuth2 and supports virtual, physical, and single-use cards on Mastercard, spend controls, and Apple Pay/Google Pay provisioning. Pricing starts at €2,990 per month with a free unlimited sandbox, and the platform is GDPR, ISO 27001, and PCI DSS certified.",
  "capabilities": {
    "supported_actions": [
      "issue_virtual_card",
      "issue_physical_card",
      "issue_single_use_virtual_card",
      "spend_controls",
      "authorization_stream",
      "card_lifecycle_management",
      "merchant_category_controls",
      "digital_wallet_provisioning",
      "apple_pay_google_pay",
      "tokenization",
      "kyc_kyb",
      "real_time_webhooks",
      "virtual_ibans",
      "sepa_credit_transfers",
      "sepa_instant_transfers",
      "sepa_direct_debit",
      "international_credit_transfers",
      "standing_orders",
      "account_onboarding",
      "program_management",
      "payment_control"
    ],
    "supported_regions": [
      "EEA (30+ countries)",
      "France",
      "Germany",
      "Spain",
      "Italy",
      "Netherlands",
      "Belgium",
      "Iceland",
      "Liechtenstein",
      "Norway"
    ],
    "supported_languages": [],
    "input_types": [
      "Mastercard",
      "virtual",
      "physical",
      "single-use virtual",
      "debit",
      "consumer",
      "business"
    ],
    "output_types": [
      "JSON",
      "webhook events",
      "card tokens",
      "authorization events",
      "transaction data",
      "GraphQL responses",
      "account statements (PDF/CSV)"
    ],
    "webhooks_supported": true,
    "sandbox_available": true,
    "sdk_languages": [
      "TypeScript/React",
      "TypeScript"
    ],
    "mcp_server_available": true
  },
  "integration": {
    "api_style": "graphql",
    "base_url": "https://api.swan.io/live-partner/graphql",
    "api_version": null,
    "versioning_scheme": "none",
    "stability": "ga",
    "deprecation_policy_url": "https://docs.swan.io/changelog/",
    "auth_methods": [
      "oauth2"
    ],
    "auth_docs_url": "https://docs.swan.io/developers/using-api/authentication/",
    "idempotency_supported": true,
    "error_format": "vendor-specific",
    "webhook_signing": "shared-secret (x-swan-secret header)",
    "webhook_events_url": "https://docs.swan.io/developers/using-api/webhooks/",
    "rate_limit_requests": 2000,
    "rate_limit_window": "5 minutes",
    "sdk_packages": [
      {
        "package": "@swan-io/swan-partner-frontend",
        "language": "TypeScript/React",
        "official": true,
        "repo_url": "https://github.com/swan-io/swan-partner-frontend"
      },
      {
        "package": "@swan-io/boxed",
        "language": "TypeScript",
        "official": true,
        "repo_url": "https://github.com/swan-io/boxed"
      },
      {
        "package": "@swan-io/use-form",
        "language": "TypeScript/React",
        "official": true,
        "repo_url": "https://github.com/swan-io/use-form"
      }
    ],
    "mcp_url": "https://mcp.swan.io/graphql/mcp",
    "quickstart_url": "https://docs.swan.io/guide/quickstart"
  },
  "pricing": {
    "pricing_model": "hybrid",
    "has_published_pricing": true,
    "starting_price_usd": null,
    "price_basis": null,
    "free_tier_available": false,
    "free_tier_limit": "Sandbox free to explore (unlimited sandbox users, fake money for testing)",
    "free_tier_details": null,
    "minimum_commitment": "€2,990/month (Swan On Demand plan)",
    "self_serve_signup": true,
    "requires_sales_call": true,
    "requires_verification": true,
    "enterprise_plan_available": true,
    "price_points": [
      {
        "plan": "Swan On Demand",
        "item": "Monthly platform fee (EUR, starting price)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.swan.io/pricing"
      },
      {
        "plan": null,
        "item": "Physical card printing — standard design (EUR €5/card)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "card",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Card replacement — lost/stolen/damaged/blocked (EUR €7 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "card",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Card shipping tracked — France (EUR €1.67 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "card",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Card shipping standard — Europe (EUR €1.60 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "card",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Card shipping tracked — Europe (EUR €12 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "card",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "ATM cash withdrawal — SEPA area (EUR €1 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "ATM cash withdrawal — outside SEPA (2% of amount withdrawn)",
        "amount_usd": null,
        "amount_percent": "2.0000",
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Non-euro card payment — outside SEPA area (2% of amount paid)",
        "amount_usd": null,
        "amount_percent": "2.0000",
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.swan.io/pricing"
      },
      {
        "plan": null,
        "item": "Direct debit rejection fee (EUR €10 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Unauthorized overdraft management fee (EUR €8/transaction, max €80/month)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Credit card funding fee — fixed component (EUR €0.12 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Credit card funding fee — percentage component (0.7% of amount deposited)",
        "amount_usd": null,
        "amount_percent": "0.7000",
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Account misuse / improper use handling fee (EUR €180 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "incident",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Judicial/administrative seizure fee (10% of amount, capped at EUR €20)",
        "amount_usd": null,
        "amount_percent": "10.0000",
        "per": "file",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": null,
        "item": "Legal circulation letter fee (EUR €54 incl. VAT)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "letter",
        "currency": "USD",
        "source_url": "https://www.swan.io/faq"
      },
      {
        "plan": "Swan Enterprise",
        "item": "Monthly platform fee — custom (contact sales)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://www.swan.io/pricing"
      },
      {
        "plan": "Swan Enterprise",
        "item": "Interchange revenue sharing — percentage (contact sales for rate)",
        "amount_usd": null,
        "amount_percent": null,
        "per": "transaction",
        "currency": "USD",
        "source_url": "https://www.swan.io/pricing"
      }
    ]
  },
  "compliance": {
    "soc2": null,
    "hipaa": false,
    "gdpr": true,
    "iso_27001": true,
    "pci_dss": true,
    "sla_published": false,
    "sla_url": "https://trust.swan.io/",
    "data_retention_policy_url": "https://docs.swan.io/partnership/overview/protections/",
    "documented_rate_limits": "The default limit for each IP is 2,000 requests every 5 minutes.",
    "known_restrictions": [
      "Swan is a licensed EMI (electronic money institution) authorised by the French ACPR - provides turnkey BIN sponsorship and card program management; partners do NOT need to bring their own sponsor bank",
      "Mastercard debit cards only (no Visa, no credit cards, no prepaid)",
      "EEA only (no US, no APAC coverage)",
      "Physical card printing hubs in France (Dijon) and Spain (Madrid)",
      "Digital wallet in-app provisioning requires partner certification approval",
      "PCI DSS compliance mentioned but specific level not published on public pages",
      "International (non-SEPA) card transactions incur 2% surcharge",
      "Limited accounts have temporary restrictions: incoming SEPA Credit Transfer ≤ €50, lifetime cumulative ≤ €150",
      "ISO/IEC 27001 certified (achieved 2025)"
    ]
  },
  "developer": {
    "docs_url": "https://docs.swan.io/",
    "api_reference_url": null,
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": null,
    "status_page_url": "https://status.swan.io",
    "llms_txt_url": null,
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2019-01-01",
    "ga_date": "2021-01-01",
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": [
      "Pennylane",
      "Agicap",
      "Lucca",
      "Accountable",
      "Factorial",
      "Sesame",
      "bunch",
      "Betterfly",
      "Indy"
    ]
  },
  "scores": {
    "agent_friendliness": 40,
    "pricing_transparency": 45,
    "setup_speed": 70,
    "docs_quality": 15,
    "procurement_friction": 45,
    "trust_readiness": 40,
    "best_for": [
      "AI agents and automation - an agent-ready surface (MCP / llms.txt)",
      "Teams needing broad API coverage out of the box"
    ],
    "avoid_if": [
      "You want to try it free before paying",
      "You have strict compliance requirements"
    ]
  },
  "sources": [
    {
      "field": "vendor_description",
      "url": "https://www.swan.io/features",
      "excerpt": "The easiest way to embed banking features into your product",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://docs.swan.io/topics/cards/",
      "excerpt": "Swan exclusively offers Mastercard debit cards. Individual account holders receive consumer debit cards; companies receive business debit cards.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://docs.swan.io/topics/cards/virtual/",
      "excerpt": "addCard (Single virtual card for one member), addCards (Up to 200 cards across multiple members), addSingleUseVirtualCard (One single-use card for one member)",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://docs.swan.io/topics/cards/digital/",
      "excerpt": "Swan cards are compatible with Apple Pay and Google Pay for Near-Field Communication (NFC) payments.",
      "confidence": "high"
    },
    {
      "field": "vendor_description",
      "url": "https://www.swan.io/pricing",
      "excerpt": "Starting from 2990€/m — Swan on Demand",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://www.swan.io/product/send-payments",
      "excerpt": "Enable SEPA Credit Transfers and Instant payments. Make bulk payments with a single consent, automate recurring flows with standing orders.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://docs.swan.io/developers/using-api/payment-control/",
      "excerpt": "Swan implements a time-sensitive authorization system. In the Live environment, authorizations time out after 1.5 seconds.",
      "confidence": "high"
    },
    {
      "field": "input_types",
      "url": "https://docs.swan.io/topics/cards/",
      "excerpt": "Swan exclusively offers Mastercard debit cards. Individual account holders receive consumer debit cards; companies receive business debit cards.",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://www.swan.io/why-swan",
      "excerpt": "Across the entire EEA for Accounts, Cards, and Payments offerings",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://docs.swan.io/developers/using-api/webhooks/",
      "excerpt": "Swan webhooks operate with near-real-time efficiency, typically delivering responses within seconds of the event",
      "confidence": "high"
    },
    {
      "field": "mcp_server_available",
      "url": "https://docs.swan.io/developers/tools/mcp-servers/",
      "excerpt": "GraphQL Schema Server URL: https://mcp.swan.io/graphql/mcp — enables AI assistants to explore Swan's GraphQL schema. Documentation Server URL: https://mcp.swan.io/docs/mcp",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://www.swan.io/pricing",
      "excerpt": "Starting from 2990€/m — Swan on Demand. Share revenue on Interchange fees [Enterprise]. Card payments outside SEPA area: 2% of the amount paid.",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.swan.io/pricing",
      "excerpt": "Starting from 2990€/m — Swan on Demand",
      "confidence": "high"
    },
    {
      "field": "minimum_commitment",
      "url": "https://www.swan.io/pricing",
      "excerpt": "Starting from 2990€/m for Swan on Demand",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://www.swan.io/developers",
      "excerpt": "Get up and running with our dashboard in less than 5 minutes. Sandbox signup/login available at /start-now and /sign-in",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://www.swan.io/pricing",
      "excerpt": "The Sandbox is free to explore! with unlimited sandbox users and fake money — but a paid plan is required for production",
      "confidence": "high"
    },
    {
      "field": "input_types",
      "url": "https://docs.swan.io/topics/cards/virtual/",
      "excerpt": "Virtual: single virtual card only; VirtualAndPhysical: both virtual and physical issued; SingleUseVirtual: one-time use virtual card",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://www.swan.io/faq",
      "excerpt": "Swan operates across the EEA through an e-money license, covering 31 jurisdictions including France, Germany, Spain, Italy, and all EU member states plus Iceland, Liechtenstein, and Norway.",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://www.swan.io/pricing",
      "excerpt": "The Sandbox is free to explore! with unlimited sandbox users and fake money for testing all platform features.",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://www.swan.io/developers",
      "excerpt": "open-source libraries including: @swan-io/partner-frontend (Banking interfaces), @swan-io/chicane (React router), @swan-io/boxed (TypeScript utilities)",
      "confidence": "medium"
    },
    {
      "field": "pricing_model",
      "url": "https://www.swan.io/faq",
      "excerpt": "5€ per card using one of these two designs. €7 incl. VAT for lost, stolen, damaged or blocked cards.",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://www.swan.io/faq",
      "excerpt": "5€ per card using one of these two designs. Standard shipping EU: 1.60€ (incl. VAT). Tracked shipping EU: 12€ (incl. VAT). Tracked shipping France: 1.67€ (incl. VAT). €7 incl. VAT for lost/stolen/damaged card. €1 incl. VAT for ATM in SEPA. €10 incl. VAT per rejected direct debit.",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://www.swan.io/pricing",
      "excerpt": "Enterprise Plan: Custom pricing — High volumes or unique business model, Dedicated Implementation Manager, Revenue sharing on interchange fees, Fully customized card designs",
      "confidence": "high"
    },
    {
      "field": "requires_sales_call",
      "url": "https://www.swan.io/pricing",
      "excerpt": "Talk to an expert [for Enterprise]. Custom pricing for high volumes or unique business models.",
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://www.swan.io/why-swan",
      "excerpt": "PSD2, PCI DSS, SCA, AML, and SDS are mentioned as Swan's responsibility — complex codes and regulations are our territory",
      "confidence": "medium"
    },
    {
      "field": "gdpr",
      "url": "https://docs.swan.io/partnership/overview/protections/",
      "excerpt": "User data is never transferred outside of Europe. Identity verification videos encrypted and stored in European data centers. Data retention: 5 years post-account closure per French banking regulations.",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://trust.swan.io/",
      "excerpt": "Swan Trust Center (page rendered with no certification details accessible)",
      "confidence": "low"
    },
    {
      "field": "sla_published",
      "url": "https://trust.swan.io/",
      "excerpt": "Swan Trust Center exists but no SLA or uptime commitment is publicly accessible on the page",
      "confidence": "medium"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.swan.io/why-swan",
      "excerpt": "Swan is a licensed electronic money institution authorised by the French Autorité de Contrôle Prudentiel et de Résolution (ACPR)",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://www.swan.io/blog-posts/swan-2025-wrap-up",
      "excerpt": "ISO/IEC 27001 certification: Independently verified security controls across the technical stack, providing continuous risk management for every API and workflow.",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://api-reference.swan.io/",
      "excerpt": "Swan GraphQL API Reference | Swan Docs - Swan.io",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://docs.swan.io/developers/using-api/authentication/",
      "excerpt": "Swan implements OAuth 2.0 as its authorization protocol... access tokens are provided via the Authorization header format: Authorization: Bearer {access token}",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://docs.swan.io/developers/",
      "excerpt": "The default limit for each IP is 2,000 requests every 5 minutes. Exceeding this returns an HTTP 429 error.",
      "confidence": "high"
    },
    {
      "field": "idempotency_supported",
      "url": "https://docs.swan.io/developers/using-api/idempotency",
      "excerpt": "Include an idempotencyKey parameter in supported mutations. Swan stores the result on first execution and returns the current state for subsequent requests with the same key.",
      "confidence": "high"
    },
    {
      "field": "webhook_signing",
      "url": "https://docs.swan.io/developers/using-api/webhooks/",
      "excerpt": "To help verify that webhook requests actually come from Swan... you can use webhook secrets. Each request includes a shared secret in the x-swan-secret header.",
      "confidence": "high"
    },
    {
      "field": "webhook_events_url",
      "url": "https://docs.swan.io/developers/using-api/webhooks/",
      "excerpt": "Swan supports 60+ event types across categories: Account holders, onboarding, memberships, settings, accounts, billing, capital deposits, cards, consent, funding sources, merchants, payments, transactions, users",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://docs.swan.io/developers/tools/mcp-servers",
      "excerpt": "Documentation Server URL: https://mcp.swan.io/docs/mcp — Lets AI assistants search Swan's documentation to help you find guides, concepts, and integration information",
      "confidence": "high"
    },
    {
      "field": "quickstart_url",
      "url": "https://docs.swan.io/guide/quickstart",
      "excerpt": "Swan Quickstart — familiarize yourself with Swan's interfaces and API in less than 10 minutes",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://www.swan.io/pricing",
      "excerpt": "The Sandbox is free to explore! with unlimited sandbox users and fake money for testing all platform features.",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://www.swan.io/company",
      "excerpt": "Our 3 co-founders write the first lines of code [2019] — Swan officially launched at startup studio eFounders (now Hexa)",
      "confidence": "high"
    },
    {
      "field": "notable_customers",
      "url": "https://www.swan.io/",
      "excerpt": "150+ Companies powered by Swan — Pennylane, Agicap, Lucca, Accountable, Factorial, Sesame, Indy, bunch featured as named partner customers",
      "confidence": "high"
    },
    {
      "field": "deprecation_policy_url",
      "url": "https://docs.swan.io/changelog/",
      "excerpt": "On September 30, 2026, the previous onboarding API will be shut down — announced months in advance to allow migration time. Deprecations receive 2-4 months advance notice before removal.",
      "confidence": "medium"
    },
    {
      "field": "error_format",
      "url": "https://docs.swan.io/developers/",
      "excerpt": "Errors occur as HTTP status codes (e.g. HTTP 429 Too Many Requests and HTTP 400 Bad Request); GraphQL errors returned in standard GraphQL error payload",
      "confidence": "medium"
    },
    {
      "field": "iso_27001",
      "url": "https://www.swan.io/blog-posts/swan-2025-wrap-up",
      "excerpt": "ISO/IEC 27001 certification: Independently verified security controls across the technical stack, providing continuous risk management for every API and workflow.",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://www.swan.io/features",
      "excerpt": "Swan is a European EMI; no HIPAA compliance mentioned on features, security, or compliance pages.",
      "confidence": "medium"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://docs.swan.io/developers/",
      "excerpt": "The default limit for each IP is 2,000 requests every 5 minutes. Exceeding this returns an HTTP 429 error.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://www.swan.io/faq",
      "excerpt": "No published SLA or uptime commitment found on pricing, FAQ, or developer documentation pages.",
      "confidence": "medium"
    },
    {
      "field": "known_restrictions",
      "url": "https://docs.swan.io/topics/cards/",
      "excerpt": "Swan exclusively offers Mastercard debit cards.",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://docs.swan.io/developers/",
      "excerpt": "Swan's API is organized around GraphQL, which allows much finer command than other technologies such as REST.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://docs.swan.io/developers/",
      "excerpt": "Sandbox: https://api.swan.io/sandbox-partner/graphql | Production (Live): https://api.swan.io/live-partner/graphql",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://docs.swan.io/developers/using-api/authentication/",
      "excerpt": "Project Access Tokens must use the grant type client credential, intended for server-to-server authentication... User Access Tokens: Grant Type: Authorization code",
      "confidence": "high"
    },
    {
      "field": "rate_limit_window",
      "url": "https://docs.swan.io/developers/",
      "excerpt": "The default limit for each IP is 2,000 requests every 5 minutes.",
      "confidence": "high"
    },
    {
      "field": "idempotency_supported",
      "url": "https://docs.swan.io/developers/using-api/idempotency",
      "excerpt": "After 24 hours, the same key can be reused for a new operation",
      "confidence": "high"
    },
    {
      "field": "webhook_signing",
      "url": "https://docs.swan.io/developers/using-api/webhooks/",
      "excerpt": "We strongly recommend checking the HTTP header on every webhook request. If you've set a webhook secret and it's missing or incorrect, reject the request to prevent unauthorized or fake webhook attempts.",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://docs.swan.io/developers/tools/mcp-servers",
      "excerpt": "GraphQL Schema Server URL: https://mcp.swan.io/graphql/mcp — enables AI assistants to explore Swan's GraphQL schema to help you write queries, mutations, and understand type relationships.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/swan-io",
      "excerpt": "swan-partner-frontend — Onboarding & Banking interfaces for Swan (72 stars, MIT license); lake — Swan's design system and utilities; mcp-graphql-tools — MCP GraphQL tools library",
      "confidence": "high"
    },
    {
      "field": "requires_verification",
      "url": "https://docs.swan.io/partnership/overview/rules-regulations/",
      "excerpt": "All Swan Partners complete a rigorous review process before going Live.",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://docs.swan.io/partnership/overview/protections/",
      "excerpt": "Swan is required by law to keep data for five years after an account is closed, in accordance with French banking regulations.",
      "confidence": "high"
    },
    {
      "field": "ga_date",
      "url": "https://www.swan.io/company",
      "excerpt": "First EU embedded banking platform with a public sandbox [2021]",
      "confidence": "medium"
    },
    {
      "field": "notable_customers",
      "url": "https://www.swan.io/customer-stories/bunch-partnership",
      "excerpt": "bunch: building a standout investor experience with embedded banking",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://docs.swan.io/developers/",
      "excerpt": "The documentation does not specify an explicit API version number or versioning scheme.",
      "confidence": "medium"
    },
    {
      "field": "starting_price_usd",
      "url": "https://www.swan.io/pricing",
      "excerpt": "Starting from 2990€/m for Swan on Demand. No per-card fee published; Enterprise pricing requires contacting sales.",
      "confidence": "high"
    }
  ],
  "fields_not_found": [
    "pci_dss_level",
    "soc2_status",
    "hipaa_explicit_statement",
    "per_authorization_fee",
    "interchange_share_percentage",
    "sla_uptime_percentage",
    "jit_funding",
    "api_version",
    "starting_price_usd",
    "price_basis",
    "sla_url (no published uptime %)",
    "deprecation_policy_url (no standalone policy; changelog shows 2-4 month notice practice)"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-21T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/swan",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/swan/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add (only name is required - send as much as you can cite)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme Email API",
            "website_url": "https://acme.example",
            "vendor_name": "Acme",
            "categories": [
              "email"
            ],
            "pricing_model": "usage_based",
            "has_published_pricing": true,
            "free_tier_available": true,
            "price_points": [
              {
                "plan": "Pay as you go",
                "item": "1,000 emails",
                "amount_usd": 1,
                "per": "1,000 emails",
                "source_url": "https://acme.example/pricing"
              }
            ],
            "soc2": "type_2",
            "docs_url": "https://docs.acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example/pricing",
              "excerpt": "$1 per 1,000 emails"
            }
          ]
        },
        "value_schema": [
          {
            "field": "name",
            "type": "string",
            "label": "Product name (the only required field)"
          },
          {
            "field": "website_url",
            "type": "string",
            "label": "Marketing website URL"
          },
          {
            "field": "vendor_name",
            "type": "string",
            "label": "Company/vendor name behind the product"
          },
          {
            "field": "vendor_description",
            "type": "string",
            "label": "One-line description, quoted from the vendor"
          },
          {
            "field": "categories",
            "type": "string[]",
            "label": "Category/leaf slugs it belongs to, e.g. [\"email\",\"sms\"]"
          },
          {
            "field": "primary_use_cases",
            "type": "string[]",
            "label": "What it's used for"
          },
          {
            "field": "supported_actions",
            "type": "string[]",
            "label": "Concrete API actions/capabilities"
          },
          {
            "field": "supported_regions",
            "type": "string[]",
            "label": "Countries/regions/data-residency"
          },
          {
            "field": "supported_languages",
            "type": "string[]",
            "label": "Human/spoken languages supported"
          },
          {
            "field": "input_types",
            "type": "string[]",
            "label": "Accepted input types/formats"
          },
          {
            "field": "output_types",
            "type": "string[]",
            "label": "Produced output types/formats"
          },
          {
            "field": "webhooks_supported",
            "type": "bool",
            "label": "Supports webhooks?"
          },
          {
            "field": "sandbox_available",
            "type": "bool",
            "label": "Dedicated sandbox/test mode?"
          },
          {
            "field": "sdk_languages",
            "type": "string[]",
            "label": "Languages with an official SDK"
          },
          {
            "field": "mcp_server_available",
            "type": "bool",
            "label": "Official MCP server?"
          },
          {
            "field": "pricing_model",
            "type": "enum",
            "label": "Pricing model",
            "values": [
              "usage_based",
              "subscription",
              "seat_based",
              "hybrid",
              "contact_sales"
            ]
          },
          {
            "field": "has_published_pricing",
            "type": "bool",
            "label": "Concrete prices published publicly?"
          },
          {
            "field": "free_tier_available",
            "type": "bool",
            "label": "Recurring/perpetual free tier (not a trial)?"
          },
          {
            "field": "free_tier_details",
            "type": "string",
            "label": "What the free tier includes"
          },
          {
            "field": "minimum_commitment",
            "type": "string",
            "label": "Any stated minimum spend/commitment"
          },
          {
            "field": "self_serve_signup",
            "type": "bool",
            "label": "Get an API key without talking to sales?"
          },
          {
            "field": "requires_sales_call",
            "type": "bool",
            "label": "Does going live require sales?"
          },
          {
            "field": "enterprise_plan_available",
            "type": "bool",
            "label": "Named enterprise tier?"
          },
          {
            "field": "starting_price_usd",
            "type": "number",
            "label": "Lowest published paid entry price (USD number)"
          },
          {
            "field": "price_basis",
            "type": "string",
            "label": "Unit the starting price is per, e.g. '1,000 emails'"
          },
          {
            "field": "free_tier_limit",
            "type": "string",
            "label": "Free-tier ceiling in literal terms"
          },
          {
            "field": "price_points",
            "type": "object[]",
            "label": "Structured prices: [{plan,item,amount_usd,amount_percent,per,source_url}]"
          },
          {
            "field": "soc2",
            "type": "enum",
            "label": "SOC 2 status",
            "values": [
              "type_2",
              "type_1",
              "in_progress",
              "none",
              "unknown"
            ]
          },
          {
            "field": "hipaa",
            "type": "bool",
            "label": "HIPAA (e.g. BAA available)?"
          },
          {
            "field": "gdpr",
            "type": "bool",
            "label": "GDPR compliance stated?"
          },
          {
            "field": "iso_27001",
            "type": "bool",
            "label": "ISO 27001 certified?"
          },
          {
            "field": "pci_dss",
            "type": "bool",
            "label": "PCI DSS compliant?"
          },
          {
            "field": "sla_published",
            "type": "bool",
            "label": "Published SLA / uptime commitment?"
          },
          {
            "field": "documented_rate_limits",
            "type": "string",
            "label": "Documented rate limits, quoted"
          },
          {
            "field": "known_restrictions",
            "type": "string[]",
            "label": "Notable documented restrictions/limits"
          },
          {
            "field": "auth_methods",
            "type": "string[]",
            "label": "Auth methods",
            "values": [
              "api_key",
              "oauth2",
              "jwt",
              "basic",
              "hmac_signature",
              "mtls",
              "session"
            ]
          },
          {
            "field": "api_style",
            "type": "enum",
            "label": "Primary API style",
            "values": [
              "rest",
              "graphql",
              "grpc",
              "soap",
              "websocket"
            ]
          },
          {
            "field": "base_url",
            "type": "string",
            "label": "API root/base URL"
          },
          {
            "field": "api_version",
            "type": "string",
            "label": "Current API version string"
          },
          {
            "field": "quickstart_url",
            "type": "string",
            "label": "Quickstart / hello-world URL"
          },
          {
            "field": "docs_url",
            "type": "string",
            "label": "Developer docs URL"
          },
          {
            "field": "api_reference_url",
            "type": "string",
            "label": "API reference URL"
          },
          {
            "field": "openapi_spec_url",
            "type": "string",
            "label": "OpenAPI spec URL"
          },
          {
            "field": "changelog_url",
            "type": "string",
            "label": "Changelog URL"
          },
          {
            "field": "status_page_url",
            "type": "string",
            "label": "Status page URL"
          },
          {
            "field": "notable_customers",
            "type": "string[]",
            "label": "Named public customers"
          },
          {
            "field": "launched_at",
            "type": "string",
            "label": "Launch date (ISO date or year)"
          }
        ]
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}