{
    "version": "https://jsonfeed.org/version/1",
    "title": "Swan Docs Blog",
    "home_page_url": "https://docs.swan.io/changelog",
    "description": "Swan Docs Blog",
    "items": [
        {
            "id": "https://docs.swan.io/changelog/2026/01/29/2026/",
            "content_html": "<p>📅 Set card spending limits based on calendar periods (resetting monthly on the 1st, weekly on Monday, or daily at midnight) instead of rolling periods. Calendar-based limits make it easier for finance teams to control budgets by calendar month, week, or day. Configure calendar limits using the new <code>mode</code> field in <a href=\"https://api-reference.swan.io/inputs/spending-limit-input/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>SpendingLimitInput</code></a> with options for <code>daily</code>, <code>weekly</code>, or <code>monthly</code> calendar recurrence.</p>",
            "url": "https://docs.swan.io/changelog/2026/01/29/2026/",
            "summary": "📅 Set card spending limits based on calendar periods (resetting monthly on the 1st, weekly on Monday, or daily at midnight) instead of rolling periods. Calendar-based limits make it easier for finance teams to control budgets by calendar month, week, or day. Configure calendar limits using the new mode field in SpendingLimitInput with options for daily, weekly, or monthly calendar recurrence.",
            "date_modified": "2026-01-29T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/15-january-2026",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"new-features\">New features<a href=\"https://docs.swan.io/changelog/15-january-2026#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\">​</a></h2>\n<p>📖 Subscribe to email notifications directly from the <a href=\"https://docs.swan.io/changelog\">Changelog</a> to stay informed about API updates and breaking changes.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/15-january-2026#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>📄 The <a href=\"https://api-reference.swan.io/mutations/generate-transaction-statement/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>generateTransactionStatement</code> mutation</a> now works for incoming and outgoing <code>Booked</code> <a href=\"https://docs.swan.io/topics/payments/credit-transfers/international/\">International Credit Transfers</a>. Use it to prove a transaction was executed by Swan.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"api-updates\">API updates<a href=\"https://docs.swan.io/changelog/15-january-2026#api-updates\" class=\"hash-link\" aria-label=\"Direct link to API updates\" title=\"Direct link to API updates\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"upcoming-breaking-changes\">Upcoming breaking changes<a href=\"https://docs.swan.io/changelog/15-january-2026#upcoming-breaking-changes\" class=\"hash-link\" aria-label=\"Direct link to Upcoming breaking changes\" title=\"Direct link to Upcoming breaking changes\">​</a></h3>\n<p>🌍 Starting January 19, a new <code>accountId</code> field is available as an optional parameter in <a href=\"https://api-reference.swan.io/queries/international-beneficiary-dynamic-forms/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>internationalBeneficiaryDynamicForms</code></a>. It becomes mandatory on <strong>March 31, 2026</strong>. Update your integration during this period to ensure continued support for international credit transfer queries.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"reminders\">Reminders<a href=\"https://docs.swan.io/changelog/15-january-2026#reminders\" class=\"hash-link\" aria-label=\"Direct link to Reminders\" title=\"Direct link to Reminders\">​</a></h3>\n<p>📆 On <strong>April 1, 2026</strong>, the following fields will be removed from the <a href=\"https://api-reference.swan.io/queries/account-statement/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>accountStatement</code></a> and <a href=\"https://api-reference.swan.io/objects/account/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>Account.statements</code></a> queries and from the <a href=\"https://api-reference.swan.io/mutations/generate-account-statement/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>generateAccountStatement</code></a> mutation response:</p>\n<ul>\n<li><code>fees</code> will be replaced by <code>feeCredits</code> and <code>feeDebits</code>.</li>\n<li><code>status</code> will be replaced by the <code>statusInfo</code> object.</li>\n<li>The statement download <code>url</code>, previously in the <code>type</code> object, will only be available in <code>statusInfo</code>.</li>\n</ul>",
            "url": "https://docs.swan.io/changelog/15-january-2026",
            "title": "15 January 2026",
            "summary": "New features",
            "date_modified": "2026-01-15T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/18-december-2025",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"new-features\">New features<a href=\"https://docs.swan.io/changelog/18-december-2025#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\">​</a></h2>\n<p>🧭 We're releasing a <a href=\"https://docs.swan.io/preview/new-onboarding\">preview of the documentation</a> for our new onboarding API. Built to strengthen risk assessment and regulatory compliance through improved data collection, it also delivers a <a href=\"https://docs.swan.io/preview/new-onboarding/#whats-changing\">better developer experience</a> with cleaner mutations and queries, structured inputs, and typed responses. Full launch is planned for <strong><a href=\"https://docs.swan.io/preview/#preview\">Q1 2026</a></strong>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/18-december-2025#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>📈 The <strong>Insights</strong> tab on your Dashboard now includes new visualizations:</p>\n<ul>\n<li><strong>Capital deposits</strong>: New data improving visibility on iteration time for internal reviews.</li>\n<li><strong>Support</strong>: New dedicated section tracking support tickets, categorization, and SLAs.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"important-update\">Important update<a href=\"https://docs.swan.io/changelog/18-december-2025#important-update\" class=\"hash-link\" aria-label=\"Direct link to Important update\" title=\"Direct link to Important update\">​</a></h2>\n<p>📩 Following an incident during activation of the <a href=\"https://docs.swan.io/changelog/4-december-2025#improvements\">new white-labelled email notifications</a> announced on December 4, we rolled back to the previous account opening notifications within an hour. The December 18 breaking change for account membership invitations is also postponed.</p>\n<p>We plan to activate all new white-labelled notifications in <strong>January 2026</strong> with two weeks' notice. You'll be able to test them in Production Sandbox beforehand.</p>\n<p>Affected notifications:</p>\n<ul>\n<li>Your account terms and conditions.</li>\n<li>First transfer.</li>\n<li>Request supporting documents.</li>\n<li>Request supporting documents reminders.</li>\n<li>Your account is opened.</li>\n<li>Join your banking space.</li>\n</ul>",
            "url": "https://docs.swan.io/changelog/18-december-2025",
            "title": "18 December 2025",
            "summary": "New features",
            "date_modified": "2025-12-18T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/4-december-2025",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"new-features\">New features<a href=\"https://docs.swan.io/changelog/4-december-2025#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\">​</a></h2>\n<p>🤖 Swan's new <a href=\"https://docs.swan.io/developers/tools/mcp-servers\">MCP (Model Context Protocol) servers</a> give AI assistants direct access to Swan's GraphQL schema and documentation. Use them with Claude Desktop, Claude Code, or Cursor to generate accurate queries and get answers about the API.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/4-december-2025#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>🔗 Your users can now upload merchant profile supporting documents directly in Web Banking. Retrieve the upload link from <a href=\"https://api-reference.swan.io/objects/supporting-document-collection/#supportingdocumentcollectionsupportingdocumentcollectionurlstring--\" target=\"_blank\" rel=\"noopener noreferrer\"><code>supportingDocumentCollectionUrl</code></a> in the <a href=\"https://api-reference.swan.io/objects/supporting-document-collection/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>SupportingDocumentCollection</code></a> object and share it with them.</p>\n<p>📩 Account opening email notifications have been rebranded to support your project's branding (logo, accent colors):</p>\n<ul>\n<li><strong><a href=\"https://docs.swan.io/topics/onboarding/#notifications\">Account onboarding</a></strong>: Your account terms and conditions.</li>\n<li><strong><a href=\"https://docs.swan.io/topics/onboarding/account-holders#notifications\">Account holder verification</a></strong>: First transfer, Request supporting documents, Request supporting documents reminders, Your account is opened.</li>\n</ul>\n<p>Your current configuration has been applied automatically to avoid disruptions. Swan can configure some of these notifications on your behalf; <a href=\"https://support.swan.io/hc/en-150/requests/new\" target=\"_blank\" rel=\"noopener noreferrer\">submit a request</a> if you're interested.</p>\n<p>📈 The Insights tab on your Dashboard now includes new visualizations:</p>\n<ul>\n<li><strong>Capital deposits</strong>: New section tracking deposit status, total lead time, and step duration.</li>\n<li><strong>KYC multi-touch lead time</strong>: New graph tracking total verification time for complex cases. The \"One-touch vs. multi-touch\" graph now focuses on completed processes, with iterations simplified to match service level agreements (\"Within 9 hours\" vs. \"More than 9 hours\").</li>\n</ul>\n<p><em>Coming soon: Support operations graphs.</em></p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"api-updates\">API updates<a href=\"https://docs.swan.io/changelog/4-december-2025#api-updates\" class=\"hash-link\" aria-label=\"Direct link to API updates\" title=\"Direct link to API updates\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"upcoming-breaking-changes\">Upcoming breaking changes<a href=\"https://docs.swan.io/changelog/4-december-2025#upcoming-breaking-changes\" class=\"hash-link\" aria-label=\"Direct link to Upcoming breaking changes\" title=\"Direct link to Upcoming breaking changes\">​</a></h3>\n<p>🛡️ Starting <strong>December 18</strong>, we're introducing stricter input validation for several mutations to improve security and error handling. The following fields now enforce specific formats, returning a <code>ValidationRejection</code> for invalid values:</p>\n<table><thead><tr><th>Mutation</th><th>Field</th><th>Required format</th></tr></thead><tbody><tr><td><a href=\"https://api-reference.swan.io/mutations/add-virtual-iban-entry/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>addVirtualIbanEntry</code></a></td><td><code>accountId</code></td><td>Valid UUID</td></tr><tr><td><a href=\"https://api-reference.swan.io/mutations/disable-account-membership/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>disableAccountMembership</code></a></td><td><code>accountMembershipId</code></td><td>Valid UUID</td></tr><tr><td><a href=\"https://api-reference.swan.io/mutations/resume-account-membership/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>resumeAccountMembership</code></a></td><td><code>accountMembershipId</code></td><td>Valid UUID</td></tr><tr><td><a href=\"https://api-reference.swan.io/mutations/resume-account-membership/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>resumeAccountMembership</code></a></td><td><code>consentRedirectUrl</code></td><td>Valid URL</td></tr></tbody></table>\n<p>📩 Starting <strong>December 18</strong>, the <a href=\"https://docs.swan.io/topics/accounts/memberships/#notifications\">account membership invitation</a> notification will be rebranded with your project's branding (logo, accent colors). If you use a forked version of Web Banking, fetch and deploy the latest version from Swan's repository to continue receiving Swan-sent invitation emails.</p>",
            "url": "https://docs.swan.io/changelog/4-december-2025",
            "title": "4 December 2025",
            "summary": "New features",
            "date_modified": "2025-12-04T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/6-november-2025",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/6-november-2025#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>✅ The beneficiary name field in the <a href=\"https://api-reference.swan.io/mutations/verify-beneficiary/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>verifyBeneficiary</code> mutation</a> now enforces a maximum length of 70 characters for SEPA beneficiaries and Swan accounts. This matches the maximum length supported for SEPA Credit Transfer initiations, preventing rejections during the payment flow.</p>\n<p>💳 <a href=\"https://docs.swan.io/topics/cards/virtual/#suv-recurring\">Recurring <code>SingleUseVirtualCard</code></a> instances now remain active when their cardholder's account membership is <a href=\"https://docs.swan.io/topics/accounts/memberships/guide-disable/#payload\">disabled</a>. When that happens, the card automatically reassigns to the account's legal representative, ensuring uninterrupted recurring expenses.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"updates\">Updates<a href=\"https://docs.swan.io/changelog/6-november-2025#updates\" class=\"hash-link\" aria-label=\"Direct link to Updates\" title=\"Direct link to Updates\">​</a></h2>\n<p>📝 Starting <strong>December 1</strong>, Swan Support will no longer manually register SEPA Direct Debit B2B mandates. You can now:</p>\n<ul>\n<li>Share a <a href=\"https://docs.swan.io/topics/payments/direct-debit/guide-add-mandate/#link\">SEPA Direct Debit B2B mandate registration link</a> directly with your users.</li>\n<li>Embed the registration link in your application.</li>\n<li>Use <a href=\"https://docs.swan.io/topics/payments/direct-debit/guide-add-mandate/#api\">Swan's API</a> to manage mandate registration programmatically.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"api-updates\">API updates<a href=\"https://docs.swan.io/changelog/6-november-2025#api-updates\" class=\"hash-link\" aria-label=\"Direct link to API updates\" title=\"Direct link to API updates\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"upcoming-breaking-changes\">Upcoming breaking changes<a href=\"https://docs.swan.io/changelog/6-november-2025#upcoming-breaking-changes\" class=\"hash-link\" aria-label=\"Direct link to Upcoming breaking changes\" title=\"Direct link to Upcoming breaking changes\">​</a></h3>\n<p>🧹 Starting December 1, the deprecated <code>companyInfoBySiren</code> query will be removed. Company information can now be retrieved directly during onboarding creation and updates, eliminating the need for separate queries.</p>\n<p>🧹 On <strong>February 5, 2026</strong>, the deprecated <a href=\"https://api-reference.swan.io/objects/capital-deposit-case#capitaldepositcasestatuscapitaldepositcasestatus---\" target=\"_blank\" rel=\"noopener noreferrer\"><code>status</code> field</a> will be removed from the <a href=\"https://api-reference.swan.io/objects/capital-deposit-case/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>CapitalDepositCase</code> object</a>. Migrate to the <a href=\"https://api-reference.swan.io/objects/capital-deposit-case/#capitaldepositcasestatusinfocapitaldepositcasestatusinfo--\" target=\"_blank\" rel=\"noopener noreferrer\"><code>statusInfo</code> field</a>, which was introduced on October 23. This provides <a href=\"https://api-reference.swan.io/enums/capital-deposit-status\" target=\"_blank\" rel=\"noopener noreferrer\">more granular status updates</a>, including <code>WaitingForInitialRequirements</code>, <code>PendingInternalReview</code>, and <code>WaitingForAdditionalInformation</code>.</p>",
            "url": "https://docs.swan.io/changelog/6-november-2025",
            "title": "6 November 2025",
            "summary": "Improvements",
            "date_modified": "2025-11-06T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/23-october-2025",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/23-october-2025#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>We've made improvements to capital deposits to give you better visibility into case progress and more flexibility to correct information without restarting the process.</p>\n<p>🔍 We improved granular status tracking for capital deposit cases by introducing the <code>statusInfo</code> field in the <a href=\"https://api-reference.swan.io/objects/capital-deposit-case/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>CapitalDepositCase</code> object</a>. This field provides more detailed status updates and replaces the generic <code>WaitingForRequirements</code> status with three clear stages:</p>\n<ul>\n<li><strong><code>WaitingForInitialRequirements</code></strong>: Shareholder verification, fund transfers, document uploads, and company onboarding are pending.</li>\n<li><strong><code>PendingInternalReview</code></strong>: Swan is reviewing submitted information and documents.</li>\n<li><strong><code>WaitingForAdditionalInformation</code></strong>: Swan has requested corrections or additional details.</li>\n</ul>\n<p>The existing <code>status</code> field remains available but is deprecated. We recommend migrating to <code>statusInfo</code> for more detailed status information, though you can adopt it at your own pace without breaking your integration. The Dashboard continues to display the <code>status</code> label.</p>\n<p>💰 You can now correct shareholder deposit amounts with the <a href=\"https://api-reference.swan.io/mutations/update-capital-deposit-shareholder-amount/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>updateCapitalDepositShareholderAmount</code> mutation</a>. Requirements:</p>\n<ul>\n<li>Capital deposit case status is <code>WaitingForInitialRequirements</code>, <code>PendingInternalReview</code>, or <code>WaitingForAdditionalInformation</code>. Also supports the deprecated <code>WaitingForRequirements</code> status.</li>\n<li>Shareholder status is <code>PendingOnboarding</code>, <code>WaitingForVerification</code>, or <code>WaitingForTransfer</code>.</li>\n</ul>\n<p>Updating an amount automatically recalculates the total capital deposit.</p>\n<p>🏬 You can now correct company details linked to capital deposits with the <a href=\"https://api-reference.swan.io/mutations/update-capital-deposit-company/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>updateCapitalDepositCompany</code> mutation</a>. This lets you update the company name and postal address. Requirements:</p>\n<ul>\n<li>Capital deposit case status is <code>WaitingForInitialRequirements</code>, <code>PendingInternalReview</code>, or <code>WaitingForAdditionalInformation</code>. Also supports the deprecated <code>WaitingForRequirements</code> status.</li>\n<li>Company onboarding is <code>Finalized</code>.</li>\n</ul>\n<p>Updates sync automatically across both the capital deposit case and the associated account holder.</p>\n<p>📄 Account statements now feature a more refined structure, clearer field names, and precise status tracking.</p>\n<ul>\n<li><strong>New <code>Voided</code> status</strong>: We've added the Voided status to mark incorrect statements. When a statement is voided, a corrected version automatically regenerates with identical characteristics (format, language, dates). The <code>statusInfo</code> object reflects this new status.</li>\n<li><strong>Refined fee fields</strong>: The <code>fees</code> field is now split into <code>feeCredits</code> (sum of credit fee transactions) and <code>feeDebits</code> (sum of debit fee transactions).</li>\n<li><strong>Clearer format naming</strong>: The <code>type</code> field is now renamed to <code>format</code>.</li>\n<li><strong>New webhook</strong>: <a href=\"https://docs.swan.io/developers/using-api/webhooks#events-accounts\"><code>AccountStatement.Voided</code></a> now triggers when a statement is marked as<code>Voided</code>.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"api-updates\">API updates<a href=\"https://docs.swan.io/changelog/23-october-2025#api-updates\" class=\"hash-link\" aria-label=\"Direct link to API updates\" title=\"Direct link to API updates\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"upcoming-breaking-changes\">Upcoming breaking changes<a href=\"https://docs.swan.io/changelog/23-october-2025#upcoming-breaking-changes\" class=\"hash-link\" aria-label=\"Direct link to Upcoming breaking changes\" title=\"Direct link to Upcoming breaking changes\">​</a></h3>\n<p>🧹 On <strong>December 1</strong>, the deprecated <code>totalCapitalDepositAmount</code> field will be removed from the <a href=\"https://api-reference.swan.io/inputs/create-capital-deposit-case-input/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>CreateCapitalDepositCaseInput</code> object</a>. Instead, specify each shareholder's deposit amount in the <code>individualShareholders</code> and <code>companyShareholders</code> arrays. Swan automatically calculates the total. The calculated total remains available in the <a href=\"https://api-reference.swan.io/objects/capital-deposit-case/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>CapitalDepositCase</code></a> response.</p>\n<p>⚠️ Starting <strong>January 23, 2026</strong>, the following fields will be removed from the <a href=\"https://api-reference.swan.io/queries/account-statement/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>accountStatement</code></a> and <a href=\"https://api-reference.swan.io/queries/account-statements/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>accountStatements</code></a> queries and from the <a href=\"https://api-reference.swan.io/mutations/generate-account-statement/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>generateAccountStatement</code> mutation</a> response:</p>\n<ul>\n<li><code>fees</code> is replaced by <code>feeCredits</code> and <code>feeDebits</code>.</li>\n<li><code>status</code> is replaced by the <code>statusInfo</code> object.</li>\n<li>The statement download <code>url</code>, previously in the <code>type</code> object, is now only in <code>statusInfo</code>.</li>\n</ul>",
            "url": "https://docs.swan.io/changelog/23-october-2025",
            "title": "23 October 2025",
            "summary": "Improvements",
            "date_modified": "2025-10-23T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/9-october-2025",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/9-october-2025#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>📭 To improve data quality for physical card orders, we now use a regex to enforce better formatting of the <a href=\"https://api-reference.swan.io/inputs/complete-address-input/#completeaddressinputpostalcodestring--\" target=\"_blank\" rel=\"noopener noreferrer\"><code>postalCode</code></a> field in physical addresses.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"api-updates\">API updates<a href=\"https://docs.swan.io/changelog/9-october-2025#api-updates\" class=\"hash-link\" aria-label=\"Direct link to API updates\" title=\"Direct link to API updates\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"upcoming-breaking-changes\">Upcoming breaking changes<a href=\"https://docs.swan.io/changelog/9-october-2025#upcoming-breaking-changes\" class=\"hash-link\" aria-label=\"Direct link to Upcoming breaking changes\" title=\"Direct link to Upcoming breaking changes\">​</a></h3>\n<p>🔍 Starting <strong>November 12</strong>:</p>\n<ul>\n<li>The <a href=\"https://api-reference.swan.io/queries/onboarding\" target=\"_blank\" rel=\"noopener noreferrer\"><code>onboarding(id: ID!)</code> query</a> may return <code>null</code> when no onboarding exists for the given ID, instead of always returning an <a href=\"https://api-reference.swan.io/objects/onboarding\" target=\"_blank\" rel=\"noopener noreferrer\"><code>Onboarding</code> object</a>.</li>\n<li>The following deprecated fields will be removed:<!-- -->\n<ul>\n<li><strong><code>verificationFlow</code></strong> from the <a href=\"https://api-reference.swan.io/objects/onboarding-info/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>OnboardingInfo</code> object</a>.</li>\n<li><strong><code>redirectUrl</code></strong> from both the <a href=\"https://api-reference.swan.io/objects/onboarding\" target=\"_blank\" rel=\"noopener noreferrer\"><code>Onboarding</code></a> and <a href=\"https://api-reference.swan.io/objects/onboarding-info\" target=\"_blank\" rel=\"noopener noreferrer\"><code>OnboardingInfo</code></a> objects. It has been replaced by the <a href=\"https://api-reference.swan.io/objects/oauth-redirect-parameters/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>oauthRedirectParameters</code> object</a>.</li>\n<li><strong><code>title</code></strong> from the <a href=\"https://api-reference.swan.io/objects/individual-ultimate-beneficial-owner/\" target=\"_blank\" rel=\"noopener noreferrer\">Ultimate Beneficial Owner (UBO) object</a>. It has been replaced by the <a href=\"https://api-reference.swan.io/objects/individual-ultimate-beneficial-owner#individualultimatebeneficialownergendergender-\" target=\"_blank\" rel=\"noopener noreferrer\"><code>gender</code> field</a>.</li>\n<li><strong><code>onboardingState</code></strong> from the <a href=\"https://api-reference.swan.io/objects/onboarding-info/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>OnboardingInfo</code> object</a>.</li>\n</ul>\n</li>\n</ul>\n<p>💸 On <strong>October 19</strong>, we will introduce the following updates to the <code>initiateCreditTransfers</code> endpoint to improve its usability and clarity:</p>\n<ul>\n<li>The <code>save</code> parameter now defaults to <code>false</code>.</li>\n<li>The <code>mode</code> parameter is now a <strong>required</strong> field. The default value is set to <code>Regular</code>.</li>\n<li>The <code>isMyOwnIban</code> and <code>beneficiaryId</code> input fields have been <strong>removed</strong>.</li>\n<li>The API now returns a <code>ValidationRejection</code> error instead of <code>ForbiddenRejection</code> when an input contains <strong>invalid</strong> data.</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"updates\">Updates<a href=\"https://docs.swan.io/changelog/9-october-2025#updates\" class=\"hash-link\" aria-label=\"Direct link to Updates\" title=\"Direct link to Updates\">​</a></h3>\n<p>⚖️ Starting <strong>October 31</strong>, the <code>taxIdentificationNumber</code> will be a mandatory field at onboarding when an account holder's residency country does not match the <code>accountCountry</code>. This is to comply with <a href=\"https://www.oecd.org/content/dam/oecd/en/topics/policy-issue-focus/aeoi/jersey-guidance-notes-crs.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">CRS (Common Reporting Standard) regulations</a>.</p>",
            "url": "https://docs.swan.io/changelog/9-october-2025",
            "title": "9 October 2025",
            "summary": "Improvements",
            "date_modified": "2025-10-09T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/25-september-2025",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"new-features\">New features<a href=\"https://docs.swan.io/changelog/25-september-2025#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\">​</a></h2>\n<p>🏦 With <a href=\"https://docs.swan.io/topics/accounts/multiple-accounts/\">Multiple Accounts</a>, company account holders can create additional accounts without repeating onboarding or Know Your Business (KYB) processes.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/25-september-2025#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>🚚 We've added <code>LaPosteTracked</code> as a new <a href=\"https://docs.swan.io/topics/cards/physical/#shipping-methods\">shipping method</a> for international card deliveries. This gives cardholders outside of France a reliable way to track their card's delivery from our printing hub.</p>\n<p>📄 We've made it easier to reconcile payments by allowing you to use structured and unstructured formats for <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/guide-initiate-ct#invoice-reference\">invoice references in transactions</a>. For SEPA Credit Transfers, use the <code>labelType</code> field to choose the reference standard and the <code>label</code> field for the value. When you retrieve transaction data, this value will be in the <code>transaction.label</code>. You can also specify the <code>ogmVcs</code> type for Belgian OGM VCS references.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"verification-of-payee-vop-updates\">Verification of Payee (VoP) updates<a href=\"https://docs.swan.io/changelog/25-september-2025#verification-of-payee-vop-updates\" class=\"hash-link\" aria-label=\"Direct link to Verification of Payee (VoP) updates\" title=\"Direct link to Verification of Payee (VoP) updates\">​</a></h2>\n<p>⚠️ <em>The following updates are currently available in our <strong>Sandbox</strong> environment and will be released to the <strong>Live</strong> environment on <strong>October 9</strong>.</em></p>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"-initiatecredittransfers-endpoint-updates\">💸 <code>initiateCreditTransfers</code> endpoint updates<a href=\"https://docs.swan.io/changelog/25-september-2025#-initiatecredittransfers-endpoint-updates\" class=\"hash-link\" aria-label=\"Direct link to -initiatecredittransfers-endpoint-updates\" title=\"Direct link to -initiatecredittransfers-endpoint-updates\">​</a></h3>\n<ul>\n<li>We'll <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/vop/verification-of-payee#option-1\">automatically verify the beneficiary's details</a> and display the results on the consent screen for single SEPA Credit Transfers without a <code>beneficiaryVerificationToken</code> in the <code>initiateCreditTransfers</code> call.</li>\n<li>You can now include a <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/vop/guide-verify-beneficiary/#step-3\"><code>beneficiaryVerificationToken</code></a> when initiating a credit transfer instead of providing full beneficiary details. Account <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/vop/guide-verify-beneficiary/#token-permissions\">membership rights</a> remain the same as those described in <a href=\"https://docs.swan.io/topics/payments/credit-transfers/#beneficiaries-permissions\">beneficiaries permissions</a> when using tokens.</li>\n<li>A new <code>beneficiaryVerificationResults</code> field has been added to <a href=\"https://api-reference.swan.io/objects/initiate-credit-transfers-success-payload/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>InitiateCreditTransfersSuccessPayload</code></a>.</li>\n</ul>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"-schedulestandingorder-endpoint-updates\">📅 <code>scheduleStandingOrder</code> endpoint updates<a href=\"https://docs.swan.io/changelog/25-september-2025#-schedulestandingorder-endpoint-updates\" class=\"hash-link\" aria-label=\"Direct link to -schedulestandingorder-endpoint-updates\" title=\"Direct link to -schedulestandingorder-endpoint-updates\">​</a></h3>\n<ul>\n<li>When calling the <code>scheduleStandingOrder</code> mutation, we'll automatically verify the beneficiary's details and display the results in the consent screen.</li>\n<li>A new <code>beneficiaryVerificationResult</code> field has been added to the  <a href=\"https://api-reference.swan.io/objects/schedule-standing-order-success-payload/\" target=\"_blank\" rel=\"noopener noreferrer\"><code>ScheduleStandingOrderSuccessPayload</code></a>.</li>\n</ul>\n<p>📒  You can now retrieve the <code>beneficiaryVerificationResult</code> using the  <code>transaction</code>, <code>transactions</code>, <code>standingOrder</code>, and <code>TrustedBeneficiary</code> queries.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"vop-rollout\">VoP rollout<a href=\"https://docs.swan.io/changelog/25-september-2025#vop-rollout\" class=\"hash-link\" aria-label=\"Direct link to VoP rollout\" title=\"Direct link to VoP rollout\">​</a></h3>\n<p>📥 Starting <strong>October 5</strong>, we'll <strong>automatically</strong> handle all <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/vop/incoming-vop-requests/\">incoming VoP requests</a> from other Payment Service Providers (PSPs). Beneficiary details will be verified, and the result will be returned to the PSP before funds are transferred into a Swan account. No action is required from you.</p>\n<p>🃏 On <strong>October 9</strong>, <strong>company accounts</strong> will be <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/vop/bulk-credit-transfers#bulk-requirements\">opted out</a> of VoP for bulk credit transfers by default, while <strong>individual accounts</strong> will be opted in. You can <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/vop/bulk-credit-transfers#changing-settings\">change the setting for bulk transfers</a> with the <code>updateAccountSettings</code> mutation, once the <code>verifyBeneficiary</code>  mutation is implemented.</p>\n<p>📡 On <strong>October 9</strong>, the <code>verifyBeneficiary</code> mutation will be available to <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/vop/guide-verify-beneficiary/\">verify beneficiary details</a> before initiating credit transfers. Use the <code>save</code> parameter to add a trusted beneficiary when the returned token successfully initiates the credit transfer.</p>\n<p>📩 On <strong>October 19</strong>, the <code>save</code> parameter of the <code>verifyBeneficiary</code> mutation will default to <code>false</code>.</p>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"upcoming-breaking-changes\">Upcoming breaking changes<a href=\"https://docs.swan.io/changelog/25-september-2025#upcoming-breaking-changes\" class=\"hash-link\" aria-label=\"Direct link to Upcoming breaking changes\" title=\"Direct link to Upcoming breaking changes\">​</a></h3>\n<p>🛑 Starting <strong>October 9</strong>, the <code>initiateCreditTransfers</code> mutation will return a new <a href=\"https://api-reference.swan.io/objects/beneficiary-verification-token-already-consumed-rejection/\" target=\"_blank\" rel=\"noopener noreferrer\">rejection reason</a> if the <code>BeneficiaryVerificationToken</code> was already used to initiate another credit transfer.</p>\n<p>✔️ Starting <strong>October 31</strong>, the <code>beneficiaryVerification</code> query will be deprecated. Use the <code>verifyBeneficiary</code> mutation instead to ensure uninterrupted service.</p>",
            "url": "https://docs.swan.io/changelog/25-september-2025",
            "title": "25 September 2025",
            "summary": "New features",
            "date_modified": "2025-09-25T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/18-september-2025",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/18-september-2025#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>🛒 Improvements to <a href=\"https://docs.swan.io/topics/merchants/\">merchant profiles and merchant payment methods</a>, and the <code>requestMerchantProfile</code> and <code>requestMerchantProfileUpdate</code> mutations:</p>\n<ul>\n<li>\n<p>The Testing APIs <code>simulateMerchantProfileRequestOutcome</code> and <code>simulateMerchantPaymentMethodRequestOutcome</code> mutations now support the new <code>WaitingForInformation</code> status and return a list of <code>verificationRequirements</code>.</p>\n</li>\n<li>\n<p>A new optional field <code>expectedMerchantProfileAdditionalInformation</code> is now available at the <code>projectInfo</code> level. This field allows you to customize information collected for merchant profiles when configured as part of your merchant feature approval process.</p>\n<p>The information can then be provided using the <code>additionalInformation</code> field in merchant profiles and in the <code>requestMerchantProfile</code> and <code>requestMerchantProfileUpdate</code> mutations.</p>\n</li>\n<li>\n<p>The <code>invoiceExample</code> field has been deprecated.</p>\n</li>\n<li>\n<p>The <code>expectedMonthlyPaymentVolume</code>, <code>merchantWebsite</code>, <code>socialNetwork</code>, <code>supportWebsite</code>, and <code>termsAndConditions</code> fields are being deprecated.</p>\n</li>\n<li>\n<p>We've deprecated the <code>rejectReasons</code> field and replaced it with <code>rejectionReasons</code>.</p>\n</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"api-updates\">API updates<a href=\"https://docs.swan.io/changelog/18-september-2025#api-updates\" class=\"hash-link\" aria-label=\"Direct link to API updates\" title=\"Direct link to API updates\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"upcoming-breaking-changes\">Upcoming breaking changes<a href=\"https://docs.swan.io/changelog/18-september-2025#upcoming-breaking-changes\" class=\"hash-link\" aria-label=\"Direct link to Upcoming breaking changes\" title=\"Direct link to Upcoming breaking changes\">​</a></h3>\n<p>📡 Starting <strong>October 9</strong>, bulk SEPA Credit Transfers from individual account holders will be rejected if <a href=\"https://docs.swan.io/topics/payments/credit-transfers/sepa/vop/guide-verify-beneficiary/#step-3\">verification tokens</a> aren't included in the payment initiation. You must either implement the <code>verifyBeneficiary</code> mutation (recommended) or restrict bulk credit transfer access to company accounts only. This change applies to both Live and Sandbox environments.</p>\n<p>💳 On <strong>October 16</strong>, the <code>CardUrl</code> field will be removed. Use <code>cardMaskedNumber</code>, <code>expiryDate</code>, and <code>cardDesignUrl</code> instead.</p>\n<p>🛒 On <strong>October 16</strong>, the following merchant onboarding and payment methods breaking changes will take effect:</p>\n<ul>\n<li>A new <code>WaitingForInformation</code> status and <code>verificationRequirements</code> list will be available to show missing information on merchant profiles and payment methods. Submit the required information using the <code>requestMerchantProfile</code> or <code>requestMerchantProfileUpdate</code> mutations.</li>\n<li>A new <code>supportingDocumentCollections</code> field will also be available at the merchant profile level for providing required documents.</li>\n<li>The <code>invoiceExample</code>, <code>expectedMonthlyPaymentVolume</code>, <code>merchantWebsite</code>, <code>socialNetwork</code>, <code>supportWebsite</code>, <code>termsAndConditions</code> will be <strong>removed</strong>. Use <code>expectedMonthlyMerchantProcessingVolume</code>, <code>merchantWebsiteUrl</code>, <code>socialNetworkUrl</code>, <code>supportWebsiteUrl</code>, and <code>termsAndConditionsUrl</code> instead.</li>\n<li><code>rejectReasons</code> will be <strong>removed</strong> for card payment methods.</li>\n<li><code>rejectionReasons</code> for <code>Rejected</code> merchant profiles and merchant payment methods will become <strong>mandatory</strong> in Testing APIs <code>simulateMerchantProfileRequestOutcome</code> and <code>simulateMerchantPaymentMethodRequestOutcome</code>.</li>\n<li>Dynamic rolling reserve changes and maximum payment amount limits will be introduced at the merchant payment method level to mitigate risk. Subscribe to the <code>MerchantPaymentMethod.Created</code> and <code>MerchantPaymentMethod.Updated</code> webhooks for these updates.</li>\n</ul>\n<p>💸 Effective <strong>October 19</strong>, we're introducing updates to the <code>initiateCreditTransfers</code> endpoint to improve its usability and clarity:</p>\n<ul>\n<li>The <code>save</code> parameter will default to <code>false</code>.</li>\n<li>The <code>mode</code> parameter will be a <strong>required</strong> field. The default value is set to <code>Regular</code>.</li>\n<li>The <code>isMyOwnIban</code> and <code>beneficiaryId</code> input fields will be <strong>removed</strong>.</li>\n<li>The API will return a <code>ValidationRejection</code> error instead of <code>ForbiddenRejection</code> when an input contains <strong>invalid</strong> data.</li>\n</ul>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"update\">Update<a href=\"https://docs.swan.io/changelog/18-september-2025#update\" class=\"hash-link\" aria-label=\"Direct link to Update\" title=\"Direct link to Update\">​</a></h2>\n<p>🧭 Starting <strong>October 21</strong>, card-issuing spending limits will be <a href=\"https://docs.swan.io/topics/cards/#hour-level-aggregation\">aggregated at the hour level</a>.\nTo calculate card spending limits, each payment is recorded at the start of the hour. The rolling period resets every hour.\nThis change applies to cards with <code>daily</code>, <code>weekly</code>, and <code>monthly</code> spending limit periods.</p>",
            "url": "https://docs.swan.io/changelog/18-september-2025",
            "title": "18 September 2025",
            "summary": "Improvements",
            "date_modified": "2025-09-18T00:00:00.000Z",
            "tags": []
        },
        {
            "id": "https://docs.swan.io/changelog/3-september-2025",
            "content_html": "<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"new-features\">New features<a href=\"https://docs.swan.io/changelog/3-september-2025#new-features\" class=\"hash-link\" aria-label=\"Direct link to New features\" title=\"Direct link to New features\">​</a></h2>\n<p>📖 Get a head start on what's next. We've added a <a href=\"https://docs.swan.io/preview/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Preview</strong> section</a> to our documentation, giving you early access to our features. Use these previews to plan your future roadmap. Note that functionality may change before the official release.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"improvements\">Improvements<a href=\"https://docs.swan.io/changelog/3-september-2025#improvements\" class=\"hash-link\" aria-label=\"Direct link to Improvements\" title=\"Direct link to Improvements\">​</a></h2>\n<p>⏹️ You can now <a href=\"https://docs.swan.io/topics/merchants/online/sdd/#canceling\">cancel merchant SEPA Direct Debit payments</a> using the <code>cancelMerchantPayment</code> mutation.\nRefer to the <code>availableToCancel</code> balance to check if a specific payment can be canceled.</p>\n<p>🔍 Use the <code>isCancelable</code> field to verify whether scheduled account funding transactions are eligible for <a href=\"https://docs.swan.io/topics/accounts/funding/#canceling\">cancellation</a>.</p>\n<h2 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"api-updates\">API updates<a href=\"https://docs.swan.io/changelog/3-september-2025#api-updates\" class=\"hash-link\" aria-label=\"Direct link to API updates\" title=\"Direct link to API updates\">​</a></h2>\n<h3 class=\"anchor anchorWithStickyNavbar_LWe7\" id=\"upcoming-breaking-changes\">Upcoming breaking changes<a href=\"https://docs.swan.io/changelog/3-september-2025#upcoming-breaking-changes\" class=\"hash-link\" aria-label=\"Direct link to Upcoming breaking changes\" title=\"Direct link to Upcoming breaking changes\">​</a></h3>\n<p>🔄 Starting <strong>October 1</strong>, we're removing the <code>paymentId</code> field from the <code>initiateSepaDirectDebitMerchantPayment</code> mutation.\nInstead, retrieve the ID from the <code>merchantPayment</code> field, which now returns the Merchant Payment object.\nWe're also deprecating the <code>paymentId</code> field.</p>\n<p>⚖️ Starting <strong>October 31</strong>, the <code>taxIdentificationNumber</code> will be a mandatory field at onboarding when an account holder's residency country does not match the <code>accountCountry</code>. This is to comply with <a href=\"https://www.oecd.org/content/dam/oecd/en/topics/policy-issue-focus/aeoi/jersey-guidance-notes-crs.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">CRS (Common Reporting Standard) regulations</a>.\nFor example, Spanish residents opening French accounts will need to provide their tax identification number.</p>",
            "url": "https://docs.swan.io/changelog/3-september-2025",
            "title": "3 September 2025",
            "summary": "New features",
            "date_modified": "2025-09-03T00:00:00.000Z",
            "tags": []
        }
    ]
}