diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000000..7d208ef0b0a
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,11 @@
+root = true
+
+[*]
+charset = utf-8
+indent_size = 2
+insert_final_newline = true
+indent_style = space
+trim_trailing_whitespace = true
+
+[*.md]
+trim_trailing_whitespace = false
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 5373d6298e1..0284f93821a 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,3 +1,3 @@
{
- "mdx.server.enable": false
-}
\ No newline at end of file
+ "mdx.server.enable": false
+}
diff --git a/changelog/2024/2024-03-15.mdx b/changelog/2024/2024-03-15.mdx
index b6516460159..fa41e776d82 100644
--- a/changelog/2024/2024-03-15.mdx
+++ b/changelog/2024/2024-03-15.mdx
@@ -11,4 +11,4 @@ This will remove current friction when receiving SEPA Credit Transfers from the
### Upcoming breaking changes
💥 In **4 weeks**, the Ultimate Beneficial Owner's residency country becomes mandatory in our no-code onboarding form.
-In **4 months**, our API will enforce this change as well.
\ No newline at end of file
+In **4 months**, our API will enforce this change as well.
diff --git a/changelog/2024/2024-03-28.mdx b/changelog/2024/2024-03-28.mdx
index b33080a6b84..c12e2b3e208 100644
--- a/changelog/2024/2024-03-28.mdx
+++ b/changelog/2024/2024-03-28.mdx
@@ -13,8 +13,9 @@ Learn more about the [supporting document collection](/topics/onboarding/documen
⏸️ Suspending an account now triggers an `Account.Updated` webhook.
### Upcoming breaking changes
-⚠️ In **2 weeks**, we'll reject any input of the "_" character in the `reference` field, and sanitize it in the `label` field within the `initiateCreditTransfers` mutation, as it's not authorized in SEPA messages.
-For the `reference` field, ensure that the content:
+
+⚠️ In **2 weeks**, we'll reject any input of the "\_" character in the `reference` field, and sanitize it in the `label` field within the `initiateCreditTransfers` mutation, as it's not authorized in SEPA messages.
+For the `reference` field, ensure that the content:
- Doesn't start or end with a "/"
- Doesn't have "//"
@@ -23,4 +24,4 @@ For the `reference` field, ensure that the content:
💸 The `beneficiaryId` input field for the mutation `initiateCreditTransfers` has been deprecated, and will be removed in 4 weeks.
ℹ️ In the upcoming months, we'll remove the requirement of one unique phone number per user.
-While each phone number will remain linked to only one user at a time, it can **later** be reused by different users, like employees, at **separate** times.
\ No newline at end of file
+While each phone number will remain linked to only one user at a time, it can **later** be reused by different users, like employees, at **separate** times.
diff --git a/changelog/2024/2024-04-04.mdx b/changelog/2024/2024-04-04.mdx
index 0c8ca53fee4..663b5a67cc7 100644
--- a/changelog/2024/2024-04-04.mdx
+++ b/changelog/2024/2024-04-04.mdx
@@ -5,7 +5,7 @@ type: release
### New features
-🌎 Account holders can now send [International Credit Transfers](/topics/payments/credit-transfers/international) to:
+🌎 Account holders can now send [International Credit Transfers](/topics/payments/credit-transfers/international) to:
- Exchange euros for another currency and transfer it.
- Transfer euros outside of SEPA.
@@ -15,4 +15,4 @@ Please contact your Account Manager if you're interested.
### Improvements
-✅ [Beneficiary verification](/topics/payments/credit-transfers/sepa/#beneficiary-verification) between two Dutch accounts is now available on Swan's Web Banking.
\ No newline at end of file
+✅ [Beneficiary verification](/topics/payments/credit-transfers/sepa/#beneficiary-verification) between two Dutch accounts is now available on Swan's Web Banking.
diff --git a/changelog/2024/2024-04-11.mdx b/changelog/2024/2024-04-11.mdx
index 7e842c8718f..a6d467b118a 100644
--- a/changelog/2024/2024-04-11.mdx
+++ b/changelog/2024/2024-04-11.mdx
@@ -15,4 +15,4 @@ In **4 weeks**, we will use the new value `CapitalDepositReason`.
### Breaking changes
-⚠️ The Ultimate Beneficial Owner's (UBO) residency country is now mandatory in our **no-code onboarding form**.
\ No newline at end of file
+⚠️ The Ultimate Beneficial Owner's (UBO) residency country is now mandatory in our **no-code onboarding form**.
diff --git a/changelog/2024/2024-04-18.mdx b/changelog/2024/2024-04-18.mdx
index 3cc61db494b..02d78791272 100644
--- a/changelog/2024/2024-04-18.mdx
+++ b/changelog/2024/2024-04-18.mdx
@@ -3,7 +3,6 @@ title: 18 April 2024
type: release
---
-
### New features
💸 Offer bulk credit transfer capabilities to your end users.
@@ -17,4 +16,4 @@ Contact your Account Manager if you're interested in this feature.
### Upcoming breaking changes
🙅🏾 In 4 weeks, the status `Canceled` will be added to `CapitalDepositCase`, and the status `CapitalDepositCanceled` to `Shareholder`.
-Learn more about statuses for your [capital deposit cases](/topics/capital-deposits/#case-statuses) and [shareholders](/topics/capital-deposits/#shareholders-statuses).
\ No newline at end of file
+Learn more about statuses for your [capital deposit cases](/topics/capital-deposits/#case-statuses) and [shareholders](/topics/capital-deposits/#shareholders-statuses).
diff --git a/changelog/2024/2024-04-26.mdx b/changelog/2024/2024-04-26.mdx
index 256b23661ca..b6ae8f49500 100644
--- a/changelog/2024/2024-04-26.mdx
+++ b/changelog/2024/2024-04-26.mdx
@@ -3,7 +3,6 @@ title: 26 April 2024
type: release
---
-
### Improvements
💰 We're supporting additional fees to provide a more flexible billing solution for our partners.
diff --git a/changelog/2024/2024-05-24.mdx b/changelog/2024/2024-05-24.mdx
index 1c91b681b78..645e1fd9740 100644
--- a/changelog/2024/2024-05-24.mdx
+++ b/changelog/2024/2024-05-24.mdx
@@ -19,4 +19,4 @@ Use the API to create webhooks dynamically, retry failed events automatically, a
🪪 In **4 weeks**, we will deprecate the `notStarted` [identification status](/topics/users/identifications/#statuses) and replace it with `Started` to streamline identification flows and reduce confusion.
💳 In **4 weeks**, we will start using the new following issued card [rejection reason codes](https://api-reference.swan.io/enums/rejected-reason-code/): `ThreeDsError`, `PeriodTransactionNumberLimitExceeded`, `MissingExpirationDate`, `MissingPin`, `DigitalWalletDeactivated`, `DigitalWalletEnrolmentInvalid`, `DigitalWalletTokenInvalid`, `DigitalWalletRefusal`, `DigitalWalletSuspended`, `InvalidAmount`, and `CardholderCancellation`.
-The new rejection reasons are available in Sandbox using the [Event Simulator](/developers/tools/event-simulator).
\ No newline at end of file
+The new rejection reasons are available in Sandbox using the [Event Simulator](/developers/tools/event-simulator).
diff --git a/changelog/2024/2024-05-31.mdx b/changelog/2024/2024-05-31.mdx
index 02459544888..72de21b8132 100644
--- a/changelog/2024/2024-05-31.mdx
+++ b/changelog/2024/2024-05-31.mdx
@@ -13,4 +13,4 @@ type: release
- The available languages are: Dutch `nl`, English `en`, French `fr`, German `de`, Italian `it`, Portuguese `pt`, and Spanish `es`.
- Finnish `fi` won't be supported for the account membership language yet.
- If you're subscribed to the `AccountMembership.Updated` webhook, you'll receive a webhook notification when `AccountMembership.language` is live.
-- If you've already used the `updateAccountMembership` mutation to choose the language for an account membership, it won't change with this update.
\ No newline at end of file
+- If you've already used the `updateAccountMembership` mutation to choose the language for an account membership, it won't change with this update.
diff --git a/changelog/coming-up.mdx b/changelog/coming-up.mdx
index 5465553fcb2..1bdeb0e1d13 100644
--- a/changelog/coming-up.mdx
+++ b/changelog/coming-up.mdx
@@ -1,4 +1,4 @@
:::tip Coming up
Beneficiary management for credit transfers, accepting online card payments, and more!
Check out [**Swan's public roadmap**](https://swanio.notion.site/Swan-Public-Roadmap-385e4b2e91b3409786a6c8e885654a22) to see what's in the works. :rocket:
-:::
\ No newline at end of file
+:::
diff --git a/docs/_contact.mdx b/docs/_contact.mdx
index 5d6cc0c955f..ca737368e0d 100644
--- a/docs/_contact.mdx
+++ b/docs/_contact.mdx
@@ -1,3 +1,3 @@
-* For sales or services related questions: [Contact form](https://www.swan.io/talk-to-expert)
-* For technical or product related questions: integration@swan.io
-* For daily operations: support@swan.io
\ No newline at end of file
+- For sales or services related questions: [Contact form](https://www.swan.io/talk-to-expert)
+- For technical or product related questions: integration@swan.io
+- For daily operations: support@swan.io
diff --git a/docs/developers/contact.mdx b/docs/developers/contact.mdx
index 1b103f4ba95..17c056aa8d1 100644
--- a/docs/developers/contact.mdx
+++ b/docs/developers/contact.mdx
@@ -1,8 +1,9 @@
---
title: Contact Swan
---
-import PartialExample from '../_contact.mdx';
+
+import PartialExample from "../_contact.mdx";
# Contact Swan
-
\ No newline at end of file
+
diff --git a/docs/developers/graphql.mdx b/docs/developers/graphql.mdx
index 06666e3d098..cfbae951591 100644
--- a/docs/developers/graphql.mdx
+++ b/docs/developers/graphql.mdx
@@ -56,8 +56,9 @@ Consider this [query example from onboarding](../topics/onboarding/overview/guid
You can also explore all of Swan's queries in [API Explorer](https://explorer.swan.io/).
```graphql title="Query" showLineNumbers
-query {
- user(id: "$SWAN_USER_ID") { #query name
+query {
+ #query name
+ user(id: "$SWAN_USER_ID") {
mobilePhoneNumber #field
}
}
@@ -78,16 +79,16 @@ Swan often has two query options per object, such as `user` and `users`.
- `user` requires an `id` and returns data about a single user.
- `users` doesn't require an `id` and returns data about all of your users.
-:::
+ :::
### Mutations {#graphql-mutations}
There are entry points to a GraphQL API to make requests, which both take inputs.
-| Request type | Purpose | `REST` comparison |
-|---|---|---|
-| Mutations | Make a change | `PUT` or `POST` |
-| Queries | Fetch data from the remote API | `GET` |
+| Request type | Purpose | `REST` comparison |
+| ------------ | ------------------------------ | ----------------- |
+| Mutations | Make a change | `PUT` or `POST` |
+| Queries | Fetch data from the remote API | `GET` |
Each request starts with the keyword `query` or `mutation`, then specifies the field or fields you want to get back in the response.
@@ -106,7 +107,8 @@ mutation ChangeLanguage {
updateAccount( #mutation name
input: { accountId: "$YOUR_ACCOUNT_ID", language: en } #input information
) {
- ... on UpdateAccountSuccessPayload { #validation
+ #validation
+ ... on UpdateAccountSuccessPayload {
__typename
account {
language #returns account language in payload
@@ -114,7 +116,6 @@ mutation ChangeLanguage {
}
}
}
-
```
```json title="Payload" {4,6} showLineNumbers
@@ -187,4 +188,4 @@ query {
}
}
}
-```
\ No newline at end of file
+```
diff --git a/docs/developers/index.mdx b/docs/developers/index.mdx
index 8af5fe6f8e6..59c8f0b95be 100644
--- a/docs/developers/index.mdx
+++ b/docs/developers/index.mdx
@@ -38,12 +38,12 @@ In short, **test in Sandbox, build in Live**—and remember, you can't move anyt
### Endpoints {#endpoints}
-| Name | Endpoint |
-| --- | --- |
-| Server OAuth 2.0 | https://oauth.swan.io/oauth2 |
-| Sandbox | https://api.swan.io/sandbox-partner/graphql |
+| Name | Endpoint |
+| --------------------- | ------------------------------------------------- |
+| Server OAuth 2.0 | https://oauth.swan.io/oauth2 |
+| Sandbox | https://api.swan.io/sandbox-partner/graphql |
| Sandbox (Testing API) | https://api.swan.io/sandbox-partner-admin/graphql |
-| Live | https://api.swan.io/live-partner/graphql |
+| Live | https://api.swan.io/live-partner/graphql |
### Rate limiting {#rate-limits}
@@ -53,7 +53,7 @@ The default limit for each IP is **2,000 requests every 5 minutes**.
If you send over 2,000 requests for a single endpoint, you'll receive an HTTP 429 Too Many Requests response.
This limit applies to all endpoints.
-If you need to increase the rate limits for your use case, request it through email: integration@swan.io.
+If you need to increase the rate limits for your use case, request it through email: integration@swan.io.
### Backend communication {#backend}
@@ -78,18 +78,18 @@ curl -X POST https://api.swan.io/sandbox-partner/graphql \
```json title="Response" {4} showLineNumbers
{
- "data": {
- "accounts": {
- "edges": [
- {
- "node": {
- "id": "$YOUR_ID",
- "IBAN": "$YOUR_IBAN"
- }
- }
- ]
+ "data": {
+ "accounts": {
+ "edges": [
+ {
+ "node": {
+ "id": "$YOUR_ID",
+ "IBAN": "$YOUR_IBAN"
+ }
}
+ ]
}
+ }
}
```
@@ -106,4 +106,4 @@ If you experience an issue or a bug working with Swan's API, complete the follow
1. **Check the [status page](https://status.swan.io/)** to see if there's planned maintenance or an outage that could impact services.
1. **Search the documentation** with keywords about your specific problem. It could be an expected behavior or something else explained in the docs.
-1. Otherwise, **submit a ticket** through your Dashboard, or **send an email** to integration@swan.io.
\ No newline at end of file
+1. Otherwise, **submit a ticket** through your Dashboard, or **send an email** to integration@swan.io.
diff --git a/docs/developers/tools/_testing-simulator.mdx b/docs/developers/tools/_testing-simulator.mdx
index 40282bddced..6f86e6149af 100644
--- a/docs/developers/tools/_testing-simulator.mdx
+++ b/docs/developers/tools/_testing-simulator.mdx
@@ -2,4 +2,4 @@
The **Testing API** and the **Event Simulator** are essentially the same tool with two access points.
Though you'll test some actions from the API and others with the simulator, both share the goal of **triggering events that happen outside of Swan**.
-:::
\ No newline at end of file
+:::
diff --git a/docs/developers/tools/api-explorer.mdx b/docs/developers/tools/api-explorer.mdx
index 884cf06e7be..f686a98dbde 100644
--- a/docs/developers/tools/api-explorer.mdx
+++ b/docs/developers/tools/api-explorer.mdx
@@ -20,14 +20,14 @@ The API Explorer can be broken up into **three main blocks**:
## Block 1: Top navigation {#top-nav}
1. Swan exposes two APIs:
- - Use the **Live API** to perform all of your real work with Swan.
- - Use the [**Testing API**](./testing-api.mdx) in partnership with the [**Event Simulator**](./event-simulator.mdx) to simulate events that must include other people, such as consent and authentications.
+ - Use the **Live API** to perform all of your real work with Swan.
+ - Use the [**Testing API**](./testing-api.mdx) in partnership with the [**Event Simulator**](./event-simulator.mdx) to simulate events that must include other people, such as consent and authentications.
**Open the menu to switch** between tokens and projects by clicking around your logo or user type:
2. Switch between [**access tokens**](../using-api/authentication/index.mdx#tokens):
- - **Project** uses a project access token.
- - **Sandbox user** selected in your dashboard uses the user access token associated with the chosen user. Change this user on **Dashboard** > **Developers** > **Sandbox users**.
+ - **Project** uses a project access token.
+ - **Sandbox user** selected in your dashboard uses the user access token associated with the chosen user. Change this user on **Dashboard** > **Developers** > **Sandbox users**.
1. Toggle between projects you have access to. If you think a project is missing from this list, talk to the project's admin.

@@ -37,21 +37,21 @@ The API Explorer can be broken up into **three main blocks**:
1. **Builder**: Add mutations and queries, as well as all fields, objects, responses, and more.
1. **Documentation**: Refer to the [API Reference](https://api-reference.swan.io/) without leaving the Explorer.
1. **History**: Review your exploration history. You can:
- - Edit the names of your mutations and queries for easy reference.
- - Star mutations and queries you use frequently.
- - Delete items from the history if they're not helpful anymore. You can also clear all of your local data by clicking the settings icon (not pictured).
+ - Edit the names of your mutations and queries for easy reference.
+ - Star mutations and queries you use frequently.
+ - Delete items from the history if they're not helpful anymore. You can also clear all of your local data by clicking the settings icon (not pictured).

## Block 3: Body {#body}
1. Edit your query or mutation in the **primary terminal**.
- - All of the fields, objects, rejections, and more that you select in the **builder** will appear in this terminal.
- - You'll need to **input all information in the terminal**, such as IDs, addresses, IBANs, and all other required and optional content.
+ - All of the fields, objects, rejections, and more that you select in the **builder** will appear in this terminal.
+ - You'll need to **input all information in the terminal**, such as IDs, addresses, IBANs, and all other required and optional content.
1. Inside of the primary terminal, you have buttons to:
- - **Run** your query or mutation.
- - **Prettify** (or clean up) the formatting of your content.
- - **Share** the exact query or mutation.
+ - **Run** your query or mutation.
+ - **Prettify** (or clean up) the formatting of your content.
+ - **Share** the exact query or mutation.
1. Payloads and responses are displayed in a non-editable **secondary terminal**.
1. Your **recently-used queries and mutations** appear at the top of the body block of the API Explorer. Click one to autofill the primary terminal.
@@ -63,4 +63,4 @@ To maximize performance and keep the Explorer secure, please work within the fol
- Maximum of 10 nested fields per object
- Maximum of 1000 fields per query
-- Maximum of 3 root fields per Explorer operation (you can call up to 3 mutations or queries at the same time)
\ No newline at end of file
+- Maximum of 3 root fields per Explorer operation (you can call up to 3 mutations or queries at the same time)
diff --git a/docs/developers/tools/event-simulator.mdx b/docs/developers/tools/event-simulator.mdx
index 0cef89fca98..ff0272755bb 100644
--- a/docs/developers/tools/event-simulator.mdx
+++ b/docs/developers/tools/event-simulator.mdx
@@ -16,7 +16,7 @@ Go to **Dashboard** > **Developers** > **Event Simulator** to open the simulator

-import TestingApiEventSimulator from './_testing-simulator.mdx';
+import TestingApiEventSimulator from "./_testing-simulator.mdx";
diff --git a/docs/developers/tools/guide-test-tools.mdx b/docs/developers/tools/guide-test-tools.mdx
index 3d1af598395..1ac93a623e2 100644
--- a/docs/developers/tools/guide-test-tools.mdx
+++ b/docs/developers/tools/guide-test-tools.mdx
@@ -43,7 +43,6 @@ You can now perform operations with this Sandbox user.

-
## Step 3: Testing API → Simulate receiving a transfer {#receive-transfer}
1. Call the `simulateIncomingSepaCreditTransferReception` mutation to [simulate receiving an incoming SEPA Credit Transfer](https://explorer.swan.io?query=bXV0YXRpb24gU2ltdWxhdGVSZWNlaXZpbmdUcmFuc2ZlciB7CiAgc2ltdWxhdGVJbmNvbWluZ1NlcGFDcmVkaXRUcmFuc2ZlclJlY2VwdGlvbigKICAgIGlucHV0OiB7CiAgICAgIGFtb3VudDogeyB2YWx1ZTogIjEwMCIsIGN1cnJlbmN5OiAiRVVSIiB9CiAgICAgIGNyZWRpdG9ySWJhbjogIiRTV0FOX0FDQ09VTlRfSUJBTiIKICAgICAgY3JlZGl0b3JOYW1lOiAiTWFsaWthIE5nb21hIgogICAgICBkZWJ0b3JJYmFuOiAiRlIyNzMwMDAzMDAwNzA2MzE1NzM0MTc0QjkzIgogICAgICBkZWJ0b3JOYW1lOiAiSnVsZXMgRmxldXJ5IgogICAgICBjcmVkaXRvckFkZHJlc3M6IHsKICAgICAgICBhZGRyZXNzTGluZTE6ICIxMjMgYXZlbnVlIGRlIFBhcmlzIgogICAgICAgIGNpdHk6ICJQYXJpcyIKICAgICAgICBwb3N0YWxDb2RlOiAiNzUwMDAiCiAgICAgICAgY291bnRyeTogIkZSQSIKICAgICAgfQogICAgICBkZWJ0b3JBZGRyZXNzOiB7CiAgICAgICAgYWRkcmVzc0xpbmUxOiAiODc2IGF2ZW51ZSBkZSBUb3Vsb3VzZSIKICAgICAgICBjaXR5OiAiUGFyaXMiCiAgICAgICAgY291bnRyeTogIkZSQSIKICAgICAgICBwb3N0YWxDb2RlOiAiNzUwMDAiCiAgICAgIH0KICAgICAgZW5kVG9FbmRJZDogIkV0b0UgUmVmIgogICAgICBsYWJlbDogIkxhYmVsIHRvIGRpc3BsYXkiCiAgICB9CiAgKSB7CiAgICAuLi4gb24gU2ltdWxhdGVJbmNvbWluZ1NlcGFDcmVkaXRUcmFuc2ZlclJlY2VwdGlvblN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIG1lc3NhZ2UKICAgICAgX190eXBlbmFtZQogICAgfQogIH0KfQo%3D&tab=test-api).
@@ -84,7 +83,6 @@ mutation SimulateReceivingTransfer {
}
}
}
-
```
```json title="Payload" {4} showLineNumbers
@@ -108,4 +106,4 @@ mutation SimulateReceivingTransfer {
1. Click **Simulate**.
1. The status changes to `Success` and a new transaction ID appears for the return transaction.
-
\ No newline at end of file
+
diff --git a/docs/developers/tools/index.mdx b/docs/developers/tools/index.mdx
index 22079583983..e48b845e57a 100644
--- a/docs/developers/tools/index.mdx
+++ b/docs/developers/tools/index.mdx
@@ -12,11 +12,11 @@ In addition to your **Dashboard**, several key tools work together in harmony to
- [Testing API](./testing-api.mdx)
- [Event Simulator](./event-simulator.mdx)
- [Sandbox users](./sandbox-users.mdx)
-- [Postman collection](./postman-collection.mdx) *(optional)*
+- [Postman collection](./postman-collection.mdx) _(optional)_
Use these tools to test scenarios manually, test behavior before implementation, simulate operations with the API, and more.
You can also call the Testing API programmatically and perform end-to-end tests without connecting to the Dashboard.
:::tip tutorial
See how all of these tools work together in the [**Work with Swan tools**](./guide-test-tools.mdx) tutorial.
-:::
\ No newline at end of file
+:::
diff --git a/docs/developers/tools/postman-collection.mdx b/docs/developers/tools/postman-collection.mdx
index 287f7bbfa61..423c17b7fed 100644
--- a/docs/developers/tools/postman-collection.mdx
+++ b/docs/developers/tools/postman-collection.mdx
@@ -72,7 +72,6 @@ You can cancel authentication if needed.

-
### 5.2 User access token
Getting a new user access token requires consent from the user associated with the token.
@@ -94,4 +93,4 @@ The user needs to use their phone to consent to your user access token before yo
6. After the user consents, a modal with all information about your user access token appears on the screen. Click **Use Token**.
-
\ No newline at end of file
+
diff --git a/docs/developers/tools/sandbox-users.mdx b/docs/developers/tools/sandbox-users.mdx
index 6cd5f6cfa3c..bda63b1ec78 100644
--- a/docs/developers/tools/sandbox-users.mdx
+++ b/docs/developers/tools/sandbox-users.mdx
@@ -17,7 +17,7 @@ Go to **Dashboard** > **Developers** > **Sandbox users** to open your list of Sa
:::caution Deleting Sandbox users
Note that you can **only delete Sandbox users** if you **haven't used them to simulate any operations**.
-Since you can't delete a user from your Live environment, deleting from the Sandbox environment *after* the Sandbox user has simulated something would be inconsistent.
+Since you can't delete a user from your Live environment, deleting from the Sandbox environment _after_ the Sandbox user has simulated something would be inconsistent.
:::
## Settings {#settings}
@@ -29,19 +29,19 @@ The following settings are required and modifiable for each Sandbox user:
1. Birthdate
1. Nationality
1. Auto consent
- - Automatically consents for that Sandbox user, removing the need to repeatedly get the user's consent.
- - If toggled to on, auto consent can save you considerable time during the development phase, by automatically allowing consent, removing the need to repeatedly get consent.
+ - Automatically consents for that Sandbox user, removing the need to repeatedly get the user's consent.
+ - If toggled to on, auto consent can save you considerable time during the development phase, by automatically allowing consent, removing the need to repeatedly get consent.

## Access to Sandbox users {#access}
-Team members with access to the Sandbox users section* can create an unlimited number of Sandbox users using either the Dashboard or the Testing API
+Team members with access to the Sandbox users section\* can create an unlimited number of Sandbox users using either the Dashboard or the Testing API
User access tokens link team members with all Sandbox users they create.
If team members have access to **Developers** > **Sandbox users**, they can only see and use Sandbox users associated with their own user access token.
-:::caution Dashboard roles*
+:::caution Dashboard roles\*
The team member's Dashboard role determines whether or not they have access to the Sandbox users section.
:::
@@ -52,4 +52,4 @@ Call these mutations with a user access token.
1. [Create a Sandbox user](https://explorer.swan.io?query=bXV0YXRpb24gQ3JlYXRlIHsKICBjcmVhdGVTYW5kYm94VXNlcigKICAgIGlucHV0OiB7CiAgICAgIGZpcnN0TmFtZTogIkRpbGxvbiIKICAgICAgbGFzdE5hbWU6ICJCeXJuZSIKICAgICAgYmlydGhEYXRlOiAiMTk5MC0wOS0yNCIKICAgICAgbmF0aW9uYWxpdHlDQ0EzOiAiSVJMIgogICAgICBhdXRvQ29uc2VudDogdHJ1ZQogICAgfQogICkgewogICAgLi4uIG9uIENyZWF0ZVNhbmRib3hVc2VyU3VjY2Vzc1BheWxvYWQgewogICAgICBfX3R5cGVuYW1lCiAgICAgIHNhbmRib3hVc2VyIHsKICAgICAgICBpZAogICAgICAgIGlkZW50aWZpY2F0aW9uTGV2ZWxzIHsKICAgICAgICAgIFBWSUQKICAgICAgICAgIFFFUwogICAgICAgICAgZXhwZXJ0CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICAuLi4gb24gTmF0aW9uYWxpdHlOb3RGb3VuZFJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgaWRlbnRpZmllcgogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gRm9yYmlkZGVuUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api)
1. [Update a Sandbox user](https://explorer.swan.io?query=bXV0YXRpb24gTXlNdXRhdGlvbiB7CiAgdXBkYXRlU2FuZGJveFVzZXIoCiAgICBpbnB1dDogewogICAgICBpZDogIiRZT1VSX1NBTkRCT1hfVVNFUl9JRCIKICAgICAgZmlyc3ROYW1lOiAiRGlsbG9uIgogICAgICBsYXN0TmFtZTogIkJ5cm5lLU%2FigJlDb25ub3IiCiAgICAgIGJpcnRoRGF0ZTogIjE5OTAtMDktMjQiCiAgICAgIG5hdGlvbmFsaXR5Q0NBMzogIklSTCIKICAgICAgYXV0b0NvbnNlbnQ6IGZhbHNlCiAgICB9CiAgKSB7CiAgICAuLi4gb24gVXBkYXRlU2FuZGJveFVzZXJTdWNjZXNzUGF5bG9hZCB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgc2FuZGJveFVzZXIgewogICAgICAgIGlkCiAgICAgICAgbGFzdE5hbWUKICAgICAgfQogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIE5hdGlvbmFsaXR5Tm90Rm91bmRSZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIGlkZW50aWZpZXIKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIFNhbmRib3hVc2VyTm90Rm91bmRSZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgICAgdXNlcklkCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api)
1. [Endorse a Sandbox user](https://explorer.swan.io?query=bXV0YXRpb24gTXlNdXRhdGlvbiB7CiAgZW5kb3JzZVNhbmRib3hVc2VyKGlucHV0OiB7IGlkOiAiJFlPVVJfU0FOREJPWF9VU0VSX0lEIiB9KSB7CiAgICAuLi4gb24gRW5kb3JzZVNhbmRib3hVc2VyU3VjY2Vzc1BheWxvYWQgewogICAgICBfX3R5cGVuYW1lCiAgICAgIHNhbmRib3hVc2VyIHsKICAgICAgICBpZAogICAgICAgIGlzQWN0aXZlCiAgICAgIH0KICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBTYW5kYm94VXNlck5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICAgIHVzZXJJZAogICAgfQogIH0KfQo%3D&tab=test-api)
-1. [Delete a Sandbox user](https://explorer.swan.io?query=bXV0YXRpb24gTXlNdXRhdGlvbiB7CiAgZGVsZXRlU2FuZGJveFVzZXIoaW5wdXQ6IHsgaWQ6ICIkWU9VUl9TQU5EQk9YX1VTRVJfSUQiIH0pIHsKICAgIC4uLiBvbiBEZWxldGVTYW5kYm94VXNlclN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgX190eXBlbmFtZQogICAgICBzdWNjZXNzCiAgICB9CiAgICAuLi4gb24gRm9yYmlkZGVuUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gTGFzdFNhbmRib3hVc2VyQ2Fubm90QmVEZWxldGVkUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICAgIHVzZXJJZAogICAgfQogICAgLi4uIG9uIFNhbmRib3hVc2VyTm90Rm91bmRSZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgICAgdXNlcklkCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api)
\ No newline at end of file
+1. [Delete a Sandbox user](https://explorer.swan.io?query=bXV0YXRpb24gTXlNdXRhdGlvbiB7CiAgZGVsZXRlU2FuZGJveFVzZXIoaW5wdXQ6IHsgaWQ6ICIkWU9VUl9TQU5EQk9YX1VTRVJfSUQiIH0pIHsKICAgIC4uLiBvbiBEZWxldGVTYW5kYm94VXNlclN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgX190eXBlbmFtZQogICAgICBzdWNjZXNzCiAgICB9CiAgICAuLi4gb24gRm9yYmlkZGVuUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gTGFzdFNhbmRib3hVc2VyQ2Fubm90QmVEZWxldGVkUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICAgIHVzZXJJZAogICAgfQogICAgLi4uIG9uIFNhbmRib3hVc2VyTm90Rm91bmRSZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgICAgdXNlcklkCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api)
diff --git a/docs/developers/tools/testing-api.mdx b/docs/developers/tools/testing-api.mdx
index 0dbcfd4417f..2cb9b63f168 100644
--- a/docs/developers/tools/testing-api.mdx
+++ b/docs/developers/tools/testing-api.mdx
@@ -18,7 +18,7 @@ Go to **API Explorer** > [**Testing API**](https://explorer.swan.io/?tab=test-ap

-import TestingApiEventSimulator from './_testing-simulator.mdx';
+import TestingApiEventSimulator from "./_testing-simulator.mdx";
@@ -28,17 +28,17 @@ The following links lead to examples to personalize and test with the Testing AP
As a reminder, this list isn't exhaustive.
1. **SEPA Credit Transfers**
- 1. [Simulate receiving an incoming SEPA Credit Transfer](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlSW5jb21pbmdTZXBhQ3JlZGl0VHJhbnNmZXJSZWNlcHRpb24oCiAgICBpbnB1dDogewogICAgICBhbW91bnQ6IHsgdmFsdWU6ICIxMDAiLCBjdXJyZW5jeTogIkVVUiIgfQogICAgICBjcmVkaXRvckliYW46ICIkU1dBTl9BQ0NPVU5UX0lCQU4iCiAgICAgIGNyZWRpdG9yTmFtZTogIk1hbGlrYSBOZ29tYSIKICAgICAgZGVidG9ySWJhbjogIkZSMjczMDAwMzAwMDcwNjMxNTczNDE3NEI5MyIKICAgICAgZGVidG9yTmFtZTogIkp1bGVzIEZsZXVyeSIKICAgICAgY3JlZGl0b3JBZGRyZXNzOiB7CiAgICAgICAgYWRkcmVzc0xpbmUxOiAiMTIzIGF2ZW51ZSBkZSBQYXJpcyIKICAgICAgICBjaXR5OiAiUGFyaXMiCiAgICAgICAgcG9zdGFsQ29kZTogIjc1MDAwIgogICAgICAgIGNvdW50cnk6ICJGUkEiCiAgICAgIH0KICAgICAgZGVidG9yQWRkcmVzczogewogICAgICAgIGFkZHJlc3NMaW5lMTogIjg3NiBhdmVudWUgZGUgVG91bG91c2UiCiAgICAgICAgY2l0eTogIlBhcmlzIgogICAgICAgIGNvdW50cnk6ICJGUkEiCiAgICAgICAgcG9zdGFsQ29kZTogIjc1MDAwIgogICAgICB9CiAgICAgIGVuZFRvRW5kSWQ6ICJFdG9FIFJlZiIKICAgICAgbGFiZWw6ICJMYWJlbCB0byBkaXNwbGF5IgogICAgfQogICkgewogICAgLi4uIG9uIFNpbXVsYXRlSW5jb21pbmdTZXBhQ3JlZGl0VHJhbnNmZXJSZWNlcHRpb25TdWNjZXNzUGF5bG9hZCB7CiAgICAgIHRyYW5zYWN0aW9uSWQKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBtZXNzYWdlCiAgICAgIF9fdHlwZW5hbWUKICAgIH0KICB9Cn0K&tab=test-api)
- 1. [Simulate an accepted recall of an Incoming SEPA Credit Transfer](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlSW5jb21pbmdTZXBhQ3JlZGl0VHJhbnNmZXJBY2NlcHRlZFJlY2FsbCgKICAgIGlucHV0OiB7CiAgICAgIHJlYXNvbkNvZGU6IEJlbmVmaWNpYXJ5QWNjb3VudEluY29ycmVjdAogICAgICB0cmFuc2FjdGlvbklkOiAiJFlPVVJfVFJBTlNBQ1RJT05fSUQiCiAgICB9CiAgKSB7CiAgICAuLi4gb24gU2ltdWxhdGVJbmNvbWluZ1NlcGFDcmVkaXRUcmFuc2ZlckFjY2VwdGVkUmVjYWxsU3VjY2Vzc1BheWxvYWQgewogICAgICBfX3R5cGVuYW1lCiAgICAgIHRyYW5zYWN0aW9uSWQKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBUcmFuc2FjdGlvbk5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICAgIHRyYW5zYWN0aW9uSWQKICAgIH0KICB9Cn0K&tab=test-api)
- 1. [Simulate booking an outgoing SEPA Credit Transfer](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlT3V0Z29pbmdTZXBhQ3JlZGl0VHJhbnNmZXJCb29raW5nKAogICAgaW5wdXQ6IHsgdHJhbnNhY3Rpb25JZDogIiRZT1VSX1RSQU5TQUNUSU9OX0lEIiB9CiAgKSB7CiAgICAuLi4gb24gU2ltdWxhdGVPdXRnb2luZ1NlcGFDcmVkaXRUcmFuc2ZlckJvb2tpbmdTdWNjZXNzUGF5bG9hZCB7CiAgICAgIHRyYW5zYWN0aW9uSWQKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gVHJhbnNhY3Rpb25Ob3RGb3VuZFJlamVjdGlvbiB7CiAgICAgIHRyYW5zYWN0aW9uSWQKICAgICAgbWVzc2FnZQogICAgfQogIH0KfQo%3D&tab=test-api)
+ 1. [Simulate receiving an incoming SEPA Credit Transfer](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlSW5jb21pbmdTZXBhQ3JlZGl0VHJhbnNmZXJSZWNlcHRpb24oCiAgICBpbnB1dDogewogICAgICBhbW91bnQ6IHsgdmFsdWU6ICIxMDAiLCBjdXJyZW5jeTogIkVVUiIgfQogICAgICBjcmVkaXRvckliYW46ICIkU1dBTl9BQ0NPVU5UX0lCQU4iCiAgICAgIGNyZWRpdG9yTmFtZTogIk1hbGlrYSBOZ29tYSIKICAgICAgZGVidG9ySWJhbjogIkZSMjczMDAwMzAwMDcwNjMxNTczNDE3NEI5MyIKICAgICAgZGVidG9yTmFtZTogIkp1bGVzIEZsZXVyeSIKICAgICAgY3JlZGl0b3JBZGRyZXNzOiB7CiAgICAgICAgYWRkcmVzc0xpbmUxOiAiMTIzIGF2ZW51ZSBkZSBQYXJpcyIKICAgICAgICBjaXR5OiAiUGFyaXMiCiAgICAgICAgcG9zdGFsQ29kZTogIjc1MDAwIgogICAgICAgIGNvdW50cnk6ICJGUkEiCiAgICAgIH0KICAgICAgZGVidG9yQWRkcmVzczogewogICAgICAgIGFkZHJlc3NMaW5lMTogIjg3NiBhdmVudWUgZGUgVG91bG91c2UiCiAgICAgICAgY2l0eTogIlBhcmlzIgogICAgICAgIGNvdW50cnk6ICJGUkEiCiAgICAgICAgcG9zdGFsQ29kZTogIjc1MDAwIgogICAgICB9CiAgICAgIGVuZFRvRW5kSWQ6ICJFdG9FIFJlZiIKICAgICAgbGFiZWw6ICJMYWJlbCB0byBkaXNwbGF5IgogICAgfQogICkgewogICAgLi4uIG9uIFNpbXVsYXRlSW5jb21pbmdTZXBhQ3JlZGl0VHJhbnNmZXJSZWNlcHRpb25TdWNjZXNzUGF5bG9hZCB7CiAgICAgIHRyYW5zYWN0aW9uSWQKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBtZXNzYWdlCiAgICAgIF9fdHlwZW5hbWUKICAgIH0KICB9Cn0K&tab=test-api)
+ 1. [Simulate an accepted recall of an Incoming SEPA Credit Transfer](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlSW5jb21pbmdTZXBhQ3JlZGl0VHJhbnNmZXJBY2NlcHRlZFJlY2FsbCgKICAgIGlucHV0OiB7CiAgICAgIHJlYXNvbkNvZGU6IEJlbmVmaWNpYXJ5QWNjb3VudEluY29ycmVjdAogICAgICB0cmFuc2FjdGlvbklkOiAiJFlPVVJfVFJBTlNBQ1RJT05fSUQiCiAgICB9CiAgKSB7CiAgICAuLi4gb24gU2ltdWxhdGVJbmNvbWluZ1NlcGFDcmVkaXRUcmFuc2ZlckFjY2VwdGVkUmVjYWxsU3VjY2Vzc1BheWxvYWQgewogICAgICBfX3R5cGVuYW1lCiAgICAgIHRyYW5zYWN0aW9uSWQKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBUcmFuc2FjdGlvbk5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICAgIHRyYW5zYWN0aW9uSWQKICAgIH0KICB9Cn0K&tab=test-api)
+ 1. [Simulate booking an outgoing SEPA Credit Transfer](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlT3V0Z29pbmdTZXBhQ3JlZGl0VHJhbnNmZXJCb29raW5nKAogICAgaW5wdXQ6IHsgdHJhbnNhY3Rpb25JZDogIiRZT1VSX1RSQU5TQUNUSU9OX0lEIiB9CiAgKSB7CiAgICAuLi4gb24gU2ltdWxhdGVPdXRnb2luZ1NlcGFDcmVkaXRUcmFuc2ZlckJvb2tpbmdTdWNjZXNzUGF5bG9hZCB7CiAgICAgIHRyYW5zYWN0aW9uSWQKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gVHJhbnNhY3Rpb25Ob3RGb3VuZFJlamVjdGlvbiB7CiAgICAgIHRyYW5zYWN0aW9uSWQKICAgICAgbWVzc2FnZQogICAgfQogIH0KfQo%3D&tab=test-api)
1. **SEPA Direct Debit**
- 1. [Simulate the reception of an outgoing SEPA Direct Debit](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlT3V0Z29pbmdTZXBhRGlyZWN0RGViaXRSZWNlcHRpb24oCiAgICBpbnB1dDogewogICAgICBhbW91bnQ6IHsgdmFsdWU6ICIxMDAiLCBjdXJyZW5jeTogIkVVUiIgfQogICAgICBjcmVkaXRvcjogewogICAgICAgIGliYW46ICJERTg4NTAwMTA1MTcxNTc5ODMzNzMxIgogICAgICAgIG5hbWU6ICJSYWUgU2NobWlkdCIKICAgICAgICBpZGVudGlmaWVyOiAiREUxMUFCQzEyMzQ1NiIKICAgICAgICBhZGRyZXNzOiB7CiAgICAgICAgICBhZGRyZXNzTGluZTE6ICJBbiBkZXIgS2lyY2hlIDYiCiAgICAgICAgICBjaXR5OiAiQmVybGluIgogICAgICAgICAgY291bnRyeTogIkRFVSIKICAgICAgICAgIHBvc3RhbENvZGU6ICI5NTM1NiIKICAgICAgICB9CiAgICAgIH0KICAgICAgZGVidG9ySWJhbjogIiRTV0FOX0FDQ09VTlRfSUJBTiIKICAgICAgZXhlY3V0aW9uRGF0ZTogIjIwMjQtMDItMTBUMTY6MDA6MDAuMDAwWiIKICAgICAgbWFuZGF0ZVJlZmVyZW5jZTogIjhkYjA1OGNjNThlYTRiZTc5MmZlZjQzNzBhYTg2ZTUwIgogICAgICBtYW5kYXRlU2VxdWVuY2U6IE9uZU9mZgogICAgICBtYW5kYXRlVHlwZTogQjJCCiAgICB9CiAgKSB7CiAgICAuLi4gb24gU2ltdWxhdGVPdXRnb2luZ1NlcGFEaXJlY3REZWJpdFJlY2VwdGlvblN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIG1lc3NhZ2UKICAgIH0KICB9Cn0K&tab=test-api)
- 1. [Simulate reversing an outgoing SEPA Direct Debit](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlT3V0Z29pbmdTZXBhRGlyZWN0RGViaXRSZXZlcnNlKAogICAgaW5wdXQ6IHsKICAgICAgcmVhc29uQ29kZTogTm90U3BlY2lmaWVkQnlCYW5rCiAgICAgIHRyYW5zYWN0aW9uSWQ6ICIkWU9VUl9UUkFOU0FDVElPTl9JRCIKICAgIH0KICApIHsKICAgIC4uLiBvbiBTaW11bGF0ZU91dGdvaW5nU2VwYURpcmVjdERlYml0UmV2ZXJzZVN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBUcmFuc2FjdGlvbk5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api)
- 1. [Simulate releasing reserved balance from a SEPA Direct Debit](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlUmVsZWFzZVJlc2VydmVkQmFsYW5jZSgKICAgIGlucHV0OiB7IHRyYW5zYWN0aW9uSWQ6ICIkWU9VUl9UUkFOU0FDVElPTl9JRCIgfQogICkgewogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIFRyYW5zYWN0aW9uTm90Rm91bmRSZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIFJlbGVhc2VSZXNlcnZlZEJhbGFuY2VTdWNjZXNzUGF5bG9hZCB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogIH0KfQo%3D&tab=test-api)
+ 1. [Simulate the reception of an outgoing SEPA Direct Debit](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlT3V0Z29pbmdTZXBhRGlyZWN0RGViaXRSZWNlcHRpb24oCiAgICBpbnB1dDogewogICAgICBhbW91bnQ6IHsgdmFsdWU6ICIxMDAiLCBjdXJyZW5jeTogIkVVUiIgfQogICAgICBjcmVkaXRvcjogewogICAgICAgIGliYW46ICJERTg4NTAwMTA1MTcxNTc5ODMzNzMxIgogICAgICAgIG5hbWU6ICJSYWUgU2NobWlkdCIKICAgICAgICBpZGVudGlmaWVyOiAiREUxMUFCQzEyMzQ1NiIKICAgICAgICBhZGRyZXNzOiB7CiAgICAgICAgICBhZGRyZXNzTGluZTE6ICJBbiBkZXIgS2lyY2hlIDYiCiAgICAgICAgICBjaXR5OiAiQmVybGluIgogICAgICAgICAgY291bnRyeTogIkRFVSIKICAgICAgICAgIHBvc3RhbENvZGU6ICI5NTM1NiIKICAgICAgICB9CiAgICAgIH0KICAgICAgZGVidG9ySWJhbjogIiRTV0FOX0FDQ09VTlRfSUJBTiIKICAgICAgZXhlY3V0aW9uRGF0ZTogIjIwMjQtMDItMTBUMTY6MDA6MDAuMDAwWiIKICAgICAgbWFuZGF0ZVJlZmVyZW5jZTogIjhkYjA1OGNjNThlYTRiZTc5MmZlZjQzNzBhYTg2ZTUwIgogICAgICBtYW5kYXRlU2VxdWVuY2U6IE9uZU9mZgogICAgICBtYW5kYXRlVHlwZTogQjJCCiAgICB9CiAgKSB7CiAgICAuLi4gb24gU2ltdWxhdGVPdXRnb2luZ1NlcGFEaXJlY3REZWJpdFJlY2VwdGlvblN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIG1lc3NhZ2UKICAgIH0KICB9Cn0K&tab=test-api)
+ 1. [Simulate reversing an outgoing SEPA Direct Debit](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlT3V0Z29pbmdTZXBhRGlyZWN0RGViaXRSZXZlcnNlKAogICAgaW5wdXQ6IHsKICAgICAgcmVhc29uQ29kZTogTm90U3BlY2lmaWVkQnlCYW5rCiAgICAgIHRyYW5zYWN0aW9uSWQ6ICIkWU9VUl9UUkFOU0FDVElPTl9JRCIKICAgIH0KICApIHsKICAgIC4uLiBvbiBTaW11bGF0ZU91dGdvaW5nU2VwYURpcmVjdERlYml0UmV2ZXJzZVN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBUcmFuc2FjdGlvbk5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api)
+ 1. [Simulate releasing reserved balance from a SEPA Direct Debit](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24gewogIHNpbXVsYXRlUmVsZWFzZVJlc2VydmVkQmFsYW5jZSgKICAgIGlucHV0OiB7IHRyYW5zYWN0aW9uSWQ6ICIkWU9VUl9UUkFOU0FDVElPTl9JRCIgfQogICkgewogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIFRyYW5zYWN0aW9uTm90Rm91bmRSZWplY3Rpb24gewogICAgICBfX3R5cGVuYW1lCiAgICAgIG1lc3NhZ2UKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIFJlbGVhc2VSZXNlcnZlZEJhbGFuY2VTdWNjZXNzUGF5bG9hZCB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogIH0KfQo%3D&tab=test-api)
1. **Card payments**
- 1. [Simulate creating an authorization request from a merchant](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24oJGlucHV0OiBTaW11bGF0ZU91dGdvaW5nQ2FyZEF1dGhvcml6YXRpb25JbnB1dCEpIHsKICBzaW11bGF0ZU91dGdvaW5nQ2FyZEF1dGhvcml6YXRpb24oaW5wdXQ6ICRpbnB1dCkgewogICAgLi4uIG9uIFNpbXVsYXRlT3V0Z29pbmdDYXJkQXV0aG9yaXphdGlvblN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIFNpbXVsYXRlT3V0Z29pbmdDYXJkQXV0aG9yaXphdGlvblJlamVjdFBheWxvYWQgewogICAgICB0cmFuc2FjdGlvbklkCiAgICAgIHJlYXNvbgogICAgfQogICAgLi4uIG9uIENhcmROb3RGb3VuZFJlamVjdGlvbiB7CiAgICAgIGlkCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api&variables=ewogICJpbnB1dCI6IHsKICAgICJhbW91bnQiOiB7CiAgICAgICJ2YWx1ZSI6IDEwLAogICAgICAiY3VycmVuY3kiOiAiRVVSIgogICAgfSwKICAgICJhdXRob3JpemF0aW9uVHlwZSI6ICJDbGFzc2ljIiwKICAgICJjYXJkSWQiOiAiJFlPVVJfQ0FSRF9JRCIsCiAgICAiY2FyZFRyYW5zYWN0aW9uQ2F0ZWdvcnkiOiAiSW5TdG9yZSIsCiAgICAiY2FyZFR5cGUiOiAiVmlydHVhbCIsCiAgICAibWVyY2hhbnQiOiB7CiAgICAgICJjaXR5IjogbnVsbCwKICAgICAgImNvZGUiOiBudWxsLAogICAgICAiY291bnRyeSI6IG51bGwsCiAgICAgICJpZCI6IG51bGwsCiAgICAgICJuYW1lIjogbnVsbAogICAgfSwKICAgICJvcmlnaW5hbEFtb3VudCI6IHsKICAgICAgInZhbHVlIjogMTAsCiAgICAgICJjdXJyZW5jeSI6ICJFVVIiCiAgICB9LAogICAgIm91dGNvbWUiOiBudWxsLAogICAgInRlcm1pbmFsSWQiOiBudWxsCiAgfQp9)
- 1. [Simulate reversing a card debit](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24oJGlucHV0OiBTaW11bGF0ZU91dGdvaW5nQ2FyZENyZWRpdFJldmVyc2VJbnB1dCEpIHsKICBzaW11bGF0ZU91dGdvaW5nQ2FyZENyZWRpdFJldmVyc2UoaW5wdXQ6ICRpbnB1dCkgewogICAgLi4uIG9uIFNpbXVsYXRlT3V0Z29pbmdDYXJkQ3JlZGl0UmV2ZXJzZVN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBUcmFuc2FjdGlvbk5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api&variables=ewogICJpbnB1dCI6IHsKICAgICJhbW91bnQiOiB7CiAgICAgICJ2YWx1ZSI6IDEwLAogICAgICAiY3VycmVuY3kiOiAiRVVSIgogICAgfSwKICAgICJvcmlnaW5hbEFtb3VudCI6IHsKICAgICAgInZhbHVlIjogMTAsCiAgICAgICJjdXJyZW5jeSI6ICJFVVIiCiAgICB9LAogICAgInRyYW5zYWN0aW9uSWQiOiAiJFlPVVJfVFJBTlNBQ1RJT05fSUQiCiAgfQp9)
- 1. [Simulate crediting a card](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24oJGlucHV0OiBTaW11bGF0ZU91dGdvaW5nQ2FyZENyZWRpdElucHV0ISkgewogIHNpbXVsYXRlT3V0Z29pbmdDYXJkQ3JlZGl0KGlucHV0OiAkaW5wdXQpIHsKICAgIC4uLiBvbiBTaW11bGF0ZU91dGdvaW5nQ2FyZENyZWRpdFN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIENhcmROb3RGb3VuZFJlamVjdGlvbiB7CiAgICAgIGlkCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api&variables=ewogICJpbnB1dCI6IHsKICAgICJhbW91bnQiOiB7CiAgICAgICJ2YWx1ZSI6IDEwLAogICAgICAiY3VycmVuY3kiOiAiRVVSIgogICAgfSwKICAgICJjYXJkSWQiOiAiJFlPVVJfQ0FSRF9JRCIsCiAgICAiY2FyZFR5cGUiOiBudWxsLAogICAgIm9yaWdpbmFsQW1vdW50IjogewogICAgICAidmFsdWUiOiAxMCwKICAgICAgImN1cnJlbmN5IjogIkVVUiIKICAgIH0KICB9Cn0%3D)
+ 1. [Simulate creating an authorization request from a merchant](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24oJGlucHV0OiBTaW11bGF0ZU91dGdvaW5nQ2FyZEF1dGhvcml6YXRpb25JbnB1dCEpIHsKICBzaW11bGF0ZU91dGdvaW5nQ2FyZEF1dGhvcml6YXRpb24oaW5wdXQ6ICRpbnB1dCkgewogICAgLi4uIG9uIFNpbXVsYXRlT3V0Z29pbmdDYXJkQXV0aG9yaXphdGlvblN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIFNpbXVsYXRlT3V0Z29pbmdDYXJkQXV0aG9yaXphdGlvblJlamVjdFBheWxvYWQgewogICAgICB0cmFuc2FjdGlvbklkCiAgICAgIHJlYXNvbgogICAgfQogICAgLi4uIG9uIENhcmROb3RGb3VuZFJlamVjdGlvbiB7CiAgICAgIGlkCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api&variables=ewogICJpbnB1dCI6IHsKICAgICJhbW91bnQiOiB7CiAgICAgICJ2YWx1ZSI6IDEwLAogICAgICAiY3VycmVuY3kiOiAiRVVSIgogICAgfSwKICAgICJhdXRob3JpemF0aW9uVHlwZSI6ICJDbGFzc2ljIiwKICAgICJjYXJkSWQiOiAiJFlPVVJfQ0FSRF9JRCIsCiAgICAiY2FyZFRyYW5zYWN0aW9uQ2F0ZWdvcnkiOiAiSW5TdG9yZSIsCiAgICAiY2FyZFR5cGUiOiAiVmlydHVhbCIsCiAgICAibWVyY2hhbnQiOiB7CiAgICAgICJjaXR5IjogbnVsbCwKICAgICAgImNvZGUiOiBudWxsLAogICAgICAiY291bnRyeSI6IG51bGwsCiAgICAgICJpZCI6IG51bGwsCiAgICAgICJuYW1lIjogbnVsbAogICAgfSwKICAgICJvcmlnaW5hbEFtb3VudCI6IHsKICAgICAgInZhbHVlIjogMTAsCiAgICAgICJjdXJyZW5jeSI6ICJFVVIiCiAgICB9LAogICAgIm91dGNvbWUiOiBudWxsLAogICAgInRlcm1pbmFsSWQiOiBudWxsCiAgfQp9)
+ 1. [Simulate reversing a card debit](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24oJGlucHV0OiBTaW11bGF0ZU91dGdvaW5nQ2FyZENyZWRpdFJldmVyc2VJbnB1dCEpIHsKICBzaW11bGF0ZU91dGdvaW5nQ2FyZENyZWRpdFJldmVyc2UoaW5wdXQ6ICRpbnB1dCkgewogICAgLi4uIG9uIFNpbXVsYXRlT3V0Z29pbmdDYXJkQ3JlZGl0UmV2ZXJzZVN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBUcmFuc2FjdGlvbk5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api&variables=ewogICJpbnB1dCI6IHsKICAgICJhbW91bnQiOiB7CiAgICAgICJ2YWx1ZSI6IDEwLAogICAgICAiY3VycmVuY3kiOiAiRVVSIgogICAgfSwKICAgICJvcmlnaW5hbEFtb3VudCI6IHsKICAgICAgInZhbHVlIjogMTAsCiAgICAgICJjdXJyZW5jeSI6ICJFVVIiCiAgICB9LAogICAgInRyYW5zYWN0aW9uSWQiOiAiJFlPVVJfVFJBTlNBQ1RJT05fSUQiCiAgfQp9)
+ 1. [Simulate crediting a card](https://explorer.swan.io?query=bXV0YXRpb24gTXV0YXRpb24oJGlucHV0OiBTaW11bGF0ZU91dGdvaW5nQ2FyZENyZWRpdElucHV0ISkgewogIHNpbXVsYXRlT3V0Z29pbmdDYXJkQ3JlZGl0KGlucHV0OiAkaW5wdXQpIHsKICAgIC4uLiBvbiBTaW11bGF0ZU91dGdvaW5nQ2FyZENyZWRpdFN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgdHJhbnNhY3Rpb25JZAogICAgfQogICAgLi4uIG9uIENhcmROb3RGb3VuZFJlamVjdGlvbiB7CiAgICAgIGlkCiAgICAgIG1lc3NhZ2UKICAgIH0KICAgIC4uLiBvbiBGb3JiaWRkZW5SZWplY3Rpb24gewogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api&variables=ewogICJpbnB1dCI6IHsKICAgICJhbW91bnQiOiB7CiAgICAgICJ2YWx1ZSI6IDEwLAogICAgICAiY3VycmVuY3kiOiAiRVVSIgogICAgfSwKICAgICJjYXJkSWQiOiAiJFlPVVJfQ0FSRF9JRCIsCiAgICAiY2FyZFR5cGUiOiBudWxsLAogICAgIm9yaWdpbmFsQW1vdW50IjogewogICAgICAidmFsdWUiOiAxMCwKICAgICAgImN1cnJlbmN5IjogIkVVUiIKICAgIH0KICB9Cn0%3D)
1. **Billing**
- 1. [Simulate generating an invoice](https://explorer.swan.io?query=bXV0YXRpb24gc2ltdWxhdGVJbnZvaWNlR2VuZXJhdGlvbiB7CiAgc2ltdWxhdGVJbnZvaWNlR2VuZXJhdGlvbihpbnB1dDogeyBhY2NvdW50SWQ6ICIkWU9VUl9BQ0NPVU5UX0lEIiB9KSB7CiAgICAuLi4gb24gU2ltdWxhdGVJbnZvaWNlR2VuZXJhdGlvblN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgX190eXBlbmFtZQogICAgICBpbnZvaWNlIHsKICAgICAgICBhY2NvdW50SWQKICAgICAgICBhbW91bnQgewogICAgICAgICAgY3VycmVuY3kKICAgICAgICAgIHZhbHVlCiAgICAgICAgfQogICAgICAgIGNsb3NpbmdEYXRlCiAgICAgICAgZXhwaXJlc0F0CiAgICAgICAgaWQKICAgICAgICBjcmVhdGVkQXQKICAgICAgICBuYW1lCiAgICAgICAgb3BlbmluZ0RhdGUKICAgICAgICBzdGF0dXMKICAgICAgICB0eXBlCiAgICAgICAgdXBkYXRlZEF0CiAgICAgICAgdXJsCiAgICAgIH0KICAgIH0KICAgIC4uLiBvbiBBY2NvdW50Tm90Rm91bmRSZWplY3Rpb24gewogICAgICBpZAogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gQWNjb3VudE5vdEVsaWdpYmxlUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gRm9yYmlkZGVuUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api)
- 1. [Simulate creating a `FeesOut` transaction](https://explorer.swan.io?query=bXV0YXRpb24gc2ltdWxhdGVNYW51YWxCYW5raW5nRmVlIHsKICBzaW11bGF0ZU1hbnVhbEJhbmtpbmdGZWUoCiAgICBpbnB1dDogewogICAgICBhY2NvdW50SWQ6ICI5ZDM4ZjdhZC03YWY1LTRhOGEtYjg5NC05NWE5MDY4ZDg5YzEiCiAgICAgIHR5cGU6IENpcmN1bGF0aW9uTGV0dGVyRHJhZnRpbmdGZWUKICAgICAgZWZmZWN0aXZlRGF0ZTogIjIwMjQtMDQtMTJUMTY6Mjg6MjIuODY3WiIKICAgICAgZHVlQW1vdW50OiB7IHZhbHVlOiAiNTAiLCBjdXJyZW5jeTogIkVVUiIgfQogICAgfQogICkgewogICAgLi4uIG9uIFNpbXVsYXRlTWFudWFsQmFua2luZ0ZlZVN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgaWQKICAgICAgZGViaXRlZEFtb3VudCB7CiAgICAgICAgY3VycmVuY3kKICAgICAgICB2YWx1ZQogICAgICB9CiAgICB9CiAgICAuLi4gb24gQWNjb3VudE5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgbWVzc2FnZQogICAgICBpZAogICAgfQogICAgLi4uIG9uIEFjY291bnROb3RFbGlnaWJsZVJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogIH0KfQo%3D&tab=test-api)
\ No newline at end of file
+ 1. [Simulate generating an invoice](https://explorer.swan.io?query=bXV0YXRpb24gc2ltdWxhdGVJbnZvaWNlR2VuZXJhdGlvbiB7CiAgc2ltdWxhdGVJbnZvaWNlR2VuZXJhdGlvbihpbnB1dDogeyBhY2NvdW50SWQ6ICIkWU9VUl9BQ0NPVU5UX0lEIiB9KSB7CiAgICAuLi4gb24gU2ltdWxhdGVJbnZvaWNlR2VuZXJhdGlvblN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgX190eXBlbmFtZQogICAgICBpbnZvaWNlIHsKICAgICAgICBhY2NvdW50SWQKICAgICAgICBhbW91bnQgewogICAgICAgICAgY3VycmVuY3kKICAgICAgICAgIHZhbHVlCiAgICAgICAgfQogICAgICAgIGNsb3NpbmdEYXRlCiAgICAgICAgZXhwaXJlc0F0CiAgICAgICAgaWQKICAgICAgICBjcmVhdGVkQXQKICAgICAgICBuYW1lCiAgICAgICAgb3BlbmluZ0RhdGUKICAgICAgICBzdGF0dXMKICAgICAgICB0eXBlCiAgICAgICAgdXBkYXRlZEF0CiAgICAgICAgdXJsCiAgICAgIH0KICAgIH0KICAgIC4uLiBvbiBBY2NvdW50Tm90Rm91bmRSZWplY3Rpb24gewogICAgICBpZAogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gQWNjb3VudE5vdEVsaWdpYmxlUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgICAuLi4gb24gRm9yYmlkZGVuUmVqZWN0aW9uIHsKICAgICAgX190eXBlbmFtZQogICAgICBtZXNzYWdlCiAgICB9CiAgfQp9Cg%3D%3D&tab=test-api)
+ 1. [Simulate creating a `FeesOut` transaction](https://explorer.swan.io?query=bXV0YXRpb24gc2ltdWxhdGVNYW51YWxCYW5raW5nRmVlIHsKICBzaW11bGF0ZU1hbnVhbEJhbmtpbmdGZWUoCiAgICBpbnB1dDogewogICAgICBhY2NvdW50SWQ6ICI5ZDM4ZjdhZC03YWY1LTRhOGEtYjg5NC05NWE5MDY4ZDg5YzEiCiAgICAgIHR5cGU6IENpcmN1bGF0aW9uTGV0dGVyRHJhZnRpbmdGZWUKICAgICAgZWZmZWN0aXZlRGF0ZTogIjIwMjQtMDQtMTJUMTY6Mjg6MjIuODY3WiIKICAgICAgZHVlQW1vdW50OiB7IHZhbHVlOiAiNTAiLCBjdXJyZW5jeTogIkVVUiIgfQogICAgfQogICkgewogICAgLi4uIG9uIFNpbXVsYXRlTWFudWFsQmFua2luZ0ZlZVN1Y2Nlc3NQYXlsb2FkIHsKICAgICAgaWQKICAgICAgZGViaXRlZEFtb3VudCB7CiAgICAgICAgY3VycmVuY3kKICAgICAgICB2YWx1ZQogICAgICB9CiAgICB9CiAgICAuLi4gb24gQWNjb3VudE5vdEZvdW5kUmVqZWN0aW9uIHsKICAgICAgbWVzc2FnZQogICAgICBpZAogICAgfQogICAgLi4uIG9uIEFjY291bnROb3RFbGlnaWJsZVJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogICAgLi4uIG9uIEZvcmJpZGRlblJlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgfQogIH0KfQo%3D&tab=test-api)
diff --git a/docs/developers/using-api/authentication/_use-uat-immediately.mdx b/docs/developers/using-api/authentication/_use-uat-immediately.mdx
index 222b57cd1c7..292fb8edebf 100644
--- a/docs/developers/using-api/authentication/_use-uat-immediately.mdx
+++ b/docs/developers/using-api/authentication/_use-uat-immediately.mdx
@@ -6,4 +6,4 @@ Sometimes, a phone number might have been used by a [deactivated user](../../../
Additionally, your user might have replaced the number you provided with a different number, or gone through the process to [update their phone number](https://support.swan.io/hc/en-150/articles/16332148291741-Updating-your-phone-number) with Swan.
It's impossible to detect these changes when getting a user access token, so it's **crucial to verify** that the user associated with the token is the logged-in user.
-:::
\ No newline at end of file
+:::
diff --git a/docs/developers/using-api/authentication/guide-get-token-project.mdx b/docs/developers/using-api/authentication/guide-get-token-project.mdx
index f9882e77b7b..955b0291439 100644
--- a/docs/developers/using-api/authentication/guide-get-token-project.mdx
+++ b/docs/developers/using-api/authentication/guide-get-token-project.mdx
@@ -49,4 +49,4 @@ The example response explains that you're receiving a [bearer token](./index.mdx
:::danger Troubleshooting
If your request returns an error, your **client secret might be invalid**.
Generate a new secret on your Dashboard, then try again.
-:::
\ No newline at end of file
+:::
diff --git a/docs/developers/using-api/authentication/guide-get-token-user.mdx b/docs/developers/using-api/authentication/guide-get-token-user.mdx
index 3339f96ce86..94dddb99226 100644
--- a/docs/developers/using-api/authentication/guide-get-token-user.mdx
+++ b/docs/developers/using-api/authentication/guide-get-token-user.mdx
@@ -1,7 +1,8 @@
---
title: Get a user access token
---
-import UseImmediately from './_use-uat-immediately.mdx';
+
+import UseImmediately from "./_use-uat-immediately.mdx";
# Get a user access token
@@ -59,21 +60,21 @@ https://oauth.swan.io/oauth2/auth?response_type=code&client_id=$YOUR_CLIENT_ID&r
#### Required parameters {#url-parameters-required}
-| Parameter | Description |
-| --- | --- |
-| `response_type=code`
(line 6) | Initiates the authorization code flow. |
-| `client_id`
(line 7) | Public identifier for the Swan app, obtained from your Dashboard in step 1. |
-| `redirect_uri`
(line 8) | Specifies where the authorization server should send the user after approval, added to your Dashboard in step 1. |
-| `scope=openid%20offline`
(line 9) | Defines the requested scopes for the user authorization.
+ When required documents are available, Swan retrieves them independently.
+
+
+ If it's not possible for Swan to retrieve a document, the following list of
+ documents can be requested to open an account for your company registered in{" "}
+ {props.country}.
+
+
+ Documents must have been issued within the last **three months** and be
+ written in the **Latin alphabet**.
+
+
diff --git a/docs/partnership/document-center/company-registration/france.mdx b/docs/partnership/document-center/company-registration/france.mdx
index dc8918de43d..bc68d70f0ca 100644
--- a/docs/partnership/document-center/company-registration/france.mdx
+++ b/docs/partnership/document-center/company-registration/france.mdx
@@ -4,28 +4,29 @@ title: 🇫🇷 France
# Proof of registration for French companies
-import DocumentsIntro from './_registration-intro.mdx';
+import DocumentsIntro from "./_registration-intro.mdx";
- Identity document proving the shareholder's identity (collected during identification)
+ Identity document proving the shareholder's identity (collected during
+ identification)
|
ProofOfIdentity
@@ -178,12 +179,12 @@ flowchart LR
style F fill:#fffdf4,stroke:#cca922
```
-| Document status | Explanation |
-| --- | --- |
-| `Pending` | Place for the document is created, but the document isn't uploaded yet. |
-| `Uploaded` | Document successfully uploaded; you can change and re-upload the document as long it retains the status `Uploaded`
**Next step**: Swan reviews the document and either validates or refuses it. |
-| `Validated` | Swan validated the document. |
-| `Refused` | Document doesn't meet requirements.
**Next step**: Upload a new document, then the status returns to `Uploaded`. |
+| Document status | Explanation |
+| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Pending` | Place for the document is created, but the document isn't uploaded yet. |
+| `Uploaded` | Document successfully uploaded; you can change and re-upload the document as long it retains the status `Uploaded`
**Next step**: Swan reviews the document and either validates or refuses it. |
+| `Validated` | Swan validated the document. |
+| `Refused` | Document doesn't meet requirements.
**Next step**: Upload a new document, then the status returns to `Uploaded`. |
## Shareholders {#shareholders}
@@ -240,14 +241,14 @@ flowchart LR
style F fill:#fffdf4,stroke:#cca922
```
-| Shareholder status | Explanation |
-| --- | --- |
-| `PendingOnboarding` | Default status after the shareholder is created; shareholder must **complete their onboarding** and their **account must be created** to continue. |
-| `WaitingForVerification` | Possible status if the account holder verification isn't complete at the moment the shareholder's account is created.
_Status bypassed if the [account holder status](../onboarding/account-holders/index.mdx#verification-process) is already `Verified`_. |
-| `WaitingForTransfer` | Waiting for the shareholder to deposit the full share capital in their Swan account created during onboarding, which **must** be transferred from an account belonging to the shareholder. |
-| `CapitalTransferred` | Waiting for the rest of the capital deposit case to be ready and the funds to be transferred to the notary. |
-| `CapitalFundsWiredToNotary` | Still waiting for the rest of the capital deposit case to be ready, but now the funds are with the notary. |
-| `CapitalDepositCanceled` | When a [`CapitalDepositCase` is `Canceled`](#case-statuses), the shareholder status changes to `CapitalDepositCanceled`.
If an account was already created for the shareholder, the account is also closed automatically. |
+| Shareholder status | Explanation |
+| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `PendingOnboarding` | Default status after the shareholder is created; shareholder must **complete their onboarding** and their **account must be created** to continue. |
+| `WaitingForVerification` | Possible status if the account holder verification isn't complete at the moment the shareholder's account is created.
_Status bypassed if the [account holder status](../onboarding/account-holders/index.mdx#verification-process) is already `Verified`_. |
+| `WaitingForTransfer` | Waiting for the shareholder to deposit the full share capital in their Swan account created during onboarding, which **must** be transferred from an account belonging to the shareholder. |
+| `CapitalTransferred` | Waiting for the rest of the capital deposit case to be ready and the funds to be transferred to the notary. |
+| `CapitalFundsWiredToNotary` | Still waiting for the rest of the capital deposit case to be ready, but now the funds are with the notary. |
+| `CapitalDepositCanceled` | When a [`CapitalDepositCase` is `Canceled`](#case-statuses), the shareholder status changes to `CapitalDepositCanceled`.
If an account was already created for the shareholder, the account is also closed automatically. |
## Sequence diagram {#diagram}
@@ -269,4 +270,4 @@ participant N as Notary
P -->> S: Uploads proof of registration
S ->> N: Sends proof of registration & bank account details
N -->> S: Transfers funds to Swan company account
-```
\ No newline at end of file
+```
diff --git a/docs/topics/cards/design/guide-custom.mdx b/docs/topics/cards/design/guide-custom.mdx
index b7c6508fc88..484742d5228 100644
--- a/docs/topics/cards/design/guide-custom.mdx
+++ b/docs/topics/cards/design/guide-custom.mdx
@@ -7,7 +7,7 @@ title: Customize your card design
You can design a custom card for your Swan card holders.
Custom designs, like standard ones, are used for virtual, physical, and digital cards.
-import CustomCardDesign from '../partials/_custom-card-timeline.mdx';
+import CustomCardDesign from "../partials/_custom-card-timeline.mdx";
@@ -22,23 +22,24 @@ import CustomCardDesign from '../partials/_custom-card-timeline.mdx';
1. After your design is validated, samples of your card will be printed and delivered for final approval.
1. As soon as you approve the sample, your cards can be printed and delivered to your card holders.
-import CustomCardLockedElements from '../partials/_custom-locked-elements.mdx';
+import CustomCardLockedElements from "../partials/_custom-locked-elements.mdx";
:::caution Locked elements
The following elements **can't be changed**:
+
:::
## Choose your customizations {#customizations}
-| Element | Options |
-| --- | --- |
-| Chip color | - Gold (default)
- Silver (2,000 cards minimum, additional cost)
|
-| Type of plastic *(no metal available)* | - Standard plastic
- Recycled plastic 85% or 100% (adds up to 12 weeks as recycled plastic is shipped by boat to reduce the carbon footprint)
|
-| Finish | - Matte
- Gloss
- Partially matte or gloss (might be referred to as *selective varnish*; additional cost)
- Logo printed with brilliant effect (additional cost)
- Other effects, such as metallic, fluorescent silkscreen, and more, are also available at an additional cost
|
-| Color | You can customize your color for the front, back, and edges.
- **Dyed PVC**
- Front, back, and edges are dyed the same color
- Additional cost
- **Edge color**
- Choose a different color for the edges
- Additional cost
- **Face color only**
- Might be referred to as *quadri-faced color*
- Front and back are dyed the same color, while the edges stay white
- No additional cost
- **Custom magnetic band color**
- Default color is black
- Choose a different color for an additional cost
Several colors are available. Please choose your color from the colors listed in the following section. Note that if the color you choose clashes with the Mastercard logo, the Mastercard logo will be outlined in white. |
-| Text style | While the font must be Maison Neue, the styling of the text is up to you. Styling is applied to the card holder name, card number, identifier, expiry date, CVC, and the debit or business label.
- **Durable graphics** (default, cost included)
- Durable color foil applied to card
- Available in white, black, silver, or gold (other colors available but require validation)
- **Embossed**
- Text is raised off the card
- Additional cost
- **Thermal printing**
- Long-lasting technique that carves the text out of the card
- Additional cost
- **Laser**
- Long-lasting technique that burns the text into the card with a laser
- Additional cost
|
-| Additional line | - Add an additional line to the front of your card (example: add your company name)
- Line appears under the card holder name
- Content must be approved
- Limit: 26 characters
|
+| Element | Options |
+| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Chip color | - Gold (default)
- Silver (2,000 cards minimum, additional cost)
|
+| Type of plastic _(no metal available)_ | - Standard plastic
- Recycled plastic 85% or 100% (adds up to 12 weeks as recycled plastic is shipped by boat to reduce the carbon footprint)
|
+| Finish | - Matte
- Gloss
- Partially matte or gloss (might be referred to as _selective varnish_; additional cost)
- Logo printed with brilliant effect (additional cost)
- Other effects, such as metallic, fluorescent silkscreen, and more, are also available at an additional cost
|
+| Color | You can customize your color for the front, back, and edges.
- **Dyed PVC**
- Front, back, and edges are dyed the same color
- Additional cost
- **Edge color**
- Choose a different color for the edges
- Additional cost
- **Face color only**
- Might be referred to as _quadri-faced color_
- Front and back are dyed the same color, while the edges stay white
- No additional cost
- **Custom magnetic band color**
- Default color is black
- Choose a different color for an additional cost
Several colors are available. Please choose your color from the colors listed in the following section. Note that if the color you choose clashes with the Mastercard logo, the Mastercard logo will be outlined in white. |
+| Text style | While the font must be Maison Neue, the styling of the text is up to you. Styling is applied to the card holder name, card number, identifier, expiry date, CVC, and the debit or business label.
- **Durable graphics** (default, cost included)
- Durable color foil applied to card
- Available in white, black, silver, or gold (other colors available but require validation)
- **Embossed**
- Text is raised off the card
- Additional cost
- **Thermal printing**
- Long-lasting technique that carves the text out of the card
- Additional cost
- **Laser**
- Long-lasting technique that burns the text into the card with a laser
- Additional cost
|
+| Additional line | - Add an additional line to the front of your card (example: add your company name)
- Line appears under the card holder name
- Content must be approved
- Limit: 26 characters
|
### Colors {#customizations-colors}
@@ -89,10 +90,10 @@ style D fill:#4FADE4,stroke:#4FADE4,color:#fff
style E fill:#5199F8,stroke:#5199F8,color:#fff
```
-*Colors marked with an asterisk (\*) can't be used to dye the edges.*
+_Colors marked with an asterisk (\*) can't be used to dye the edges._
## Choose your packaging {#packaging}
-import Packaging from '../partials/_packaging.mdx';
+import Packaging from "../partials/_packaging.mdx";
-
\ No newline at end of file
+
diff --git a/docs/topics/cards/design/guide-standard.mdx b/docs/topics/cards/design/guide-standard.mdx
index a7e91791b56..d87508f191f 100644
--- a/docs/topics/cards/design/guide-standard.mdx
+++ b/docs/topics/cards/design/guide-standard.mdx
@@ -29,7 +29,7 @@ You can [customize your packaging](./index.mdx#packaging) for standard cards..
## Configure your standard card {#configure}
1. Open the card product you'd like to configure.
-Remember to start on **Dashboard** > **Settings** > **Cards**.
+ Remember to start on **Dashboard** > **Settings** > **Cards**.

@@ -38,7 +38,7 @@ Remember to start on **Dashboard** > **Settings** > **Cards**.
4. Upload your logo, resizing if needed. Don't hesitate to refer to the next section for more information about logos.
5. Click **Save**.
-*Note that you can also preview your card in 3D from this page.*
+_Note that you can also preview your card in 3D from this page._
After clicking **Save**, your updates are available immediately in Sandbox.
However, Swan needs to **review changes to Live cards**.
@@ -58,8 +58,8 @@ Please follow these guidelines to when creating your `.svg` file, both so your l
1. The SVG file can be a maximum of **100 kilobytes** (KB).
1. Use **black monochrome**.
- - Swan will change it to white for standard black cards.
- - If you'd prefer other color options, consider [designing a custom card](./guide-custom.mdx).
+ - Swan will change it to white for standard black cards.
+ - If you'd prefer other color options, consider [designing a custom card](./guide-custom.mdx).
1. Don't use any **opacity** settings. Don't apply the fill-opacity attribute.
1. Don't use any **non-vectorial text**, meaning no text tag.
1. Don't use layering, meaning there should be **no overlaid elements**.
@@ -67,8 +67,8 @@ Please follow these guidelines to when creating your `.svg` file, both so your l
Here are some tips to make sure your **logo meets requirements**.
-| Problem | Explanation |
-| --- | --- |
-| Logo appearing too small | If your logo is appearing **smaller than expected**, check that your logo fits perfectly in the SVG viewbox attribute. Any padding between your logo and the viewbox edges will appear on your card. |
+| Problem | Explanation |
+| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Logo appearing too small | If your logo is appearing **smaller than expected**, check that your logo fits perfectly in the SVG viewbox attribute. Any padding between your logo and the viewbox edges will appear on your card. |
| Empty rectangle instead of logo | If you see an **empty rectangle** (black or white) instead of your uploaded logo, there might be an issue with your SVG file. Check that there are no overlaid elements in your file. If there are overlaid elements, remove them and upload the new file. |
-| Logo isn't the correct color | If your logo is showing up as black on a black card, or white on a silver card, there might be an issue with your SVG file. Make sure you're not using CSS to apply your color, which is only compatible with browser renderers. |
\ No newline at end of file
+| Logo isn't the correct color | If your logo is showing up as black on a black card, or white on a silver card, there might be an issue with your SVG file. Make sure you're not using CSS to apply your color, which is only compatible with browser renderers. |
diff --git a/docs/topics/cards/design/index.mdx b/docs/topics/cards/design/index.mdx
index b083b1d6f0a..7df4820a683 100644
--- a/docs/topics/cards/design/index.mdx
+++ b/docs/topics/cards/design/index.mdx
@@ -13,7 +13,7 @@ Your design is:
## Card product {#card-product}
-import CardProductExplanation from '../partials/_card-product.mdx';
+import CardProductExplanation from "../partials/_card-product.mdx";
@@ -41,23 +41,23 @@ Silver cards feature your logo in **black monochrome**.
If the standard black or silver designs won't meet your needs, or you want customize more to your brand's style, Swan also offers [custom card designs](./guide-custom.mdx).
The process includes both your Technical Account Manager (TAM) and your general Account Manager.
-import CustomCardDesign from '../partials/_custom-card-timeline.mdx';
+import CustomCardDesign from "../partials/_custom-card-timeline.mdx";
Note that the following elements **can't be customized**:
-import CustomCardLockedElements from '../partials/_custom-locked-elements.mdx';
+import CustomCardLockedElements from "../partials/_custom-locked-elements.mdx";
## Packaging {#packaging}
-import Packaging from '../partials/_packaging.mdx';
+import Packaging from "../partials/_packaging.mdx";
## Guides {#guides}
- [Configure your standard card](./guide-standard.mdx)
-- [Customize your card design](./guide-custom.mdx)
\ No newline at end of file
+- [Customize your card design](./guide-custom.mdx)
diff --git a/docs/topics/cards/digital/guide-add.mdx b/docs/topics/cards/digital/guide-add.mdx
index c5aeabb409f..d7127b057a8 100644
--- a/docs/topics/cards/digital/guide-add.mdx
+++ b/docs/topics/cards/digital/guide-add.mdx
@@ -6,7 +6,7 @@ title: Add digital cards
Learn how to add digital cards to Wallets.
-import CompleteProvisioningGuide from '../partials/_provisioning-guide.mdx';
+import CompleteProvisioningGuide from "../partials/_provisioning-guide.mdx";
@@ -72,4 +72,4 @@ mutation DigitalApplePay {
}
}
}
-```
\ No newline at end of file
+```
diff --git a/docs/topics/cards/digital/guide-cancel.mdx b/docs/topics/cards/digital/guide-cancel.mdx
index 6a7c4dbfcc4..51a7bc4e331 100644
--- a/docs/topics/cards/digital/guide-cancel.mdx
+++ b/docs/topics/cards/digital/guide-cancel.mdx
@@ -4,4 +4,4 @@ title: Cancel digital cards
# Cancel digital cards
-When you wish to instantly and permanently delete an Apple Pay or Google Pay digital card, you must use the `cancelDigitalCard` mutation.
\ No newline at end of file
+When you wish to instantly and permanently delete an Apple Pay or Google Pay digital card, you must use the `cancelDigitalCard` mutation.
diff --git a/docs/topics/cards/digital/index.mdx b/docs/topics/cards/digital/index.mdx
index c2a35daa7f6..67716b9500d 100644
--- a/docs/topics/cards/digital/index.mdx
+++ b/docs/topics/cards/digital/index.mdx
@@ -4,7 +4,7 @@ title: Digital cards
# Digital cards
-import DigitalCardsDefinition from '../../definitions/_cards-digital.mdx';
+import DigitalCardsDefinition from "../../definitions/_cards-digital.mdx";
>
@@ -22,7 +22,7 @@ You need to certify your digital card integration before your card holders can u
Send an email to integration@swan.io specifying that you'd like to activate in-app provisioning for digital payments.
The team will help you get started.
-import CompleteProvisioningGuide from '../partials/_provisioning-guide.mdx';
+import CompleteProvisioningGuide from "../partials/_provisioning-guide.mdx";
@@ -71,16 +71,16 @@ flowchart LR
style U fill:#dfedf2,stroke:#4d8296, stroke-width:3px
```
-| Digital card status | Explanation |
-|---|---|
-| `ConsentPending` | Request to add a digital card was sent with the `addDigitalCard` mutation and is waiting for the card holder's consent
**Next steps**:- If the card holder consents, the status moves to `Pending`
- If the card holder doesn't consent, the status moves to `Canceled`
- If you use the API to cancel the card, the status moves to `Canceled`
|
-| `Pending` | Card holder added the card to their digital Wallet manually, or they provided consent after you added the card with the API
**Next steps**:- If the card is added to their Wallet successfully, the status moves to `Enabled`
- If the card is declined during provisioning, the status moves to `Declined`
|
-| `Enabled` | Digital card is available for use
**Next steps**:- Cards can retain the status `Enabled` indefinitely
- `Enabled` cards can also be `Suspended` and `Canceled`
|
-| `Suspended` | Digital card is suspended and not available for use
*Cards can be suspended for various reasons, including a request from you or the card holder, or a Swan action in the case of suspicious activity.*
**Next steps**:- Restore the card's previous status with the API
- Cancel the card with the API
|
-| `Canceled` | Card is canceled, no longer available for use, and can't be reactivated |
-| `Declined` | Card was declined during the provisioning process |
+| Digital card status | Explanation |
+| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `ConsentPending` | Request to add a digital card was sent with the `addDigitalCard` mutation and is waiting for the card holder's consent
**Next steps**:- If the card holder consents, the status moves to `Pending`
- If the card holder doesn't consent, the status moves to `Canceled`
- If you use the API to cancel the card, the status moves to `Canceled`
|
+| `Pending` | Card holder added the card to their digital Wallet manually, or they provided consent after you added the card with the API
**Next steps**:- If the card is added to their Wallet successfully, the status moves to `Enabled`
- If the card is declined during provisioning, the status moves to `Declined`
|
+| `Enabled` | Digital card is available for use
**Next steps**:- Cards can retain the status `Enabled` indefinitely
- `Enabled` cards can also be `Suspended` and `Canceled`
|
+| `Suspended` | Digital card is suspended and not available for use
_Cards can be suspended for various reasons, including a request from you or the card holder, or a Swan action in the case of suspicious activity._
**Next steps**:- Restore the card's previous status with the API
- Cancel the card with the API
|
+| `Canceled` | Card is canceled, no longer available for use, and can't be reactivated |
+| `Declined` | Card was declined during the provisioning process |
## Guides {#guides}
- [Add digital cards to Apple Pay and Google Pay](./guide-add.mdx)
-- [Cancel a digital card](./guide-cancel.mdx)
\ No newline at end of file
+- [Cancel a digital card](./guide-cancel.mdx)
diff --git a/docs/topics/cards/digital/sandbox.mdx b/docs/topics/cards/digital/sandbox.mdx
index 3e0231d3b1f..3b5c5821f6e 100644
--- a/docs/topics/cards/digital/sandbox.mdx
+++ b/docs/topics/cards/digital/sandbox.mdx
@@ -6,4 +6,4 @@ title: Sandbox
## Simulate manually provisioning a digital card
-## Simulate finalizing in-app provisioning of a digital card
\ No newline at end of file
+## Simulate finalizing in-app provisioning of a digital card
diff --git a/docs/topics/cards/index.mdx b/docs/topics/cards/index.mdx
index 07fa6fde83f..8fc79387c44 100644
--- a/docs/topics/cards/index.mdx
+++ b/docs/topics/cards/index.mdx
@@ -6,7 +6,7 @@ title: Cards overview
## Overview {#overview}
-import CardsOverview from '../partials/_cards-overview.mdx';
+import CardsOverview from "../partials/_cards-overview.mdx";
@@ -21,19 +21,19 @@ Review the list of all [sensitive operations that require consent](../users/cons
## Card formats {#formats}
-import VirtualCardsDefinition from '../definitions/_cards-virtual.mdx';
+import VirtualCardsDefinition from "../definitions/_cards-virtual.mdx";
-import PhysicalCardsDefinition from '../definitions/_cards-physical.mdx';
+import PhysicalCardsDefinition from "../definitions/_cards-physical.mdx";
-import DigitalCardsDefinition from '../definitions/_cards-digital.mdx';
+import DigitalCardsDefinition from "../definitions/_cards-digital.mdx";
Swan offers three card formats.
-| Card formats | Description |
-| --- | --- |
-| [Virtual](./virtual/index.mdx) | |
+| Card formats | Description |
+| -------------------------------- | --------------------------- |
+| [Virtual](./virtual/index.mdx) | |
| [Physical](./physical/index.mdx) | |
-| [Digital](./digital/index.mdx) | |
+| [Digital](./digital/index.mdx) | |
### Creation order {#formats-order}
@@ -69,7 +69,7 @@ No matter how many members are attached to an account—1, 50, or 500—you can
Every member has access to the same pot of money.
Any payments made with the card are debited from the account the member belongs to.
-Thus, an account membership must be created *before* adding a card for an account member.
+Thus, an account membership must be created _before_ adding a card for an account member.
Account members can also add cards for themselves or other account members, determined by their [membership permissions](../accounts/memberships/index.mdx#permissions-cards).
@@ -80,8 +80,8 @@ Account members can also add cards for themselves or other account members, dete
1. MyBrand is a verified account holder with a company account.
1. As an account holder, MyBrand has one account with money in it.
1. Attached to the account are three account members: Rae, Mika, and Sasha.
- 1. Each member is identified by their email address.
- 1. They all have different permissions.
+ 1. Each member is identified by their email address.
+ 1. They all have different permissions.
1. Only two members, Rae and Mika, have cards associated with their account membership. Any money spent with these cards is taken from the MyBrand company account.
### One membership, one card {#cards-account-memberships-example-one}
@@ -105,7 +105,7 @@ This allows the users to choose their card language.
## Card product {#card-product}
-import CardProductExplanation from './partials/_card-product.mdx';
+import CardProductExplanation from "./partials/_card-product.mdx";
@@ -120,17 +120,17 @@ You must have one dedicated card product per hub, though the designs can be iden
Use **settings to manage your card product** and all virtual, physical, and digital cards associated with it.
-| Setting | Explanation | Update with |
-| --- | --- | :---: |
-| Name | You can name the card product for easy reference from your Dashboard. | Dashboard |
-| Allow physical cards | Decide whether physical cards are allowed to be issued for this card product. | Dashboard |
-| Suspend | Suspend this card product. Your users won't be able to add new cards with this card product. You'll need to contact Swan Support to reactivate the card product. | Dashboard |
-| `cardContractExpiryDate` | Date you'd like the card to expire.
Leave it empty if you don't want to set an expiration date, in which case, cards are renewed automatically every three years. | API |
-| `international` | Allow or disable payments outside of the account holder's country. | API |
-| `withdrawal` | Allow or disable cash withdrawals, such as at ATMs. | API |
-| `nonMainCurrencyTransactions` | Allow or disable transactions outside of the card's currency. | API |
-| `eCommerce` | Allow or disable transactions on eCommerce sites or for online transactions. | API |
-| `spendingLimit` | Fixed by the account holder or qualifying account member, within the limits set by Swan. | API |
+| Setting | Explanation | Update with |
+| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------: |
+| Name | You can name the card product for easy reference from your Dashboard. | Dashboard |
+| Allow physical cards | Decide whether physical cards are allowed to be issued for this card product. | Dashboard |
+| Suspend | Suspend this card product. Your users won't be able to add new cards with this card product. You'll need to contact Swan Support to reactivate the card product. | Dashboard |
+| `cardContractExpiryDate` | Date you'd like the card to expire.
Leave it empty if you don't want to set an expiration date, in which case, cards are renewed automatically every three years. | API |
+| `international` | Allow or disable payments outside of the account holder's country. | API |
+| `withdrawal` | Allow or disable cash withdrawals, such as at ATMs. | API |
+| `nonMainCurrencyTransactions` | Allow or disable transactions outside of the card's currency. | API |
+| `eCommerce` | Allow or disable transactions on eCommerce sites or for online transactions. | API |
+| `spendingLimit` | Fixed by the account holder or qualifying account member, within the limits set by Swan. | API |
### International {#international}
@@ -154,8 +154,8 @@ Spending limits are imposed for several reasons.
1. Companies impose spending limits to reduce fraud risk.
1. Individual card holders and companies might impose spending limits over a rolling period to protect their funds when issuing cards to other people.
- - A company might impose a 100€ spending limits over 7 days rolling for travel expenses.
- - A parent might give a card to their child, imposing a 50€ spending limit to protect their own money.
+ - A company might impose a 100€ spending limits over 7 days rolling for travel expenses.
+ - A parent might give a card to their child, imposing a 50€ spending limit to protect their own money.
1. Financial institutions (like Swan) impose spending limits to protect themselves from liability.
:::info Rolling spending limit
@@ -170,24 +170,24 @@ All spending limits are for a period of **30 days rolling**.
Note that **partners** (you) can define spending limits for all card types, while **account holders** can lower spending limits when creating cards.
-| Transaction type | Impacts | Amount |
-| --- | --- | --- |
-| Card payment | Company **card holder** | 10,000€ per card |
-| Card payment | Individual **card holder** | 5,000€ per card |
-| ATM withdrawal | Company **account** holder | 3,000€ total |
-| ATM withdrawal | Individual **account** holder | 1,500€ total |
+| Transaction type | Impacts | Amount |
+| ---------------- | ----------------------------- | ---------------- |
+| Card payment | Company **card holder** | 10,000€ per card |
+| Card payment | Individual **card holder** | 5,000€ per card |
+| ATM withdrawal | Company **account** holder | 3,000€ total |
+| ATM withdrawal | Individual **account** holder | 1,500€ total |
Consider the following examples:
- Company card holder card transaction:
- - One of your **company card holders** has five company cards.
- - They can spend a maximum of 50,000€ between the 5 cards during a 30-day period.
- - Expenses for a single card can't exceed 10,000€.
+ - One of your **company card holders** has five company cards.
+ - They can spend a maximum of 50,000€ between the 5 cards during a 30-day period.
+ - Expenses for a single card can't exceed 10,000€.
- Individual account holder ATM withdrawal:
- - An **individual account holder** has two individual cards.
- - They can withdrawal a maximum of 1,500€ total between the 2 cards during a 30-day period.
- - They **can't withdrawal** a total of 3,000€—the maximum is per account holder.
- - The 1,500€ also counts toward their **card** transaction maximum of 5,000€ per card.
+ - An **individual account holder** has two individual cards.
+ - They can withdrawal a maximum of 1,500€ total between the 2 cards during a 30-day period.
+ - They **can't withdrawal** a total of 3,000€—the maximum is per account holder.
+ - The 1,500€ also counts toward their **card** transaction maximum of 5,000€ per card.
:::caution Changing spending limits
If you feel your use case requires an increased spending limit, create a ticket from your Swan Dashboard.
@@ -222,4 +222,4 @@ Refer to the corresponding sections for [virtual](./virtual/index.mdx#statuses),
## Guides {#guides}
- [Issue cards](./overview/guide-issue.mdx)
-- [Update card settings](./overview/guide-update.mdx)
\ No newline at end of file
+- [Update card settings](./overview/guide-update.mdx)
diff --git a/docs/topics/cards/overview/guide-issue.mdx b/docs/topics/cards/overview/guide-issue.mdx
index eb529a58906..565e7c472ea 100644
--- a/docs/topics/cards/overview/guide-issue.mdx
+++ b/docs/topics/cards/overview/guide-issue.mdx
@@ -1,5 +1,5 @@
---
-title: Issue cards
+title: Issue cards
---
# Issue cards
@@ -63,4 +63,4 @@ You might want to add the virtual card to a digital Wallet or print a physical c
You can update the settings for a [card product](../index.mdx#card-product) at any time.
Settings apply to all card types: virtual, physical, and digital.
-→ [Update card settings](../overview/guide-update.mdx)
\ No newline at end of file
+→ [Update card settings](../overview/guide-update.mdx)
diff --git a/docs/topics/cards/overview/guide-update.mdx b/docs/topics/cards/overview/guide-update.mdx
index 0ebfdaade3d..936612d1edf 100644
--- a/docs/topics/cards/overview/guide-update.mdx
+++ b/docs/topics/cards/overview/guide-update.mdx
@@ -16,14 +16,14 @@ Card product settings are **valid for all payments** linked to the card, includi
1. Update all card settings by calling the `updateCard` mutation.
1. When updating card settings, make sure you are authenticated with a user access token associated with the correct account member.
- - Additionally, the account member must have the [membership permission](../../accounts/memberships/index.mdx#permissions) `canManageCards`.
- - The permission `canManageAccountMembership` is optional.
+ - Additionally, the account member must have the [membership permission](../../accounts/memberships/index.mdx#permissions) `canManageCards`.
+ - The permission `canManageAccountMembership` is optional.
1. The request from this mutation returns a newly created consent resource containing the `consentUrl`.
1. The URL allows you to redirect the user making the modification to Swan's [Strong Customer Authentication](../../users/consent/index.mdx#sca).
After the consent process is completed, the card is updated and its attribute version is increased by one.
-import SuspicionOfFraud from '../../partials/_card-fraud-suspicion.mdx';
+import SuspicionOfFraud from "../../partials/_card-fraud-suspicion.mdx";
@@ -83,10 +83,10 @@ You can also review and click-to-copy important information about the card produ
2. Open **Options**. (Note the first tab, **Current**, where you can [update design settings](../design/guide-standard.mdx#configure).)
1. Update the following options as needed. Changes are saved automatically.
- 1. Card name.
- 1. Whether you allow physical cards for this card product.
+ 1. Card name.
+ 1. Whether you allow physical cards for this card product.
1. Click-to-copy the **card product ID** when you need it.
1. Review the **spending limits** for individuals and companies.
1. Click **Suspend card product** if you need to block this card product. Suspended card products can be reactivated by contacting Swan Support.
-
\ No newline at end of file
+
diff --git a/docs/topics/cards/partials/_after-consent.mdx b/docs/topics/cards/partials/_after-consent.mdx
index a9e598e958e..a182ffc6ce0 100644
--- a/docs/topics/cards/partials/_after-consent.mdx
+++ b/docs/topics/cards/partials/_after-consent.mdx
@@ -2,4 +2,4 @@ After the consent is accepted, the card's sensitive information is **displayed f
The link to view the information is also valid for five minutes; the user can close and reopen the link anytime within those five minutes.
The user can click to copy any of the sensitive information to their clipboard.
-After they're done with the card info, they can click okay to be redirected to the `redirectUrl` set up during the `viewCardNumbers` mutation.
\ No newline at end of file
+After they're done with the card info, they can click okay to be redirected to the `redirectUrl` set up during the `viewCardNumbers` mutation.
diff --git a/docs/topics/cards/partials/_card-numbers.mdx b/docs/topics/cards/partials/_card-numbers.mdx
index 28de90df2df..15eb88bbdca 100644
--- a/docs/topics/cards/partials/_card-numbers.mdx
+++ b/docs/topics/cards/partials/_card-numbers.mdx
@@ -1,6 +1,12 @@
-Why do virtual and physical cards have different card numbers and CVCs?
-The two card types function as independent entities.
-Each has its own transaction history, can be added to the same digital wallet, and more.
-This also means that if a card holder loses their physical card, they can suspend or cancel the physical card without losing access to their virtual card.
-
\ No newline at end of file
+
+ Why do virtual and physical cards have different card numbers
+ and CVCs? The two card types function as independent entities. Each has its
+ own transaction history, can be added to the same digital wallet, and more.
+
+
+ This also means that if a card holder loses their physical card, they can
+ suspend or cancel the physical card without losing access to their
+ virtual card.
+
+
diff --git a/docs/topics/cards/partials/_card-product.mdx b/docs/topics/cards/partials/_card-product.mdx
index ab2e165ac8b..801f27ec35f 100644
--- a/docs/topics/cards/partials/_card-product.mdx
+++ b/docs/topics/cards/partials/_card-product.mdx
@@ -2,12 +2,23 @@
A card product is a collection of design information and configuration settings for the cards you ultimately offer your users.
You can have several card products within the same project, each with a unique cardProduct.id .
-Each card product can have a different card design and different settings.
-Alternatively, card products might have common designs and settings, depending on your needs.
-For example, you might choose to offer a single design, but have several card products with different settings based on the intended users.
+
+ Each card product can have a different card design and{" "}
+ different settings. Alternatively, card products might have{" "}
+ common designs and settings, depending on your needs. For example, you
+ might choose to offer a single design, but have several card products with
+ different settings based on the intended users.
+
-The very first card product created is your default card product. You won't need to include the id for this card product when issuing cards. If you disable the default card product, however, you must include the CardProductId anytime you call a mutation to add cards (addCard , addCards , addCardsWithGroupDelivery , and printPhysicalCard ).
+
+ The very first card product created is your default card product. You won't
+ need to include the id for this card product when issuing cards.
+ If you disable the default card product, however, you must include the{" "}
+ CardProductId anytime you call a mutation to add cards (
+ addCard , addCards ,{" "}
+ addCardsWithGroupDelivery , and printPhysicalCard ).
+
All new card products undergo a review before you can add cards with that design.
You can also suspend a card product if you don't want it to be available to your users anymore.
-
\ No newline at end of file
+
diff --git a/docs/topics/cards/partials/_custom-card-timeline.mdx b/docs/topics/cards/partials/_custom-card-timeline.mdx
index 3318a15926c..ea6a08d12e9 100644
--- a/docs/topics/cards/partials/_custom-card-timeline.mdx
+++ b/docs/topics/cards/partials/_custom-card-timeline.mdx
@@ -1 +1 @@
-The custom design process, including design, validation, and delivery, can take up to **16 weeks**.
\ No newline at end of file
+The custom design process, including design, validation, and delivery, can take up to **16 weeks**.
diff --git a/docs/topics/cards/partials/_custom-locked-elements.mdx b/docs/topics/cards/partials/_custom-locked-elements.mdx
index 5bc78bfa946..5a7e17e5d1d 100644
--- a/docs/topics/cards/partials/_custom-locked-elements.mdx
+++ b/docs/topics/cards/partials/_custom-locked-elements.mdx
@@ -3,4 +3,4 @@
- Card number, identifier, expiry date, and CVC
- Label indicating debit or business
- Statement "This card is issued by Swan, pursuant to license by Mastercard international."
-- Font *(Maison Neue)*
\ No newline at end of file
+- Font _(Maison Neue)_
diff --git a/docs/topics/cards/partials/_packaging.mdx b/docs/topics/cards/partials/_packaging.mdx
index 783cba953c3..edf43450f7f 100644
--- a/docs/topics/cards/partials/_packaging.mdx
+++ b/docs/topics/cards/partials/_packaging.mdx
@@ -1,11 +1,11 @@
Physical cards are delivered in a standard letter format.
Upgraded packaging options are also available for both standard and custom cards.
-| Type | Options |
-| --- | --- |
-| Standard packaging | Standard envelope with card attached to an inserted letter, *pictured* |
-| Customized letter text | Customize the written content of the letter; add additional languages (additional cost) |
-| Colorful paper insert | Paper used for the letter can be a color other that the standard white (additional cost) |
-| Customized packaging | Use a box or flyer; can add additional time (additional cost) |
+| Type | Options |
+| ---------------------- | ---------------------------------------------------------------------------------------- |
+| Standard packaging | Standard envelope with card attached to an inserted letter, _pictured_ |
+| Customized letter text | Customize the written content of the letter; add additional languages (additional cost) |
+| Colorful paper insert | Paper used for the letter can be a color other that the standard white (additional cost) |
+| Customized packaging | Use a box or flyer; can add additional time (additional cost) |
-
\ No newline at end of file
+
diff --git a/docs/topics/cards/partials/_provisioning-guide.mdx b/docs/topics/cards/partials/_provisioning-guide.mdx
index a8d3c8cc946..9333830f438 100644
--- a/docs/topics/cards/partials/_provisioning-guide.mdx
+++ b/docs/topics/cards/partials/_provisioning-guide.mdx
@@ -1,4 +1,4 @@
:::info Provisioning guide
A complete provisioning guide can't be published on this site due to privacy policies from Google and Apple.
Swan will provide one after you've certified your digital card integration.
-:::
\ No newline at end of file
+:::
diff --git a/docs/topics/cards/physical/guide-activate.mdx b/docs/topics/cards/physical/guide-activate.mdx
index d9aad4ff041..e699776fdb4 100644
--- a/docs/topics/cards/physical/guide-activate.mdx
+++ b/docs/topics/cards/physical/guide-activate.mdx
@@ -10,4 +10,4 @@ Activate physical cards by either:
1. Calling the `activatePhysicalCard` mutation which returns a consent. You'll need the identifier on the back of the physical card to call this mutation.
When you use the API, make sure you are authenticated with a user access token belonging to the card holder.
-Then a `consentUrl` is returned which invites the user to start Strong Customer Authentication with Swan.
\ No newline at end of file
+Then a `consentUrl` is returned which invites the user to start Strong Customer Authentication with Swan.
diff --git a/docs/topics/cards/physical/guide-cancel.mdx b/docs/topics/cards/physical/guide-cancel.mdx
index be0b68a69dd..ec63287d6bc 100644
--- a/docs/topics/cards/physical/guide-cancel.mdx
+++ b/docs/topics/cards/physical/guide-cancel.mdx
@@ -16,4 +16,4 @@ If the physical card was lost or stolen, ask the card holder the following quest
1. If so, was the card holder's mobile device lost or stolen?
**If both answers are yes, make sure to cancel their digital cards as well.**
-:::
\ No newline at end of file
+:::
diff --git a/docs/topics/cards/physical/guide-print.mdx b/docs/topics/cards/physical/guide-print.mdx
index 0c82adffc86..7a44e552b4f 100644
--- a/docs/topics/cards/physical/guide-print.mdx
+++ b/docs/topics/cards/physical/guide-print.mdx
@@ -61,7 +61,6 @@ mutation PrintCard {
}
}
}
-
```
### Payload
@@ -95,11 +94,11 @@ Call the `addCards` mutation.
Add `physicalCardCustomOptions` > `additionalPrintedLine` to the object that corresponds to your chosen mutation.
-| Mutation | Object |
-|---|---|
-| `addCards` | Add `physicalCardCustomOptions` > `additionalPrintedLine` to the `physicalCard` object |
-| `addCardsWithGroupDelivery` | Add `physicalCardCustomOptions` > `additionalPrintedLine` to the `cards` object |
-| `printPhysicalCard` | Add `physicalCardCustomOptions` > `additionalPrintedLine` to the `input` |
+| Mutation | Object |
+| --------------------------- | -------------------------------------------------------------------------------------- |
+| `addCards` | Add `physicalCardCustomOptions` > `additionalPrintedLine` to the `physicalCard` object |
+| `addCardsWithGroupDelivery` | Add `physicalCardCustomOptions` > `additionalPrintedLine` to the `cards` object |
+| `printPhysicalCard` | Add `physicalCardCustomOptions` > `additionalPrintedLine` to the `input` |
## Print multiple physical cards with group delivery {#print-group}
@@ -107,4 +106,4 @@ To ship a group of cards together to the same address, call the `addCardsWithGro
It works just like `addCards` (explained in the [guide to add virtual cards](../virtual/guide-add.mdx#add-multiple)), except all the cards are sent together in one package.
This method is cost-effective and eco-friendly.
-You can send up to 250 cards in a group delivery.
\ No newline at end of file
+You can send up to 250 cards in a group delivery.
diff --git a/docs/topics/cards/physical/guide-view-info.mdx b/docs/topics/cards/physical/guide-view-info.mdx
index 06bd0c6ca6b..e5d8022f75f 100644
--- a/docs/topics/cards/physical/guide-view-info.mdx
+++ b/docs/topics/cards/physical/guide-view-info.mdx
@@ -20,7 +20,7 @@ View the physical card numbers, which is different from the virtual card numbers
When you do this, make sure you are authenticated with a user access token using the name of the card's account member.
Then a `consentUrl` is returned, inviting the user to start the Strong Customer Authentication with Swan.
-import AfterConsent from '../partials/_after-consent.mdx';
+import AfterConsent from "../partials/_after-consent.mdx";
@@ -51,10 +51,7 @@ It will be true when the PIN is available.
```graphql {4-5} showLineNumbers
mutation viewPin {
viewPhysicalCardPin(
- input: {
- cardId: "$YOUR_CARD_ID"
- consentRedirectUrl: "$YOUR_REDIRECT_URL"
- }
+ input: { cardId: "$YOUR_CARD_ID", consentRedirectUrl: "$YOUR_REDIRECT_URL" }
) {
... on ViewPhysicalCardPinSuccessPayload {
__typename
@@ -69,7 +66,6 @@ mutation viewPin {
}
}
}
-
```
### Payload
@@ -87,4 +83,4 @@ Open the `consentUrl` returned by the mutation to provide consent, then view the
}
}
}
-```
\ No newline at end of file
+```
diff --git a/docs/topics/cards/physical/index.mdx b/docs/topics/cards/physical/index.mdx
index f1c11fe8d3d..a14393f5085 100644
--- a/docs/topics/cards/physical/index.mdx
+++ b/docs/topics/cards/physical/index.mdx
@@ -4,7 +4,7 @@ title: Physical cards
# Physical cards
-import PhysicalCardsDefinition from '../../definitions/_cards-physical.mdx';
+import PhysicalCardsDefinition from "../../definitions/_cards-physical.mdx";
>
@@ -27,9 +27,10 @@ If your card holder's name is longer than 20 characters, the initial of their fi
If the first initial + last name combination still exceeds 20 characters, their first name plus last initial is used instead.
:::note Abbreviation example
+
- The name `Emilia Prommenschenkel` would be abbreviated to `E. Prommenschenkel`.
- The name `Mikah Ottovordemgentschenfelde` would be abbreviated to `Mikah O.`.
-:::
+ :::
### Card number {#number}
@@ -39,9 +40,10 @@ Swan makes the physical card's number, CVC, expiry date, and the PIN available i
The **card number**, **CVC**, and **PIN** are considered sensitive data and must be **masked by default**.
The card holder must complete a **consent request** before the numbers can be unmasked.
-import VirtualPhysicalCardNumbers from '../partials/_card-numbers.mdx';
+import VirtualPhysicalCardNumbers from "../partials/_card-numbers.mdx";
:::info Virtual and physical card numbers
+
:::
@@ -100,16 +102,16 @@ The hub has several intended destinations:
- France
- Northern Europe
- French overseas departments and territories (DROM-COM):
- - French Southern Territories (ATF), Saint Barthélemy (BLM), Faroe Islands (FRO), Guadeloupe (GLP), French Guiana (GUF), Saint Martin (Dutch part) (MAF), Martinique (MTQ), Mayotte (MYT), New Caledonia (NCL), French Polynesia (PYF), Réunion (REU), Saint Pierre and Miquelon (SPM), and Wallis and Futuna (WLF)
+ - French Southern Territories (ATF), Saint Barthélemy (BLM), Faroe Islands (FRO), Guadeloupe (GLP), French Guiana (GUF), Saint Martin (Dutch part) (MAF), Martinique (MTQ), Mayotte (MYT), New Caledonia (NCL), French Polynesia (PYF), Réunion (REU), Saint Pierre and Miquelon (SPM), and Wallis and Futuna (WLF)
You have the option of **group** or **non-group delivery**.
-| Delivery type | Destination | Shipping provider |
-| --- | --- | --- |
-| Group delivery | All locations | DHL |
-| Tracked non-group delivery | France and DROM-COM | La Poste |
-| Tracked non-group delivery | Northern Europe and unlisted locations | DHL |
-| Untracked non-group delivery | Northern Europe and unlisted locations | La Poste |
+| Delivery type | Destination | Shipping provider |
+| ---------------------------- | -------------------------------------- | ----------------- |
+| Group delivery | All locations | DHL |
+| Tracked non-group delivery | France and DROM-COM | La Poste |
+| Tracked non-group delivery | Northern Europe and unlisted locations | DHL |
+| Untracked non-group delivery | Northern Europe and unlisted locations | La Poste |
### 🇪🇸 Spain hub {#hubs-spain}
@@ -121,12 +123,12 @@ The hub has two intended destinations:
You have the option of **group** or **non-group delivery**.
-| Delivery type | Destination | Shipping provider |
-| --- | --- | --- |
-| Group delivery | Spain and Portugal | Nacex ∗ |
-| Tracked non-group delivery | Spain and Portugal | Correos |
+| Delivery type | Destination | Shipping provider |
+| -------------------------- | ------------------ | ----------------- |
+| Group delivery | Spain and Portugal | Nacex ∗ |
+| Tracked non-group delivery | Spain and Portugal | Correos |
-∗ *If you choose the Spain hub but ship using group delivery outside of Spain or Portugal, the shipping provider is DHL.*
+∗ _If you choose the Spain hub but ship using group delivery outside of Spain or Portugal, the shipping provider is DHL._
## Physical card statuses {#statuses}
@@ -168,18 +170,18 @@ The statuses `ToRenew` and `Renewed` don't appear in the status diagram intentio
Please refer to the [section on renewing cards](#renew) for more details about these statuses.
:::
-| Physical card status | Explanation |
-|---|---|
-| `Initiated` | Printing a physical was launched with either the `printPhysicalCard` or `addCards` *with physical card* mutation. |
-| `ConsentPending` | Request to print a physical card was received and is waiting for the card holder's consent.
**Next steps**:- If you used the `addCards` mutation and the card holder consents, the status moves to `Processing`.
- If you used the `printPhysicalCard` mutation and the card holder consents, the status moves to `Activated`.
- If you cancel the card with the API *before* consent, the status moves to `Canceling`.
- If consent is refused or consent fails, the status moves directly to `Canceled`.
|
-| `Processing` | The card is in the process of being created with Swan's card issuing provider.
**Next steps**:- After the card is created successfully in the card issuing provider's system, the status moves to `ToActivate`.
- If you cancel the card with the API *before* the card issuing provider creates the card, the status moves to `Canceling`.
|
-| `ToActivate` | The card is being printed by Swan's card issuing provider, then delivered to the card holder.
After the card holder receives the physical card, they need to activate it by performing a first transaction and entering the PIN. You can also activate the card with the `activatePhysicalCard` mutation.
**Next steps**:- If the card holder performs the transaction successfully, or you activate the card with the API, the status moves to `ToActivate`.
- If the card holder makes **three incorrect attempts** to enter their PIN, the status moves to `Suspended`.
|
-| `Activated` | Physical card is available for use.
**Next steps**:- Cards can retain the status `Activated` until the renewal period.
- `Activated` cards can also be `Suspended` and `Canceled` (example: if three incorrect attempts are made to enter the PIN, the card is automatically `Suspended`).
|
-| `Suspended`
Also referred to as *Blocked* | Physical card is suspended and not available for use. Card holders can still view card information and use digital cards (not virtual cards) when a physical card is `Suspended`.
*Cards can be suspended for various reasons, including a request from you or the card holder, or a Swan action in the case of suspicious activity.*
**Next steps**:- Restore the card's previous status with the API.
- Cancel the card with the API.
|
-| `Canceling` | Card is in the process of being canceled.
**Next steps**: Card is `Canceled`. After a card is assigned the `Canceling` status, the process can't be reversed. |
-| `Canceled` | Card is canceled, no longer available for use, and can't be reactivated. |
-| `ToRenew` | Card needs to be renewed. |
-| `Renewed` | Card is renewed. The status returns to `Activated` after the first transaction is made with the new card. |
+| Physical card status | Explanation |
+| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `Initiated` | Printing a physical was launched with either the `printPhysicalCard` or `addCards` _with physical card_ mutation. |
+| `ConsentPending` | Request to print a physical card was received and is waiting for the card holder's consent.
**Next steps**:- If you used the `addCards` mutation and the card holder consents, the status moves to `Processing`.
- If you used the `printPhysicalCard` mutation and the card holder consents, the status moves to `Activated`.
- If you cancel the card with the API _before_ consent, the status moves to `Canceling`.
- If consent is refused or consent fails, the status moves directly to `Canceled`.
|
+| `Processing` | The card is in the process of being created with Swan's card issuing provider.
**Next steps**:- After the card is created successfully in the card issuing provider's system, the status moves to `ToActivate`.
- If you cancel the card with the API _before_ the card issuing provider creates the card, the status moves to `Canceling`.
|
+| `ToActivate` | The card is being printed by Swan's card issuing provider, then delivered to the card holder.
After the card holder receives the physical card, they need to activate it by performing a first transaction and entering the PIN. You can also activate the card with the `activatePhysicalCard` mutation.
**Next steps**:- If the card holder performs the transaction successfully, or you activate the card with the API, the status moves to `ToActivate`.
- If the card holder makes **three incorrect attempts** to enter their PIN, the status moves to `Suspended`.
|
+| `Activated` | Physical card is available for use.
**Next steps**:- Cards can retain the status `Activated` until the renewal period.
- `Activated` cards can also be `Suspended` and `Canceled` (example: if three incorrect attempts are made to enter the PIN, the card is automatically `Suspended`).
|
+| `Suspended`
Also referred to as _Blocked_ | Physical card is suspended and not available for use. Card holders can still view card information and use digital cards (not virtual cards) when a physical card is `Suspended`.
_Cards can be suspended for various reasons, including a request from you or the card holder, or a Swan action in the case of suspicious activity._
**Next steps**:- Restore the card's previous status with the API.
- Cancel the card with the API.
|
+| `Canceling` | Card is in the process of being canceled.
**Next steps**: Card is `Canceled`. After a card is assigned the `Canceling` status, the process can't be reversed. |
+| `Canceled` | Card is canceled, no longer available for use, and can't be reactivated. |
+| `ToRenew` | Card needs to be renewed. |
+| `Renewed` | Card is renewed. The status returns to `Activated` after the first transaction is made with the new card. |
## Renewing physical cards {#renew}
@@ -222,15 +224,15 @@ flowchart LR
## Guides {#guides}
- [Print physical cards](./guide-print.mdx)
- - Print a physical card
- - Print multiple physical cards
- - Print a custom physical card
- - Print multiple physical cards with group delivery
+ - Print a physical card
+ - Print multiple physical cards
+ - Print a custom physical card
+ - Print multiple physical cards with group delivery
- [Activate physical cards](./guide-activate.mdx)
- [View sensitive information](./guide-view-info.mdx)
- - View physical card number
- - View PIN
+ - View physical card number
+ - View PIN
- [Block & unblock physical cards](./guide-block-unblock.mdx)
- - Temporarily block a physical card
- - Unblock a physical card
-- [Cancel physical cards](./guide-cancel.mdx)
\ No newline at end of file
+ - Temporarily block a physical card
+ - Unblock a physical card
+- [Cancel physical cards](./guide-cancel.mdx)
diff --git a/docs/topics/cards/virtual/guide-add.mdx b/docs/topics/cards/virtual/guide-add.mdx
index b16ff32351e..a9bb26f9455 100644
--- a/docs/topics/cards/virtual/guide-add.mdx
+++ b/docs/topics/cards/virtual/guide-add.mdx
@@ -19,7 +19,7 @@ This mutation can only be called on behalf of an account member with the `canMan
When you do this, make sure you are authenticated with a user access token in the name of the account member.
The new card is thus created with the `ConsentPending` status.
-A `consentUrl` is returned which invites the user to start Strong Customer Authentication with Swan.
+A `consentUrl` is returned which invites the user to start Strong Customer Authentication with Swan.
After the user completes the Strong Customer Authentication process, the new card changes to `Activated` status.
In the mutation, you can use `cardProductId` field (optional) to choose which card design the user will receive.
@@ -94,7 +94,7 @@ It works nearly the same way as `addCard` with two additional features:
1. Configure the spending limit when adding the card with the `spendingLimit` field in the `addCards` mutation.
The new card is thus created with the `ConsentPending` status.
-A `consentUrl` is returned which invites the user to start Strong Customer Authentication with Swan.
+A `consentUrl` is returned which invites the user to start Strong Customer Authentication with Swan.
After the user completes the Strong Customer Authentication process, the new card changes to `Processing` status.
The cards are created asynchronously and then change to the `Enabled` status.
@@ -130,4 +130,4 @@ If you want to issue single-use virtual cards without having direct human intera
For both the single-use virtual card mutations (`addSingleUseVirtualCard` and `addSingleUseVirtualCards`), the `SuccessForProjectOwnerPayload` will return a card in `ConsentPending` status.
The status changes to `Enabled` after the consent is validated.
It's recommended to verify the card status before using it.
-:::
\ No newline at end of file
+:::
diff --git a/docs/topics/cards/virtual/guide-cancel.mdx b/docs/topics/cards/virtual/guide-cancel.mdx
index b9e9b1911de..1f95a0ba6d8 100644
--- a/docs/topics/cards/virtual/guide-cancel.mdx
+++ b/docs/topics/cards/virtual/guide-cancel.mdx
@@ -12,4 +12,4 @@ The card's status is `Canceling` during the process, which is irreversible, and
After the cancellation is complete, you'll no longer be billed for the card.
-You can also cancel [only a physical card](../physical/guide-cancel.mdx) or [only a digital card](../digital/guide-cancel.mdx).
\ No newline at end of file
+You can also cancel [only a physical card](../physical/guide-cancel.mdx) or [only a digital card](../digital/guide-cancel.mdx).
diff --git a/docs/topics/cards/virtual/guide-view-info.mdx b/docs/topics/cards/virtual/guide-view-info.mdx
index 203f4389452..2f87999d290 100644
--- a/docs/topics/cards/virtual/guide-view-info.mdx
+++ b/docs/topics/cards/virtual/guide-view-info.mdx
@@ -33,10 +33,7 @@ All of this data is considered sensitive and is not directly available through t
```graphql {4-5,8} showLineNumbers
mutation ViewSensitiveInfo {
viewCardNumbers(
- input: {
- cardId: "$YOUR_CARD_ID"
- consentRedirectUrl: "$YOUR_REDIRECT_URL"
- }
+ input: { cardId: "$YOUR_CARD_ID", consentRedirectUrl: "$YOUR_REDIRECT_URL" }
) {
... on ViewCardNumbersSuccessPayload {
__typename
@@ -67,8 +64,8 @@ mutation ViewSensitiveInfo {
### After consent
-import AfterConsent from '../partials/_after-consent.mdx';
+import AfterConsent from "../partials/_after-consent.mdx";
-
\ No newline at end of file
+
diff --git a/docs/topics/cards/virtual/index.mdx b/docs/topics/cards/virtual/index.mdx
index 4b690cebebc..46a039aaf7d 100644
--- a/docs/topics/cards/virtual/index.mdx
+++ b/docs/topics/cards/virtual/index.mdx
@@ -4,7 +4,7 @@ title: Virtual cards
# Virtual cards
-import VirtualCardsDefinition from '../../definitions/_cards-virtual.mdx';
+import VirtualCardsDefinition from "../../definitions/_cards-virtual.mdx";
>
@@ -24,9 +24,10 @@ Swan makes the virtual card's number, CVC, and expiry date available in Web Bank
The **card number** and **CVC** are considered sensitive data and must be **masked by default**.
The card holder must complete a **consent request** before the numbers can be unmasked.
-import VirtualPhysicalCardNumbers from '../partials/_card-numbers.mdx';
+import VirtualPhysicalCardNumbers from "../partials/_card-numbers.mdx";
:::info Virtual & physical card numbers
+
:::
@@ -52,7 +53,7 @@ For one-off cards, the `AccountHolderSpendingLimit.period` is `Always`.
### Recurring {#suv-recurring}
-You can think of recurring SUV cards as single *merchant* virtual cards.
+You can think of recurring SUV cards as single _merchant_ virtual cards.
The `AccountHolderSpendingLimit.period` is **not** `Always`.
When the card holder uses a recurring SUV card for the first time, Swan restricts the card to the merchant ID that triggered the authorization.
@@ -62,7 +63,7 @@ However, if the card holder tries to use the card elsewhere, the transaction wil
## Virtual card statuses {#statuses}
-*These statuses also represent the status of the Swan card contract.*
+_These statuses also represent the status of the Swan card contract._
```mermaid
%%{ init: { 'flowchart': { 'curve': 'linear' } } }%%
@@ -89,20 +90,20 @@ flowchart LR
style U fill:#dfedf2,stroke:#4d8296,stroke-width:3px
```
-| Virtual card status | Explanation |
-|---|---|
-| `ConsentPending` | Virtual card was added and is waiting for the card holder's consent
**Next steps**:- If consent is refused or fails, the status moves directly to `Canceled`
- Otherwise, the status moves to `Processing`
|
-| `Processing` | Consent has been received and the card is being prepared
Status used uniquely when adding multiple virtual cards (`addCards` mutation) |
-| `Enabled` | Virtual card is available for use |
-| `Canceling` | Card is in the process of being canceled
After a card is assigned the `Canceling` status, the process can't be reversed |
-| `Canceled` | Card is canceled, no longer available for use, and can't be reactivated |
+| Virtual card status | Explanation |
+| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `ConsentPending` | Virtual card was added and is waiting for the card holder's consent
**Next steps**:- If consent is refused or fails, the status moves directly to `Canceled`
- Otherwise, the status moves to `Processing`
|
+| `Processing` | Consent has been received and the card is being prepared
Status used uniquely when adding multiple virtual cards (`addCards` mutation) |
+| `Enabled` | Virtual card is available for use |
+| `Canceling` | Card is in the process of being canceled
After a card is assigned the `Canceling` status, the process can't be reversed |
+| `Canceled` | Card is canceled, no longer available for use, and can't be reactivated |
## Guides {#guides}
- [Add virtual cards](./guide-add.mdx)
- - Add a virtual card
- - Add multiple virtual cards
- - Add a single-use virtual card
+ - Add a virtual card
+ - Add multiple virtual cards
+ - Add a single-use virtual card
- [View sensitive information](./guide-view-info.mdx)
- - View virtual card numbers
-- [Cancel (deactivate) virtual cards](./guide-cancel.mdx)
\ No newline at end of file
+ - View virtual card numbers
+- [Cancel (deactivate) virtual cards](./guide-cancel.mdx)
diff --git a/docs/topics/contact.mdx b/docs/topics/contact.mdx
index 1b103f4ba95..17c056aa8d1 100644
--- a/docs/topics/contact.mdx
+++ b/docs/topics/contact.mdx
@@ -1,8 +1,9 @@
---
title: Contact Swan
---
-import PartialExample from '../_contact.mdx';
+
+import PartialExample from "../_contact.mdx";
# Contact Swan
-
\ No newline at end of file
+
diff --git a/docs/topics/definitions/_account-funding.mdx b/docs/topics/definitions/_account-funding.mdx
index 9a96e6b3c1a..01a64e7bdd6 100644
--- a/docs/topics/definitions/_account-funding.mdx
+++ b/docs/topics/definitions/_account-funding.mdx
@@ -1 +1 @@
-Supply money to your Swan account from an external account, whether with a push payment (such as a credit transfer) or a pull payment (such as direct debit).
\ No newline at end of file
+Supply money to your Swan account from an external account, whether with a push payment (such as a credit transfer) or a pull payment (such as direct debit).
diff --git a/docs/topics/definitions/_account-holder.mdx b/docs/topics/definitions/_account-holder.mdx
index c3905f3fc61..df7861c3c29 100644
--- a/docs/topics/definitions/_account-holder.mdx
+++ b/docs/topics/definitions/_account-holder.mdx
@@ -1 +1 @@
-Individual (natural person) or legal entity (legal person) who owns and is responsible for the funds in a Swan account.
\ No newline at end of file
+Individual (natural person) or legal entity (legal person) who owns and is responsible for the funds in a Swan account.
diff --git a/docs/topics/definitions/_account-membership.mdx b/docs/topics/definitions/_account-membership.mdx
index 22c66e46cb2..a7105124573 100644
--- a/docs/topics/definitions/_account-membership.mdx
+++ b/docs/topics/definitions/_account-membership.mdx
@@ -1 +1 @@
-Representation of the rights, also referred to as access and permissions, of Swan users to an account.
\ No newline at end of file
+Representation of the rights, also referred to as access and permissions, of Swan users to an account.
diff --git a/docs/topics/definitions/_capital-deposit.mdx b/docs/topics/definitions/_capital-deposit.mdx
index 4b9005c9764..5026410c7f2 100644
--- a/docs/topics/definitions/_capital-deposit.mdx
+++ b/docs/topics/definitions/_capital-deposit.mdx
@@ -1 +1 @@
-Initial funds invested to start operations for a new company, involving required documents, shareholder information, and legal processes.
\ No newline at end of file
+Initial funds invested to start operations for a new company, involving required documents, shareholder information, and legal processes.
diff --git a/docs/topics/definitions/_cards-digital.mdx b/docs/topics/definitions/_cards-digital.mdx
index 7406dbc999f..61221bc2208 100644
--- a/docs/topics/definitions/_cards-digital.mdx
+++ b/docs/topics/definitions/_cards-digital.mdx
@@ -1,2 +1,2 @@
Digital format of a virtual or physical card.
-Swan cards can be digitized and added to Apple Pay and Google Pay for Near-Field Communication (NFC) payments.
\ No newline at end of file
+Swan cards can be digitized and added to Apple Pay and Google Pay for Near-Field Communication (NFC) payments.
diff --git a/docs/topics/definitions/_cards-physical.mdx b/docs/topics/definitions/_cards-physical.mdx
index 74793fd68e9..919d55ba682 100644
--- a/docs/topics/definitions/_cards-physical.mdx
+++ b/docs/topics/definitions/_cards-physical.mdx
@@ -1 +1 @@
-Plastic payment card that can be used for point-of-sale transactions using swipe, chip and PIN, and contactless (EMV) methods, as well as for online transactions.
\ No newline at end of file
+Plastic payment card that can be used for point-of-sale transactions using swipe, chip and PIN, and contactless (EMV) methods, as well as for online transactions.
diff --git a/docs/topics/definitions/_cards-virtual.mdx b/docs/topics/definitions/_cards-virtual.mdx
index 37ff9fb2ad8..412966e99e4 100644
--- a/docs/topics/definitions/_cards-virtual.mdx
+++ b/docs/topics/definitions/_cards-virtual.mdx
@@ -1,3 +1,3 @@
Swan's default, dematerialized cards.
A virtual card must exist before creating a physical card or adding a card to a digital Wallet.
-Virtual cards are also available in a single-use format.
\ No newline at end of file
+Virtual cards are also available in a single-use format.
diff --git a/docs/topics/definitions/_iban.mdx b/docs/topics/definitions/_iban.mdx
index 31d573fd7ee..160f49b22de 100644
--- a/docs/topics/definitions/_iban.mdx
+++ b/docs/topics/definitions/_iban.mdx
@@ -1,2 +1,2 @@
International Bank Account Numbers (IBANs) identify accounts on the Single Euro Payment Area (SEPA) network.
-This unique identifier makes it easy for banking services like Swan to make sure payments reach their destination safely across Europe.
\ No newline at end of file
+This unique identifier makes it easy for banking services like Swan to make sure payments reach their destination safely across Europe.
diff --git a/docs/topics/definitions/_idd.mdx b/docs/topics/definitions/_idd.mdx
index 4c7f066fc11..634b2bda788 100644
--- a/docs/topics/definitions/_idd.mdx
+++ b/docs/topics/definitions/_idd.mdx
@@ -1 +1 @@
-Direct debit transactions between two accounts in the same Swan project.
\ No newline at end of file
+Direct debit transactions between two accounts in the same Swan project.
diff --git a/docs/topics/definitions/_legal-rep.mdx b/docs/topics/definitions/_legal-rep.mdx
index 52e257caad2..d29b16b965b 100644
--- a/docs/topics/definitions/_legal-rep.mdx
+++ b/docs/topics/definitions/_legal-rep.mdx
@@ -1 +1 @@
-Individual or entity authorized to act on behalf of another person or entity in legal and financial matters related to the Swan account.
\ No newline at end of file
+Individual or entity authorized to act on behalf of another person or entity in legal and financial matters related to the Swan account.
diff --git a/docs/topics/definitions/_merchants.mdx b/docs/topics/definitions/_merchants.mdx
index 076a8867037..72cd7ca4a49 100644
--- a/docs/topics/definitions/_merchants.mdx
+++ b/docs/topics/definitions/_merchants.mdx
@@ -1 +1 @@
-Swan account holders who have been approved to accept payments from their customers using Swan.
\ No newline at end of file
+Swan account holders who have been approved to accept payments from their customers using Swan.
diff --git a/docs/topics/definitions/_onboarding-company.mdx b/docs/topics/definitions/_onboarding-company.mdx
index dc6b8aa919f..a06d9752c93 100644
--- a/docs/topics/definitions/_onboarding-company.mdx
+++ b/docs/topics/definitions/_onboarding-company.mdx
@@ -1 +1 @@
-Process of creating a new company account holder, and opening a new Swan account for that account holder.
\ No newline at end of file
+Process of creating a new company account holder, and opening a new Swan account for that account holder.
diff --git a/docs/topics/definitions/_onboarding-individual.mdx b/docs/topics/definitions/_onboarding-individual.mdx
index 6ae3d99c415..25b79ba493c 100644
--- a/docs/topics/definitions/_onboarding-individual.mdx
+++ b/docs/topics/definitions/_onboarding-individual.mdx
@@ -1 +1 @@
-Process of creating a new individual account holder, and opening a new Swan account for that account holder.
\ No newline at end of file
+Process of creating a new individual account holder, and opening a new Swan account for that account holder.
diff --git a/docs/topics/definitions/_onboarding-supporting-documents.mdx b/docs/topics/definitions/_onboarding-supporting-documents.mdx
index fa446db4bb1..7adcbf17cb9 100644
--- a/docs/topics/definitions/_onboarding-supporting-documents.mdx
+++ b/docs/topics/definitions/_onboarding-supporting-documents.mdx
@@ -1,2 +1,2 @@
A collection of documents (think of a folder) containing documents gathered for a specific reason, such as during account holder verification.
-Swan collects these documents according to local regulations.
\ No newline at end of file
+Swan collects these documents according to local regulations.
diff --git a/docs/topics/definitions/_pagination.mdx b/docs/topics/definitions/_pagination.mdx
index 6770b520b2b..f0e31fad53e 100644
--- a/docs/topics/definitions/_pagination.mdx
+++ b/docs/topics/definitions/_pagination.mdx
@@ -1 +1 @@
-Break down large sets of data retrieved by the API into smaller, more manageable chunks.
\ No newline at end of file
+Break down large sets of data retrieved by the API into smaller, more manageable chunks.
diff --git a/docs/topics/definitions/_payment-control.mdx b/docs/topics/definitions/_payment-control.mdx
index b53a8fca88f..6bc40552205 100644
--- a/docs/topics/definitions/_payment-control.mdx
+++ b/docs/topics/definitions/_payment-control.mdx
@@ -1 +1 @@
-Accept or reject transactions according to your business rules, in compliance with Mastercard's requirements.
\ No newline at end of file
+Accept or reject transactions according to your business rules, in compliance with Mastercard's requirements.
diff --git a/docs/topics/definitions/_payment-mandate.mdx b/docs/topics/definitions/_payment-mandate.mdx
index 4ff73548cff..203932c36a6 100644
--- a/docs/topics/definitions/_payment-mandate.mdx
+++ b/docs/topics/definitions/_payment-mandate.mdx
@@ -1 +1 @@
-Signed approval through which a creditor or beneficiary can pull money from a debtor's account.
\ No newline at end of file
+Signed approval through which a creditor or beneficiary can pull money from a debtor's account.
diff --git a/docs/topics/definitions/_payments.mdx b/docs/topics/definitions/_payments.mdx
index ad7d1dc31ad..78b48dd8eb4 100644
--- a/docs/topics/definitions/_payments.mdx
+++ b/docs/topics/definitions/_payments.mdx
@@ -2,4 +2,4 @@ A grouping of a single transaction or a series of transactions to move funds fro
Payments group transactions together for two main reasons: the transactions were initiated at the same time, and they're related to the same operation or there is some other logical link between the transactions.
Payments can be initiated by individuals, businesses, or banks.
-Swan executes several types of payments denominated and executed in euros.
\ No newline at end of file
+Swan executes several types of payments denominated and executed in euros.
diff --git a/docs/topics/definitions/_projects.mdx b/docs/topics/definitions/_projects.mdx
index 9518d046a5a..9bba1967f11 100644
--- a/docs/topics/definitions/_projects.mdx
+++ b/docs/topics/definitions/_projects.mdx
@@ -1 +1 @@
-Entity that contains all information for your Swan integration and users.
\ No newline at end of file
+Entity that contains all information for your Swan integration and users.
diff --git a/docs/topics/definitions/_rejections.mdx b/docs/topics/definitions/_rejections.mdx
index f976eea0632..34438fa51a1 100644
--- a/docs/topics/definitions/_rejections.mdx
+++ b/docs/topics/definitions/_rejections.mdx
@@ -1,2 +1,2 @@
GraphQL type returned by mutations from the Swan API when a request is rejected due to a business rule.
-Rejections provide context as to why a mutation didn't work as expected and are implemented for all errors Swan can anticipate.
\ No newline at end of file
+Rejections provide context as to why a mutation didn't work as expected and are implemented for all errors Swan can anticipate.
diff --git a/docs/topics/definitions/_rolling-reserve.mdx b/docs/topics/definitions/_rolling-reserve.mdx
index ee4b245bb87..63224fd2ebf 100644
--- a/docs/topics/definitions/_rolling-reserve.mdx
+++ b/docs/topics/definitions/_rolling-reserve.mdx
@@ -9,6 +9,6 @@ For example, assume rolling reserve is 20% of the transaction amount held for 30
Consider the following example:
> A direct debit transaction for 150€ is made and requires rolling reserve.
-Swan reserves, or holds back, 30€ for 30 business days, and 30€ is added to the `Reserved` account balance. After 30 business days, the 30€ is added to the `Available` account balance and can be used.
+> Swan reserves, or holds back, 30€ for 30 business days, and 30€ is added to the `Reserved` account balance. After 30 business days, the 30€ is added to the `Available` account balance and can be used.
-Rolling reserve timelines follow general [SEPA availability](../payments/index.mdx#sepa-availability).
\ No newline at end of file
+Rolling reserve timelines follow general [SEPA availability](../payments/index.mdx#sepa-availability).
diff --git a/docs/topics/definitions/_sdd.mdx b/docs/topics/definitions/_sdd.mdx
index 1fded5490b1..67d4ab15c3f 100644
--- a/docs/topics/definitions/_sdd.mdx
+++ b/docs/topics/definitions/_sdd.mdx
@@ -1 +1 @@
-Transactions between two accounts in the same Swan project.
\ No newline at end of file
+Transactions between two accounts in the same Swan project.
diff --git a/docs/topics/definitions/_transactions.mdx b/docs/topics/definitions/_transactions.mdx
index e066eaac27d..3137aa2924f 100644
--- a/docs/topics/definitions/_transactions.mdx
+++ b/docs/topics/definitions/_transactions.mdx
@@ -1,2 +1,2 @@
Distinct and identifiable events that aid in moving money from one account to another.
-Transactions lay out the path to move money between accounts.
\ No newline at end of file
+Transactions lay out the path to move money between accounts.
diff --git a/docs/topics/definitions/_webhooks.mdx b/docs/topics/definitions/_webhooks.mdx
index 6aaec2b73c5..8799e9d10fb 100644
--- a/docs/topics/definitions/_webhooks.mdx
+++ b/docs/topics/definitions/_webhooks.mdx
@@ -1,2 +1,2 @@
Computers use webhooks to communicate with each other about events.
-Like notifications, webhooks let you know when something you're interested in happens with your integration.
\ No newline at end of file
+Like notifications, webhooks let you know when something you're interested in happens with your integration.
diff --git a/docs/topics/get-started/choose-integration.mdx b/docs/topics/get-started/choose-integration.mdx
index 25bd29bce79..12040d94ba7 100644
--- a/docs/topics/get-started/choose-integration.mdx
+++ b/docs/topics/get-started/choose-integration.mdx
@@ -77,9 +77,9 @@ The open source project might be interesting to you if:
## Recommendations {#recommendations}
-| Priority | Integration method |
-| --- | --- |
-| **Quick** integration + **Basic** user interface | No-code user interface |
-| **Quick** integration + **Customized** user interface | Now: No-code user interface Next: Full API + Swan Banking Frontend |
-| **Comprehensive** integration + **Customized** user interface | Full API + Swan Banking Frontend |
-| **Comprehensive** integration + **No** user interface from Swan | Full API |
\ No newline at end of file
+| Priority | Integration method |
+| --------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| **Quick** integration + **Basic** user interface | No-code user interface |
+| **Quick** integration + **Customized** user interface | Now: No-code user interface Next: Full API + Swan Banking Frontend |
+| **Comprehensive** integration + **Customized** user interface | Full API + Swan Banking Frontend |
+| **Comprehensive** integration + **No** user interface from Swan | Full API |
diff --git a/docs/topics/get-started/partials/_connect-mobile.mdx b/docs/topics/get-started/partials/_connect-mobile.mdx
index b7cd6a5fc97..2d1b9543986 100644
--- a/docs/topics/get-started/partials/_connect-mobile.mdx
+++ b/docs/topics/get-started/partials/_connect-mobile.mdx
@@ -1,4 +1,4 @@
Swan authenticates you, a physical person, to the Swan system with your **mobile device** and **phone number**.
Developers and end users follow the same process, so everyone logging into Swan must use their mobile device.
-Connecting with your device logs you into the Swan Dashboard, the **command center** for your integration.
\ No newline at end of file
+Connecting with your device logs you into the Swan Dashboard, the **command center** for your integration.
diff --git a/docs/topics/get-started/partials/_create-project.mdx b/docs/topics/get-started/partials/_create-project.mdx
index de9ddb373f4..205a0efa14e 100644
--- a/docs/topics/get-started/partials/_create-project.mdx
+++ b/docs/topics/get-started/partials/_create-project.mdx
@@ -1,4 +1,4 @@
Build a test banking experience that **matches your brand**.
Open **Dashboard** > **Settings** > **Branding** to name your project, upload your logo, and choose an accent color.
-
\ No newline at end of file
+
diff --git a/docs/topics/get-started/partials/_swan-access.mdx b/docs/topics/get-started/partials/_swan-access.mdx
index 7e90b2cd557..504cc73318f 100644
--- a/docs/topics/get-started/partials/_swan-access.mdx
+++ b/docs/topics/get-started/partials/_swan-access.mdx
@@ -1,4 +1,4 @@
Accessing Swan begins on the [**Swan website**](https://www.swan.io/start-now).
You'll provide some basic information and then, on a second screen, your **mobile phone number**.
-Your mobile phone number is required to gain access to Swan, even if you're just exploring—it's how you'll log in and [consent](../../users/consent/index.mdx) to sensitive operations.
\ No newline at end of file
+Your mobile phone number is required to gain access to Swan, even if you're just exploring—it's how you'll log in and [consent](../../users/consent/index.mdx) to sensitive operations.
diff --git a/docs/topics/get-started/quickstart.mdx b/docs/topics/get-started/quickstart.mdx
index 93ed752ebd0..4082359d6ff 100644
--- a/docs/topics/get-started/quickstart.mdx
+++ b/docs/topics/get-started/quickstart.mdx
@@ -12,7 +12,7 @@ The first three steps might feel familiar; they're the same in the [step-by-step
## Step 1: Get access to Swan {#swan-access}
-import GetSwanAccess from './partials/_swan-access.mdx';
+import GetSwanAccess from "./partials/_swan-access.mdx";
@@ -23,13 +23,13 @@ You do have [other options](./choose-integration.mdx) that allow for more custom
## Step 2: Connect with your mobile device {#connect}
-import ConnectWithMobile from './partials/_connect-mobile.mdx';
+import ConnectWithMobile from "./partials/_connect-mobile.mdx";
## Step 3: Create your project {#project}
-import CreateProject from './partials/_create-project.mdx';
+import CreateProject from "./partials/_create-project.mdx";
@@ -53,17 +53,17 @@ Go to **Dashboard** > **Developers** > **API** to get your [OAuth 2.0 credential
## Step 7: Execute your first payment {#payment}
1. Credit your account. In the Sandbox, you'll do this with fake money through the [Event Simulator](../../developers/tools/event-simulator.mdx).
- - [Follow the example](../../developers/tools/event-simulator.mdx#example) on the simulator page to receive an incoming transfer to add fake money to your new Swan account.
+ - [Follow the example](../../developers/tools/event-simulator.mdx#example) on the simulator page to receive an incoming transfer to add fake money to your new Swan account.
1. Use your new fake funds to [initiate a SEPA Credit Transfer](../payments/credit-transfers/sepa/guide-initiate-ct.mdx).
1. Use the Event Simulator to book the transfer. Go to **Dashboard** > **Developers** > **Event Simulator**, choose **book an outgoing transfer**, and enter the required information.
:::tip Swan is happy to have you here.
- The world of Swan is now your oyster.
- - Explore the documentation to see all Swan offers.
- - Discover more in the Event Simulator and the [API Explorer](../../developers/tools/api-explorer.mdx).
+ - Explore the documentation to see all Swan offers.
+ - Discover more in the Event Simulator and the [API Explorer](../../developers/tools/api-explorer.mdx).
- If you're not in communication with Swan (yet), feel free to [submit this form](https://www.swan.io/talk-to-expert) for more information.
- If you already have dedicated account managers, please contact them with any questions.
**Happy building!**
-:::
\ No newline at end of file
+:::
diff --git a/docs/topics/get-started/step-by-step.mdx b/docs/topics/get-started/step-by-step.mdx
index fbd91bffccf..772c284742e 100644
--- a/docs/topics/get-started/step-by-step.mdx
+++ b/docs/topics/get-started/step-by-step.mdx
@@ -13,13 +13,13 @@ Your mobile phone number is required to gain access to Swan, even if you're just
## Step 2: Connect with your mobile device {#connect}
-import ConnectWithMobile from './partials/_connect-mobile.mdx';
+import ConnectWithMobile from "./partials/_connect-mobile.mdx";
## Step 3: Create your project {#project}
-import CreateProject from './partials/_create-project.mdx';
+import CreateProject from "./partials/_create-project.mdx";
@@ -70,4 +70,4 @@ Swan account managers accompany you as you prepare to launch your integration wi
- If you already have dedicated account managers, please contact them with any questions.
**Happy building!**
-:::
\ No newline at end of file
+:::
diff --git a/docs/topics/merchants/checks/guide-checks.mdx b/docs/topics/merchants/checks/guide-checks.mdx
index 3f932fd5bc2..7222c12991f 100644
--- a/docs/topics/merchants/checks/guide-checks.mdx
+++ b/docs/topics/merchants/checks/guide-checks.mdx
@@ -10,7 +10,7 @@ Before accepting payments with French checks, you need to add a merchant profile
→ [Add a merchant profile](../profiles/guide-add.mdx)
-→ [Update a merchant profile](../profiles/guide-update.mdx) *if needed*
+→ [Update a merchant profile](../profiles/guide-update.mdx) _if needed_
## Step 2: Request the payment method {#step-2}
@@ -24,4 +24,4 @@ Call the API to initiate French check transactions so merchants can accept payme
## Bonus: Explore the Sandbox
-→ [French checks Sandbox](./sandbox.mdx)
\ No newline at end of file
+→ [French checks Sandbox](./sandbox.mdx)
diff --git a/docs/topics/merchants/checks/guide-initiate.mdx b/docs/topics/merchants/checks/guide-initiate.mdx
index 6360cbb0a52..3cec6c8dcbf 100644
--- a/docs/topics/merchants/checks/guide-initiate.mdx
+++ b/docs/topics/merchants/checks/guide-initiate.mdx
@@ -7,10 +7,11 @@ title: Initiate a transaction
Initiate accepting payments with French checks.
:::tip Prerequisites
+
- Debtor's account status: any except `Closing` or `Closed`
- Merchant profile status: `Enabled`
- Check payment method status: `Enabled`
-:::
+ :::
## Guide {#guide}
@@ -22,7 +23,6 @@ Initiate accepting payments with French checks.
1. Add the rejection `CheckRejection`, then add the `fnciInfo` here as well (lines 21, 24-30).
1. Add other rejections (not shown).
-
### Mutation {#mutation}
🔎 [Open the mutation in API Explorer](https://explorer.swan.io?query=bXV0YXRpb24gSW5pdGlhdGVDaGVja1BheW1lbnQgewogIGluaXRpYXRlQ2hlY2tNZXJjaGFudFBheW1lbnQoCiAgICBpbnB1dDogewogICAgICBhbW91bnQ6IHsgdmFsdWU6ICI1MCIsIGN1cnJlbmN5OiAiRVVSIiB9CiAgICAgIG1lcmNoYW50UHJvZmlsZUlkOiAiJFlPVVJfTUVSQ0hBTlRfUFJPRklMRV9JRCIKICAgICAgY21jNzogIiRZT1VSX0NNQzciCiAgICAgIHJsbWNLZXk6ICIkWU9VUl9STE1DX0tFWSIKICAgIH0KICApIHsKICAgIC4uLiBvbiBJbml0aWF0ZUNoZWNrTWVyY2hhbnRQYXltZW50U3VjY2Vzc1BheWxvYWQgewogICAgICBfX3R5cGVuYW1lCiAgICAgIGZuY2lJbmZvIHsKICAgICAgICBjb2xvckNvZGUKICAgICAgICBjcHQxCiAgICAgICAgY3B0MgogICAgICAgIGNwdDMKICAgICAgICBob2xkZXJFc3RhYmxpc2htZW50CiAgICAgICAgcmVzcG9uc2VDb2RlCiAgICAgIH0KICAgIH0KICAgIC4uLiBvbiBDaGVja1JlamVjdGlvbiB7CiAgICAgIF9fdHlwZW5hbWUKICAgICAgbWVzc2FnZQogICAgICBmbmNpSW5mbyB7CiAgICAgICAgY29sb3JDb2RlCiAgICAgICAgY3B0MQogICAgICAgIGNwdDIKICAgICAgICBjcHQzCiAgICAgICAgaG9sZGVyRXN0YWJsaXNobWVudAogICAgICAgIHJlc3BvbnNlQ29kZQogICAgICB9CiAgICB9CiAgfQp9Cg%3D%3D&tab=api)
@@ -62,7 +62,6 @@ mutation InitiateCheckPayment {
}
}
}
-
```
### Payload {#payload}
@@ -92,22 +91,22 @@ Note the `colorCode` `GREEN`, meaning the merchant can continue processing this
At this stage, the transaction has been initiated and the following events occur:
1. **Swan**:
- 1. Confirms that the check amount does not exceed 10 000€.
- 1. Verifies that the field formats are consistent with the check provider's specifications.
- 1. Creates a `checkIn` transaction with the status `Upcoming`. `checkIn` transactions retain the status `Upcoming` until the check amount is credited to the Swan settlement account.
+ 1. Confirms that the check amount does not exceed 10 000€.
+ 1. Verifies that the field formats are consistent with the check provider's specifications.
+ 1. Creates a `checkIn` transaction with the status `Upcoming`. `checkIn` transactions retain the status `Upcoming` until the check amount is credited to the Swan settlement account.
1. **Merchant**:
- 1. For **one** check:
- 1. Signs the back of the check.
- 1. Writes their Swan account number on the back of the check.
- 1. For **multiple** checks:
- 1. Signs the back of each check.
- 1. Places all checks in one envelope.
- 1. Includes their Swan account number in the envelope.
- 1. Sends the check to Swan's check provider by physical mail within 30 days of the `initiateCheckMerchantPayment` mutation call.
+ 1. For **one** check:
+ 1. Signs the back of the check.
+ 1. Writes their Swan account number on the back of the check.
+ 1. For **multiple** checks:
+ 1. Signs the back of each check.
+ 1. Places all checks in one envelope.
+ 1. Includes their Swan account number in the envelope.
+ 1. Sends the check to Swan's check provider by physical mail within 30 days of the `initiateCheckMerchantPayment` mutation call.
1. **Swan's check provider**:
- 1. [Processes the check](./index.mdx#rolling-reserve), after which the status changes to `Booked`. This can take a few business days.
+ 1. [Processes the check](./index.mdx#rolling-reserve), after which the status changes to `Booked`. This can take a few business days.
After a check is `Booked`, the [rolling reserve](./index.mdx#settlement) window starts.
After the rolling reserve window, the check amount is added to the account's available balance.
-If funds are insufficient for the check deposit, a `checkInReturn` will appear on your transaction history.
\ No newline at end of file
+If funds are insufficient for the check deposit, a `checkInReturn` will appear on your transaction history.
diff --git a/docs/topics/merchants/checks/guide-request.mdx b/docs/topics/merchants/checks/guide-request.mdx
index fe7e5565656..560d64eac20 100644
--- a/docs/topics/merchants/checks/guide-request.mdx
+++ b/docs/topics/merchants/checks/guide-request.mdx
@@ -4,13 +4,13 @@ title: Request French checks
# Request French checks
-import RequestPaymentMethodIntro from '../partials/_guide-request-intro.mdx';
+import RequestPaymentMethodIntro from "../partials/_guide-request-intro.mdx";
## Guide {#guide}
-import RequestPaymentMethodSteps from '../partials/_guide-request-steps.mdx';
+import RequestPaymentMethodSteps from "../partials/_guide-request-steps.mdx";
@@ -84,4 +84,4 @@ The payload confirms that the payment method `Check` was requested successfully
}
}
}
-```
\ No newline at end of file
+```
diff --git a/docs/topics/merchants/checks/index.mdx b/docs/topics/merchants/checks/index.mdx
index 389ba23b247..bdedeba5e02 100644
--- a/docs/topics/merchants/checks/index.mdx
+++ b/docs/topics/merchants/checks/index.mdx
@@ -25,9 +25,9 @@ When declaring checks with the API, there are five mandatory API fields:
1. `amount`: monetary amount of the check (can't exceed 10 000€).
1. `currency`: `EUR` (only euros are supported).
1. `CMC7` (Caractères Magnétiques Codés à 7 bâtonnets): 31-digit code composed of 3 series of numbers.
- - Series 1: check number; 7 digits
- - Series 2: interbank codes; 12 digits
- - Series 3: account number; 12 digits
+ - Series 1: check number; 7 digits
+ - Series 2: interbank codes; 12 digits
+ - Series 3: account number; 12 digits
1. `rlmcKey` (Recomposition de la Ligne Magnétique du Chèque): 2-digit code surrounded by chevrons `< >` or parentheses `( )` calculated based on the CMC7.
1. `merchantProfileId`: your developers should enter the merchant's profile ID number.
@@ -35,13 +35,13 @@ On the **back of the check**, the merchant must write their Swan account number
## Rolling reserve {#rolling-reserve}
-import RollingReserve from '../partials/_rolling-reserve.mdx';
+import RollingReserve from "../partials/_rolling-reserve.mdx";
-| Payment method | Rolling reserve | Default amount |
-| --- | --- | --- |
-| French checks | ✓ **Yes** | 100% over 10 business days |
+| Payment method | Rolling reserve | Default amount |
+| -------------- | --------------- | -------------------------- |
+| French checks | ✓ **Yes** | 100% over 10 business days |
## Settlement date and booked time {#settlement}
@@ -49,12 +49,12 @@ Checks are booked 2-3 business days after they arrive at the check processing ce
## FNCI & verifying checks {#fnci}
-The FNCI stands for *Le fichier national des chèques irréguliers*, meaning the National Irregular Check Register.
-It's a database of stolen and opposed checks made available to remitters by the *Banque de France*, helping you and your users **reduce the risk** of cashing fraudulent checks.
+The FNCI stands for _Le fichier national des chèques irréguliers_, meaning the National Irregular Check Register.
+It's a database of stolen and opposed checks made available to remitters by the _Banque de France_, helping you and your users **reduce the risk** of cashing fraudulent checks.
-When your merchants accept check payments with Swan, Swan **verifies the check's regularity** with the *Banque de France*.
+When your merchants accept check payments with Swan, Swan **verifies the check's regularity** with the _Banque de France_.
You **receive the result** of a check's verification **with the API**, and your merchants see the result if you're using Swan's Web Banking interface.
-If you're not using Web Banking, consider **integrating the FNCI result** in your product.
+If you're not using Web Banking, consider **integrating the FNCI result** in your product.
### FNCI results {#fnci-results}
@@ -72,21 +72,44 @@ With the results, you receive the **name of the bank that issued the check** alo
| Positive, meaning the check isn't fraudulent. |