GraphQL API Reference
Our API is organized around GraphQL. We’re convinced GraphQL is the future of APIs - it allows much finer command than other technologies such as REST. Payloads are typed and it’s efficient for reducing cascading requests.
This API reference includes:
- Guides: step-by-step tutorials show you how to integrate our features
- Concept documentation: describes every single part of the API in detail
- API Explorer: Test everything. Our favorite explorer said, “The most beautiful things in the world cannot be seen or touched, they are felt with the heart.” ...well, you’ll quickly get a feel for how beautiful you can make your product experience when you test with our API Explorer!
Contact
API Support
Sales team
API Endpoints
# Sandbox:
https://api.swan.io/sandbox-partner/graphql
Queries
account
Description
Returns an account from its id.
Example
Query
query Account($accountId: ID!) {
account(accountId: $accountId) {
id
number
name
holder {
id
verificationStatus
info {
...AccountHolderInfoFragment
}
statusInfo {
...AccountHolderStatusInfoFragment
}
residencyAddress {
...AddressInfoFragment
}
createdDate
updatedDate
accounts {
...AccountConnectionFragment
}
supportingDocumentCollections {
...SupportingDocumentCollectionConnectionFragment
}
fundingLimitSettingsChangeRequests {
...FundingLimitSettingsChangeRequestConnectionFragment
}
onboarding {
...OnboardingFragment
}
externalAccounts {
...ExternalAccountConnectionFragment
}
paymentMandates {
...PaymentMandateConnectionFragment
}
fundingLimitSettings {
...FundingLimitSettingsFragment
}
}
cashAccountType
country
paymentLevel
BIC
IBAN
currency
blockSDD
statusInfo {
status
}
partnershipStatusInfo {
status
}
createdAt
updatedAt
virtualIbanEntries {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...VirtualIBANEntryEdgeFragment
}
}
memberships {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...AccountMembershipEdgeFragment
}
}
requiredConsentToFetchNewTransactions
language
legalRepresentativeMembership {
id
email
user {
...UserFragment
}
legalRepresentative
canViewAccount
canManageBeneficiaries
canInitiatePayments
canManageAccountMembership
canManageCards
statusInfo {
...AccountMembershipStatusInfoFragment
}
account {
...AccountFragment
}
spendingLimits {
...SpendingLimitFragment
}
createdAt
updatedAt
version
residencyAddress {
...AddressInfoFragment
}
taxIdentificationNumber
acceptedIdentificationLevels
recommendedIdentificationLevel
hasRequiredIdentificationLevel
disabledAt
cards {
...CardConnectionFragment
}
spending {
...SpendingFragment
}
}
paymentAccountType
upgradedAt
bankDetails
legalDocuments {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...LegalDocumentEdgeFragment
}
}
balances {
available {
...AmountFragment
}
pending {
...AmountFragment
}
booked {
...AmountFragment
}
reserved {
...AmountFragment
}
}
statements {
pageInfo {
...PageInfoFragment
}
totalCount
edges {
...StatementEdgeFragment
}
}
transactions {
pageInfo {
...PageInfoFragment
}
totalCount
edges {
...TransactionEdgeFragment
}
}
invoices {
pageInfo {
...PageInfoFragment
}
totalCount
edges {
...InvoiceEdgeFragment
}
}
receivedDirectDebitMandates {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...ReceivedDirectDebitMandateEdgeFragment
}
}
standingOrders {
pageInfo {
...PageInfoFragment
}
edges {
...StandingOrderEdgeFragment
}
totalCount
}
fundingSources {
pageInfo {
...PageInfoFragment
}
edges {
...FundingSourceEdgeFragment
}
totalCount
}
merchantProfiles {
pageInfo {
...PageInfoFragment
}
edges {
...MerchantProfileEdgeFragment
}
totalCount
}
}
}
Variables
{"accountId": "4"}
Response
{
"data": {
"account": {
"id": "4",
"number": "000000012345",
"name": "abc123",
"holder": AccountHolder,
"cashAccountType": "Current",
"country": "FRA",
"paymentLevel": "Limited",
"BIC": BIC,
"IBAN": "NL55INGB4789170233",
"currency": "USD",
"blockSDD": false,
"statusInfo": AccountStatusInfo,
"partnershipStatusInfo": PartnershipStatusInfo,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"virtualIbanEntries": VirtualIBANEntryConnection,
"memberships": AccountMembershipConnection,
"requiredConsentToFetchNewTransactions": false,
"language": "de",
"legalRepresentativeMembership": AccountMembership,
"paymentAccountType": "EMoney",
"upgradedAt": "2007-12-03T10:15:30Z",
"bankDetails": "abc123",
"legalDocuments": LegalDocumentConnection,
"balances": AccountBalances,
"statements": StatementConnection,
"transactions": TransactionConnection,
"invoices": InvoiceConnection,
"receivedDirectDebitMandates": ReceivedDirectDebitMandateConnection,
"standingOrders": StandingOrderConnection,
"fundingSources": FundingSourceConnection,
"merchantProfiles": MerchantProfileConnection
}
}
}
accountHolder
Description
Returns an account holder from its id.
Response
Returns an
AccountHolder
Arguments
Name | Description |
---|---|
id -
ID!
|
Example
Query
query AccountHolder($id: ID!) {
accountHolder(id: $id) {
id
verificationStatus
info {
type
name
}
statusInfo {
status
}
residencyAddress {
addressLine1
addressLine2
city
postalCode
state
country
}
createdDate
updatedDate
accounts {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...AccountEdgeFragment
}
}
supportingDocumentCollections {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...SupportingDocumentCollectionEdgeFragment
}
}
fundingLimitSettingsChangeRequests {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...FundingLimitSettingsChangeRequestEdgeFragment
}
}
onboarding {
id
accountName
accountCountry
createdAt
email
finalizedAt
language
info {
...OnboardingAccountHolderInfoFragment
}
accountHolder {
...AccountHolderFragment
}
onboardingUrl
onboardingState
redirectUrl
oAuthRedirectParameters {
...OAuthRedirectParametersFragment
}
statusInfo {
...OnboardingStatusInfoFragment
}
tcuUrl
supportingDocumentCollection {
...SupportingDocumentCollectionFragment
}
updatedAt
account {
...AccountFragment
}
legalRepresentativeAcceptedIdentificationLevels
legalRepresentativeRecommendedIdentificationLevel
}
externalAccounts {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...ExternalAccountEdgeFragment
}
}
paymentMandates {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...PaymentMandateEdgeFragment
}
}
fundingLimitSettings {
instantFundingLimit {
...InstantFundingLimitFragment
}
fundingLimit {
...FundingLimitFragment
}
fundingLimitSettingsChangeRequest {
...FundingLimitSettingsChangeRequestFragment
}
statusInfo {
...FundingLimitSettingsStatusInfoFragment
}
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"accountHolder": {
"id": 4,
"verificationStatus": "NotStarted",
"info": AccountHolderInfo,
"statusInfo": AccountHolderStatusInfo,
"residencyAddress": AddressInfo,
"createdDate": "2007-12-03T10:15:30Z",
"updatedDate": "2007-12-03T10:15:30Z",
"accounts": AccountConnection,
"supportingDocumentCollections": SupportingDocumentCollectionConnection,
"fundingLimitSettingsChangeRequests": FundingLimitSettingsChangeRequestConnection,
"onboarding": Onboarding,
"externalAccounts": ExternalAccountConnection,
"paymentMandates": PaymentMandateConnection,
"fundingLimitSettings": FundingLimitSettings
}
}
}
accountHolders
Description
Returns the list of account holders.
For a Project access token, this is all the account holders of the project and for an User access token, these are the holders of the accounts of which the user has an account membership.
Response
Returns an
AccountHolderConnection!
Arguments
Name | Description |
---|---|
first -
Int!
|
Default = 50 |
before -
String
|
|
filters -
AccountHolderFilterInput
|
|
orderBy -
AccountHolderOrderByInput
|
|
after -
String
|
Example
Query
query AccountHolders(
$first: Int!,
$before: String,
$filters: AccountHolderFilterInput,
$orderBy: AccountHolderOrderByInput,
$after: String
) {
accountHolders(
first: $first,
before: $before,
filters: $filters,
orderBy: $orderBy,
after: $after
) {
totalCount
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
...AccountHolderFragment
}
}
}
}
Variables
{
"first": 50,
"before": "abc123",
"filters": AccountHolderFilterInput,
"orderBy": AccountHolderOrderByInput,
"after": "abc123"
}
Response
{
"data": {
"accountHolders": {
"totalCount": 123,
"pageInfo": PageInfo,
"edges": [AccountHolderEdge]
}
}
}
accountInvoice
Example
Query
query AccountInvoice($invoiceId: ID!) {
accountInvoice(invoiceId: $invoiceId) {
id
accountId
name
status
amount {
currency
value
}
url
expiresAt
openingDate
closingDate
createdAt
updatedAt
}
}
Variables
{"invoiceId": "4"}
Response
{
"data": {
"accountInvoice": {
"id": 4,
"accountId": "4",
"name": "xyz789",
"status": "Failed",
"amount": Amount,
"url": "xyz789",
"expiresAt": "2007-12-03T10:15:30Z",
"openingDate": "2007-12-03T10:15:30Z",
"closingDate": "2007-12-03T10:15:30Z",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
accountMembership
Description
Returns an account membership from its id.
Response
Returns an
AccountMembership
Arguments
Name | Description |
---|---|
id -
ID!
|
Example
Query
query AccountMembership($id: ID!) {
accountMembership(id: $id) {
id
email
user {
id
accountMemberships {
...AccountMembershipConnectionFragment
}
mobilePhoneNumber
firstName
lastName
allFirstNames
birthDate
nationalityCCA3
idVerified
authenticators {
...AuthenticatorFragment
}
identificationStatus
identificationLevels {
...IdentificationLevelsFragment
}
preferredNotificationChannel
createdAt
updatedAt
joinedAt
identifications {
...IdentificationConnectionFragment
}
}
legalRepresentative
canViewAccount
canManageBeneficiaries
canInitiatePayments
canManageAccountMembership
canManageCards
statusInfo {
status
}
account {
id
number
name
holder {
...AccountHolderFragment
}
cashAccountType
country
paymentLevel
BIC
IBAN
currency
blockSDD
statusInfo {
...AccountStatusInfoFragment
}
partnershipStatusInfo {
...PartnershipStatusInfoFragment
}
createdAt
updatedAt
virtualIbanEntries {
...VirtualIBANEntryConnectionFragment
}
memberships {
...AccountMembershipConnectionFragment
}
requiredConsentToFetchNewTransactions
language
legalRepresentativeMembership {
...AccountMembershipFragment
}
paymentAccountType
upgradedAt
bankDetails
legalDocuments {
...LegalDocumentConnectionFragment
}
balances {
...AccountBalancesFragment
}
statements {
...StatementConnectionFragment
}
transactions {
...TransactionConnectionFragment
}
invoices {
...InvoiceConnectionFragment
}
receivedDirectDebitMandates {
...ReceivedDirectDebitMandateConnectionFragment
}
standingOrders {
...StandingOrderConnectionFragment
}
fundingSources {
...FundingSourceConnectionFragment
}
merchantProfiles {
...MerchantProfileConnectionFragment
}
}
spendingLimits {
type
period
amount {
...AmountFragment
}
}
createdAt
updatedAt
version
residencyAddress {
addressLine1
addressLine2
city
postalCode
state
country
}
taxIdentificationNumber
acceptedIdentificationLevels
recommendedIdentificationLevel
hasRequiredIdentificationLevel
disabledAt
cards {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...CardEdgeFragment
}
}
spending {
period
amount {
...AmountFragment
}
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"accountMembership": {
"id": 4,
"email": "xyz789",
"user": User,
"legalRepresentative": true,
"canViewAccount": false,
"canManageBeneficiaries": false,
"canInitiatePayments": false,
"canManageAccountMembership": true,
"canManageCards": false,
"statusInfo": AccountMembershipStatusInfo,
"account": Account,
"spendingLimits": [SpendingLimit],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"version": "abc123",
"residencyAddress": AddressInfo,
"taxIdentificationNumber": "abc123",
"acceptedIdentificationLevels": ["Expert"],
"recommendedIdentificationLevel": "Expert",
"hasRequiredIdentificationLevel": true,
"disabledAt": "2007-12-03T10:15:30Z",
"cards": CardConnection,
"spending": Spending
}
}
}
accountMemberships
Description
The list of account memberships
Response
Returns an
AccountMembershipConnection!
Arguments
Name | Description |
---|---|
first -
Int!
|
Default = 50 |
before -
String
|
|
after -
String
|
|
filters -
AccountMembershipsFilterInput
|
|
orderBy -
AccountMembershipOrderByInput
|
Example
Query
query AccountMemberships(
$first: Int!,
$before: String,
$after: String,
$filters: AccountMembershipsFilterInput,
$orderBy: AccountMembershipOrderByInput
) {
accountMemberships(
first: $first,
before: $before,
after: $after,
filters: $filters,
orderBy: $orderBy
) {
totalCount
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
...AccountMembershipFragment
}
}
}
}
Variables
{
"first": 50,
"before": "abc123",
"after": "xyz789",
"filters": AccountMembershipsFilterInput,
"orderBy": AccountMembershipOrderByInput
}
Response
{
"data": {
"accountMemberships": {
"totalCount": 987,
"pageInfo": PageInfo,
"edges": [AccountMembershipEdge]
}
}
}
accountStatement
Description
Returns an account statement by id
Response
Returns a
Statement!
Arguments
Name | Description |
---|---|
id -
ID!
|
Example
Query
query AccountStatement($id: ID!) {
accountStatement(id: $id) {
id
account {
id
number
name
holder {
...AccountHolderFragment
}
cashAccountType
country
paymentLevel
BIC
IBAN
currency
blockSDD
statusInfo {
...AccountStatusInfoFragment
}
partnershipStatusInfo {
...PartnershipStatusInfoFragment
}
createdAt
updatedAt
virtualIbanEntries {
...VirtualIBANEntryConnectionFragment
}
memberships {
...AccountMembershipConnectionFragment
}
requiredConsentToFetchNewTransactions
language
legalRepresentativeMembership {
...AccountMembershipFragment
}
paymentAccountType
upgradedAt
bankDetails
legalDocuments {
...LegalDocumentConnectionFragment
}
balances {
...AccountBalancesFragment
}
statements {
...StatementConnectionFragment
}
transactions {
...TransactionConnectionFragment
}
invoices {
...InvoiceConnectionFragment
}
receivedDirectDebitMandates {
...ReceivedDirectDebitMandateConnectionFragment
}
standingOrders {
...StandingOrderConnectionFragment
}
fundingSources {
...FundingSourceConnectionFragment
}
merchantProfiles {
...MerchantProfileConnectionFragment
}
}
openingBalance {
currency
value
}
closingBalance {
currency
value
}
openingDate
closingDate
status
period
totalCredits {
currency
value
}
totalDebits {
currency
value
}
fees {
currency
value
}
type {
type
}
createdAt
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"accountStatement": {
"id": "4",
"account": Account,
"openingBalance": Amount,
"closingBalance": Amount,
"openingDate": "2007-12-03T10:15:30Z",
"closingDate": "2007-12-03T10:15:30Z",
"status": "Available",
"period": "Monthly",
"totalCredits": Amount,
"totalDebits": Amount,
"fees": Amount,
"type": [StatementInfo],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
accounts
Description
Returns the list of accounts.
For a Project access token, this is all the accounts of the project and for an User access token, these are the accounts of which the user has an account membership.
Response
Returns an
AccountConnection!
Arguments
Name | Description |
---|---|
first -
Int!
|
Default = 50 |
before -
String
|
|
after -
String
|
|
filters -
AccountFilterInput
|
|
orderBy -
AccountOrderByInput
|
Example
Query
query Accounts(
$first: Int!,
$before: String,
$after: String,
$filters: AccountFilterInput,
$orderBy: AccountOrderByInput
) {
accounts(
first: $first,
before: $before,
after: $after,
filters: $filters,
orderBy: $orderBy
) {
totalCount
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
...AccountFragment
}
}
}
}
Variables
{
"first": 50,
"before": "xyz789",
"after": "xyz789",
"filters": AccountFilterInput,
"orderBy": AccountOrderByInput
}
Response
{
"data": {
"accounts": {
"totalCount": 123,
"pageInfo": PageInfo,
"edges": [AccountEdge]
}
}
}
capitalDepositCase
Description
Return the capital deposit case for the provided id.
Response
Returns a
CapitalDepositCase
Arguments
Name | Description |
---|---|
id -
ID!
|
Example
Query
query CapitalDepositCase($id: ID!) {
capitalDepositCase(id: $id) {
id
shareholders {
id
capitalDepositAmount {
...AmountFragment
}
onboarding {
...OnboardingFragment
}
accountId
status
info {
... on IndividualShareholder {
...IndividualShareholderFragment
}
... on CompanyShareholder {
...CompanyShareholderFragment
}
}
documents {
...CapitalDepositDocumentFragment
}
createdAt
updatedAt
}
totalCapitalDepositAmount {
currency
value
}
companyName
companyOnboarding {
id
accountName
accountCountry
createdAt
email
finalizedAt
language
info {
...OnboardingAccountHolderInfoFragment
}
accountHolder {
...AccountHolderFragment
}
onboardingUrl
onboardingState
redirectUrl
oAuthRedirectParameters {
...OAuthRedirectParametersFragment
}
statusInfo {
...OnboardingStatusInfoFragment
}
tcuUrl
supportingDocumentCollection {
...SupportingDocumentCollectionFragment
}
updatedAt
account {
...AccountFragment
}
legalRepresentativeAcceptedIdentificationLevels
legalRepresentativeRecommendedIdentificationLevel
}
companyAccountId
status
documents {
id
type
downloadUrl
uploadedAt
status
createdAt
updatedAt
}
createdAt
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"capitalDepositCase": {
"id": "xyz789",
"shareholders": [Shareholder],
"totalCapitalDepositAmount": Amount,
"companyName": "abc123",
"companyOnboarding": Onboarding,
"companyAccountId": "xyz789",
"status": "Initiated",
"documents": [CapitalDepositDocument],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
capitalDepositCases
Description
Returns the list of capital deposit cases.
This query is restricted to a Project access token ( Learn More)
Response
Returns a
CapitalDepositCaseConnection!
Arguments
Name | Description |
---|---|
first -
Int!
|
Default = 50 |
before -
String
|
|
after -
String
|
|
filters -
CapitalDepositCaseFiltersInput
|
|
orderBy -
CapitalDepositCaseOrderByInput
|
Example
Query
query CapitalDepositCases(
$first: Int!,
$before: String,
$after: String,
$filters: CapitalDepositCaseFiltersInput,
$orderBy: CapitalDepositCaseOrderByInput
) {
capitalDepositCases(
first: $first,
before: $before,
after: $after,
filters: $filters,
orderBy: $orderBy
) {
totalCount
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
...CapitalDepositCaseFragment
}
}
}
}
Variables
{
"first": 50,
"before": "xyz789",
"after": "abc123",
"filters": CapitalDepositCaseFiltersInput,
"orderBy": CapitalDepositCaseOrderByInput
}
Response
{
"data": {
"capitalDepositCases": {
"totalCount": 987,
"pageInfo": PageInfo,
"edges": [CapitalDepositCaseEdge]
}
}
}
card
Description
Returns a card from its id.
Example
Query
query Card($cardId: ID!) {
card(cardId: $cardId) {
id
type
createdAt
updatedAt
accountMembership {
id
email
user {
...UserFragment
}
legalRepresentative
canViewAccount
canManageBeneficiaries
canInitiatePayments
canManageAccountMembership
canManageCards
statusInfo {
...AccountMembershipStatusInfoFragment
}
account {
...AccountFragment
}
spendingLimits {
...SpendingLimitFragment
}
createdAt
updatedAt
version
residencyAddress {
...AddressInfoFragment
}
taxIdentificationNumber
acceptedIdentificationLevels
recommendedIdentificationLevel
hasRequiredIdentificationLevel
disabledAt
cards {
...CardConnectionFragment
}
spending {
...SpendingFragment
}
}
mainCurrency
cardContractExpiryDate
cardDesignUrl
cardUrl
statusInfo {
status
}
withdrawal
international
nonMainCurrencyTransactions
eCommerce
spendingLimits {
type
period
amount {
...AmountFragment
}
}
physicalCard {
statusInfo {
...PhysicalCardStatusInfoFragment
}
expiryDate
identifier
offlineSpendingLimit {
...AmountFragment
}
cardMaskedNumber
customOptions {
...PhysicalCardCustomOptionsFragment
}
}
cardMaskedNumber
expiryDate
name
cardProduct {
id
name
projectId
status
createdAt
updatedAt
applicableToPhysicalCards
cardDesigns {
...CardProductDesignFragment
}
defaultCardProduct
individualSpendingLimit {
...SpendingLimitFragment
}
companySpendingLimit {
...SpendingLimitFragment
}
}
issuingCountry
digitalCards {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...DigitalCardEdgeFragment
}
}
transactions {
pageInfo {
...PageInfoFragment
}
totalCount
edges {
...TransactionEdgeFragment
}
}
spending {
period
amount {
...AmountFragment
}
}
}
}
Variables
{"cardId": "4"}
Response
{
"data": {
"card": {
"id": 4,
"type": "Virtual",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"accountMembership": AccountMembership,
"mainCurrency": "USD",
"cardContractExpiryDate": "2007-12-03T10:15:30Z",
"cardDesignUrl": "abc123",
"cardUrl": "abc123",
"statusInfo": CardStatusInfo,
"withdrawal": false,
"international": true,
"nonMainCurrencyTransactions": true,
"eCommerce": true,
"spendingLimits": [SpendingLimit],
"physicalCard": PhysicalCard,
"cardMaskedNumber": "xyz789",
"expiryDate": "abc123",
"name": "abc123",
"cardProduct": CardProduct,
"issuingCountry": CCA3,
"digitalCards": DigitalCardConnection,
"transactions": TransactionConnection,
"spending": Spending
}
}
}
cards
Description
Returns the list of cards.
For a Project access token, this is all the cards of the project and for an User access token, these are the cards owned by the user whom have an account membership.
Response
Returns a
CardConnection!
Arguments
Name | Description |
---|---|
first -
Int!
|
Default = 50 |
before -
String
|
|
after -
String
|
|
orderBy -
CardOrderByInput
|
When the list of elements needs to be ordered |
filters -
CardFiltersInput
|
When the list of elements needs to be filtered |
Example
Query
query Cards(
$first: Int!,
$before: String,
$after: String,
$orderBy: CardOrderByInput,
$filters: CardFiltersInput
) {
cards(
first: $first,
before: $before,
after: $after,
orderBy: $orderBy,
filters: $filters
) {
totalCount
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
...CardFragment
}
}
}
}
Variables
{
"first": 50,
"before": "abc123",
"after": "abc123",
"orderBy": CardOrderByInput,
"filters": CardFiltersInput
}
Response
{
"data": {
"cards": {
"totalCount": 123,
"pageInfo": PageInfo,
"edges": [CardEdge]
}
}
}
consent
Description
Returns a consent by its id.
Example
Query
query Consent($id: ID!) {
consent(id: $id) {
id
requireSCA
status
createdAt
updatedAt
startedAt
expiredAt
purpose
consentUrl
redirectUrl
userId
user {
id
accountMemberships {
...AccountMembershipConnectionFragment
}
mobilePhoneNumber
firstName
lastName
allFirstNames
birthDate
nationalityCCA3
idVerified
authenticators {
...AuthenticatorFragment
}
identificationStatus
identificationLevels {
...IdentificationLevelsFragment
}
preferredNotificationChannel
createdAt
updatedAt
joinedAt
identifications {
...IdentificationConnectionFragment
}
}
challenge
}
}
Variables
{"id": 4}
Response
{
"data": {
"consent": {
"id": "4",
"requireSCA": false,
"status": "Accepted",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"startedAt": "2007-12-03T10:15:30Z",
"expiredAt": "2007-12-03T10:15:30Z",
"purpose": "AcceptPartnershipConditions",
"consentUrl": "xyz789",
"redirectUrl": "abc123",
"userId": "abc123",
"user": User,
"challenge": "abc123"
}
}
}
consents
Description
Return the list of consents
For a User access token : return the list of consents for the signed-in user For a Project access token : return the list of consents for the project. This list can be filtered by userId
Response
Returns a
ConsentConnection!
Arguments
Name | Description |
---|---|
first -
Int!
|
Default = 50 |
after -
String
|
|
filters -
ConsentsFiltersInput
|
Example
Query
query Consents(
$first: Int!,
$after: String,
$filters: ConsentsFiltersInput
) {
consents(
first: $first,
after: $after,
filters: $filters
) {
totalCount
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
...ConsentFragment
}
}
}
}
Variables
{
"first": 50,
"after": "xyz789",
"filters": ConsentsFiltersInput
}
Response
{
"data": {
"consents": {
"totalCount": 123,
"pageInfo": PageInfo,
"edges": [ConsentEdge]
}
}
}
fundingLimitSettingsChangeRequest
Description
Returns a request for funding limit settings change from its id.
Response
Returns a
FundingLimitSettingsChangeRequest
Arguments
Name | Description |
---|---|
fundingLimitSettingsChangeRequestId -
ID!
|
Example
Query
query FundingLimitSettingsChangeRequest($fundingLimitSettingsChangeRequestId: ID!) {
fundingLimitSettingsChangeRequest(fundingLimitSettingsChangeRequestId: $fundingLimitSettingsChangeRequestId) {
id
instantFundingLimit {
amount {
...AmountFragment
}
}
fundingLimit {
amount {
...AmountFragment
}
}
approved {
instantFundingLimit {
...FundingLimitAmountFragment
}
fundingLimit {
...FundingLimitAmountFragment
}
}
statusInfo {
status
}
createdAt
updatedAt
}
}
Variables
{"fundingLimitSettingsChangeRequestId": 4}
Response
{
"data": {
"fundingLimitSettingsChangeRequest": {
"id": 4,
"instantFundingLimit": FundingLimitAmount,
"fundingLimit": FundingLimitAmount,
"approved": ApprovedFundingLimit,
"statusInfo": FundingLimitSettingsChangeRequestStatusInfo,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03"
}
}
}
fundingSource
Description
Returns funding source by id.
Response
Returns a
FundingSource
Arguments
Name | Description |
---|---|
id -
ID!
|
Example
Query
query FundingSource($id: ID!) {
fundingSource(id: $id) {
id
name
statusInfo {
status
}
createdAt
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"fundingSource": {
"id": 4,
"name": "xyz789",
"statusInfo": FundingSourceStatusInfo,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
ibanValidation
Description
Allows to check iban validation. It also returns its bank and reachability information
Response
Returns an
IbanValidationResult
Arguments
Name | Description |
---|---|
input -
IbanValidationInput
|
Example
Query
query IbanValidation($input: IbanValidationInput) {
ibanValidation(input: $input) {
... on ValidIban {
iban
accountNumber
checksum
bank {
...BankFragment
}
reachability {
...ReachabilityFragment
}
}
... on InvalidIban {
iban
code
message
}
}
}
Variables
{"input": IbanValidationInput}
Response
{"data": {"ibanValidation": ValidIban}}
internationalBeneficiaryDynamicForms
Description
Returns an international beneficiary dynamic forms.
Response
Returns an
InternationalBeneficiaryDynamicForms
Arguments
Name | Description |
---|---|
amount -
AmountInput!
|
|
language -
InternationalCreditTransferDisplayLanguage
|
|
dynamicFields -
[InternationalBeneficiaryDetails!]
|
Example
Query
query InternationalBeneficiaryDynamicForms(
$amount: AmountInput!,
$language: InternationalCreditTransferDisplayLanguage,
$dynamicFields: [InternationalBeneficiaryDetails!]
) {
internationalBeneficiaryDynamicForms(
amount: $amount,
language: $language,
dynamicFields: $dynamicFields
) {
schemes {
fields {
...FieldFragment
}
title
type
remainingFieldsToRefreshCount
}
}
}
Variables
{
"amount": AmountInput,
"language": "EN",
"dynamicFields": [InternationalBeneficiaryDetails]
}
Response
{
"data": {
"internationalBeneficiaryDynamicForms": {
"schemes": [Scheme]
}
}
}
internationalCreditTransferQuote
Description
Request an international credit transfer quote.
Response
Returns an
InternationalCreditTransferQuote
Arguments
Name | Description |
---|---|
targetAmount -
AmountInput!
|
Example
Query
query InternationalCreditTransferQuote($targetAmount: AmountInput!) {
internationalCreditTransferQuote(targetAmount: $targetAmount) {
exchangeRate
sourceAmount {
currency
value
}
targetAmount {
currency
value
}
feesAmount {
currency
value
}
}
}
Variables
{"targetAmount": AmountInput}
Response
{
"data": {
"internationalCreditTransferQuote": {
"exchangeRate": "xyz789",
"sourceAmount": Amount,
"targetAmount": Amount,
"feesAmount": Amount
}
}
}
internationalCreditTransferTransactionDetailsDynamicForm
Description
Returns an international credit transfer dynamic form.
Response
Returns an
InternationalCreditTransferDynamicForm
Arguments
Name | Description |
---|---|
targetAmount -
AmountInput!
|
|
language -
InternationalCreditTransferDisplayLanguage
|
|
internationalBeneficiary -
InternationalBeneficiary!
|
|
refreshableFields -
[InternationalCreditTransferDetails!]
|
Example
Query
query InternationalCreditTransferTransactionDetailsDynamicForm(
$targetAmount: AmountInput!,
$language: InternationalCreditTransferDisplayLanguage,
$internationalBeneficiary: InternationalBeneficiary!,
$refreshableFields: [InternationalCreditTransferDetails!]
) {
internationalCreditTransferTransactionDetailsDynamicForm(
targetAmount: $targetAmount,
language: $language,
internationalBeneficiary: $internationalBeneficiary,
refreshableFields: $refreshableFields
) {
fields {
key
name
required
}
remainingFieldsToRefreshCount
}
}
Variables
{
"targetAmount": AmountInput,
"language": "EN",
"internationalBeneficiary": InternationalBeneficiary,
"refreshableFields": [
InternationalCreditTransferDetails
]
}
Response
{
"data": {
"internationalCreditTransferTransactionDetailsDynamicForm": {
"fields": [Field],
"remainingFieldsToRefreshCount": 123
}
}
}
merchantProfile
Description
Returns a merchant profile by id.
Response
Returns a
MerchantProfile
Arguments
Name | Description |
---|---|
id -
ID!
|
Example
Query
query MerchantProfile($id: ID!) {
merchantProfile(id: $id) {
id
accountId
merchantName
merchantWebsite
merchantLogoUrl
statusInfo {
status
}
productType
expectedMonthlyPaymentVolume {
currency
value
}
merchantPaymentMethods {
id
type
productId
methodId
statusInfo {
...MerchantPaymentMethodStatusInfoFragment
}
version
updatedAt
rollingReserve {
...RollingReserveFragment
}
}
requestedMerchantProfileUpdates {
id
merchantProfileId
merchantName
merchantWebsite
merchantLogoUrl
status
productType
expectedMonthlyPaymentVolume {
...AmountFragment
}
expectedAverageBasket {
...AmountFragment
}
createdAt
updatedAt
}
expectedAverageBasket {
currency
value
}
createdAt
updatedAt
}
}
Variables
{"id": "4"}
Response
{
"data": {
"merchantProfile": {
"id": "4",
"accountId": "4",
"merchantName": "xyz789",
"merchantWebsite": "abc123",
"merchantLogoUrl": "xyz789",
"statusInfo": MerchantProfileStatusInfo,
"productType": "Goods",
"expectedMonthlyPaymentVolume": Amount,
"merchantPaymentMethods": [MerchantPaymentMethod],
"requestedMerchantProfileUpdates": [
RequestMerchantProfileUpdate
],
"expectedAverageBasket": Amount,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
onboarding
Description
Returns an onboarding from its id.
This query is restricted to a Project access token ( Learn More)
Response
Returns an
Onboarding!
Arguments
Name | Description |
---|---|
id -
ID!
|
Example
Query
query Onboarding($id: ID!) {
onboarding(id: $id) {
id
accountName
accountCountry
createdAt
email
finalizedAt
language
info {
type
}
accountHolder {
id
verificationStatus
info {
...AccountHolderInfoFragment
}
statusInfo {
...AccountHolderStatusInfoFragment
}
residencyAddress {
...AddressInfoFragment
}
createdDate
updatedDate
accounts {
...AccountConnectionFragment
}
supportingDocumentCollections {
...SupportingDocumentCollectionConnectionFragment
}
fundingLimitSettingsChangeRequests {
...FundingLimitSettingsChangeRequestConnectionFragment
}
onboarding {
...OnboardingFragment
}
externalAccounts {
...ExternalAccountConnectionFragment
}
paymentMandates {
...PaymentMandateConnectionFragment
}
fundingLimitSettings {
...FundingLimitSettingsFragment
}
}
onboardingUrl
onboardingState
redirectUrl
oAuthRedirectParameters {
state
redirectUrl
}
statusInfo {
status
}
tcuUrl
supportingDocumentCollection {
id
statusInfo {
...SupportingDocumentCollectionStatusInfoFragment
}
createdAt
updatedAt
supportingDocuments {
...SupportingDocumentFragment
}
requiredSupportingDocumentPurposes {
...SupportingDocumentPurposeFragment
}
}
updatedAt
account {
id
number
name
holder {
...AccountHolderFragment
}
cashAccountType
country
paymentLevel
BIC
IBAN
currency
blockSDD
statusInfo {
...AccountStatusInfoFragment
}
partnershipStatusInfo {
...PartnershipStatusInfoFragment
}
createdAt
updatedAt
virtualIbanEntries {
...VirtualIBANEntryConnectionFragment
}
memberships {
...AccountMembershipConnectionFragment
}
requiredConsentToFetchNewTransactions
language
legalRepresentativeMembership {
...AccountMembershipFragment
}
paymentAccountType
upgradedAt
bankDetails
legalDocuments {
...LegalDocumentConnectionFragment
}
balances {
...AccountBalancesFragment
}
statements {
...StatementConnectionFragment
}
transactions {
...TransactionConnectionFragment
}
invoices {
...InvoiceConnectionFragment
}
receivedDirectDebitMandates {
...ReceivedDirectDebitMandateConnectionFragment
}
standingOrders {
...StandingOrderConnectionFragment
}
fundingSources {
...FundingSourceConnectionFragment
}
merchantProfiles {
...MerchantProfileConnectionFragment
}
}
legalRepresentativeAcceptedIdentificationLevels
legalRepresentativeRecommendedIdentificationLevel
}
}
Variables
{"id": "4"}
Response
{
"data": {
"onboarding": {
"id": "abc123",
"accountName": "abc123",
"accountCountry": "FRA",
"createdAt": "2007-12-03T10:15:30Z",
"email": "abc123",
"finalizedAt": "2007-12-03T10:15:30Z",
"language": "xyz789",
"info": OnboardingAccountHolderInfo,
"accountHolder": AccountHolder,
"onboardingUrl": "xyz789",
"onboardingState": "Ongoing",
"redirectUrl": "abc123",
"oAuthRedirectParameters": OAuthRedirectParameters,
"statusInfo": OnboardingStatusInfo,
"tcuUrl": "abc123",
"supportingDocumentCollection": SupportingDocumentCollection,
"updatedAt": "2007-12-03T10:15:30Z",
"account": Account,
"legalRepresentativeAcceptedIdentificationLevels": ["Expert"],
"legalRepresentativeRecommendedIdentificationLevel": "Expert"
}
}
}
onboardings
Description
Returns the list of onboardings.
This query is restricted to a Project access token ( Learn More)
Response
Returns an
OnboardingConnection!
Arguments
Name | Description |
---|---|
first -
Int!
|
Default = 50 |
before -
String
|
|
after -
String
|
|
filters -
OnboardingFiltersInput
|
|
orderBy -
OnboardingOrderByInput
|
Example
Query
query Onboardings(
$first: Int!,
$before: String,
$after: String,
$filters: OnboardingFiltersInput,
$orderBy: OnboardingOrderByInput
) {
onboardings(
first: $first,
before: $before,
after: $after,
filters: $filters,
orderBy: $orderBy
) {
totalCount
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
...OnboardingFragment
}
}
}
}
Variables
{
"first": 50,
"before": "abc123",
"after": "xyz789",
"filters": OnboardingFiltersInput,
"orderBy": OnboardingOrderByInput
}
Response
{
"data": {
"onboardings": {
"totalCount": 123,
"pageInfo": PageInfo,
"edges": [OnboardingEdge]
}
}
}
payment
Description
Returns a payment from its id.
Example
Query
query Payment($id: ID!) {
payment(id: $id) {
id
createdAt
updatedAt
statusInfo {
status
}
transactions {
pageInfo {
...PageInfoFragment
}
totalCount
edges {
...TransactionEdgeFragment
}
}
standingOrder {
id
payments {
...PaymentConnectionFragment
}
reference
label
amount {
...AmountFragment
}
targetAvailableBalance {
...AmountFragment
}
period
firstExecutionDate
lastExecutionDate
sepaBeneficiary {
...SEPABeneficiaryFragment
}
statusInfo {
...StandingOrderStatusInfoFragment
}
createdAt
updatedAt
account {
...AccountFragment
}
createdBy {
...UserFragment
}
nextExecutionDate
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"payment": {
"id": 4,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"statusInfo": PaymentStatusInfo,
"transactions": TransactionConnection,
"standingOrder": StandingOrder
}
}
}
payments
Description
Returns the list of payments.
For a Project access token, this is all the payments of the project and for an User access token, these are the payments initiated by the user
Response
Returns a
PaymentConnection!
Arguments
Name | Description |
---|---|
first -
Int!
|
number of elements in the list (default value 50). Default = 50 |
after -
String
|
When the list of elements needs to start after a element |
before -
String
|
When the list of elements needs to end before a element |
orderBy -
PaymentOrderByInput
|
When the list of elements needs to be ordered |
filters -
PaymentFiltersInput
|
When the list of elements needs to be filtered |
Example
Query
query Payments(
$first: Int!,
$after: String,
$before: String,
$orderBy: PaymentOrderByInput,
$filters: PaymentFiltersInput
) {
payments(
first: $first,
after: $after,
before: $before,
orderBy: $orderBy,
filters: $filters
) {
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
node {
...PaymentFragment
}
cursor
}
totalCount
}
}
Variables
{
"first": 50,
"after": "abc123",
"before": "abc123",
"orderBy": PaymentOrderByInput,
"filters": PaymentFiltersInput
}
Response
{
"data": {
"payments": {
"pageInfo": PageInfo,
"edges": [PaymentEdge],
"totalCount": 123
}
}
}
projectInfo
Description
Returns the project infos you set in the dashboard.
Response
Returns a
ProjectInfo!
Example
Query
query ProjectInfo {
projectInfo {
cardProducts {
id
name
projectId
status
createdAt
updatedAt
applicableToPhysicalCards
cardDesigns {
...CardProductDesignFragment
}
defaultCardProduct
individualSpendingLimit {
...SpendingLimitFragment
}
companySpendingLimit {
...SpendingLimitFragment
}
}
activeCardSettings {
id
allowsApplePay
version
cardProjectLogoSvgUrl
cardProjectLogo300dpiUrl
cardProjectLogo600dpiUrl
zoomRatioProjectLogo
cardDesignUrl
accentColor
createdAt
updatedAt
status
cardBackground {
...CardSettingsBackgroundFragment
}
}
id
B2BMembershipIDVerification
amlRiskLevel
supportingDocumentSettings {
collectMode
communicationLanguage
emailContact
}
name
type
logoUri
accentColor
customConsentSubdomain
oAuthClientId
tcuDocumentUri
tcuDocumentId
webBankingSettings {
canViewAccountDetails
canViewAccountStatement
canManageVirtualIbans
canInitiatePaymentsToNewBeneficiaries
canViewPaymentList
canOrderVirtualCards
canOrderPhysicalCards
canViewMembers
canAddNewMembers
}
status
allowsDesktopAuthentication
}
}
Response
{
"data": {
"projectInfo": {
"cardProducts": [CardProduct],
"activeCardSettings": CardSettings,
"id": 4,
"B2BMembershipIDVerification": false,
"amlRiskLevel": "Low",
"supportingDocumentSettings": SupportingDocumentSettings,
"name": "xyz789",
"type": "INDIVIDUAL",
"logoUri": "xyz789",
"accentColor": "xyz789",
"customConsentSubdomain": "xyz789",
"oAuthClientId": "abc123",
"tcuDocumentUri": "xyz789",
"tcuDocumentId": "abc123",
"webBankingSettings": WebBankingSettings,
"status": "Initiated",
"allowsDesktopAuthentication": false
}
}
}
receivedDirectDebitMandate
Description
Returns a received direct debit mandate from its id.
Response
Returns a
ReceivedDirectDebitMandate
Arguments
Name | Description |
---|---|
receivedDirectDebitMandateId -
ID!
|
Example
Query
query ReceivedDirectDebitMandate($receivedDirectDebitMandateId: ID!) {
receivedDirectDebitMandate(receivedDirectDebitMandateId: $receivedDirectDebitMandateId) {
id
version
createdAt
updatedAt
signatureDate
executedAt
expiredAt
statusInfo {
status
}
name
}
}
Variables
{"receivedDirectDebitMandateId": "4"}
Response
{
"data": {
"receivedDirectDebitMandate": {
"id": "4",
"version": "abc123",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"signatureDate": "2007-12-03",
"executedAt": "2007-12-03T10:15:30Z",
"expiredAt": "2007-12-03",
"statusInfo": ReceivedDirectDebitMandateStatusInfo,
"name": "xyz789"
}
}
}
standingOrder
Description
Returns standing order from its id.
Response
Returns a
StandingOrder
Arguments
Name | Description |
---|---|
standingOrderId -
ID!
|
Example
Query
query StandingOrder($standingOrderId: ID!) {
standingOrder(standingOrderId: $standingOrderId) {
id
payments {
pageInfo {
...PageInfoFragment
}
edges {
...PaymentEdgeFragment
}
totalCount
}
reference
label
amount {
currency
value
}
targetAvailableBalance {
currency
value
}
period
firstExecutionDate
lastExecutionDate
sepaBeneficiary {
id
name
isMyOwnIban
address {
...AddressFragment
}
maskedIBAN
}
statusInfo {
status
}
createdAt
updatedAt
account {
id
number
name
holder {
...AccountHolderFragment
}
cashAccountType
country
paymentLevel
BIC
IBAN
currency
blockSDD
statusInfo {
...AccountStatusInfoFragment
}
partnershipStatusInfo {
...PartnershipStatusInfoFragment
}
createdAt
updatedAt
virtualIbanEntries {
...VirtualIBANEntryConnectionFragment
}
memberships {
...AccountMembershipConnectionFragment
}
requiredConsentToFetchNewTransactions
language
legalRepresentativeMembership {
...AccountMembershipFragment
}
paymentAccountType
upgradedAt
bankDetails
legalDocuments {
...LegalDocumentConnectionFragment
}
balances {
...AccountBalancesFragment
}
statements {
...StatementConnectionFragment
}
transactions {
...TransactionConnectionFragment
}
invoices {
...InvoiceConnectionFragment
}
receivedDirectDebitMandates {
...ReceivedDirectDebitMandateConnectionFragment
}
standingOrders {
...StandingOrderConnectionFragment
}
fundingSources {
...FundingSourceConnectionFragment
}
merchantProfiles {
...MerchantProfileConnectionFragment
}
}
createdBy {
id
accountMemberships {
...AccountMembershipConnectionFragment
}
mobilePhoneNumber
firstName
lastName
allFirstNames
birthDate
nationalityCCA3
idVerified
authenticators {
...AuthenticatorFragment
}
identificationStatus
identificationLevels {
...IdentificationLevelsFragment
}
preferredNotificationChannel
createdAt
updatedAt
joinedAt
identifications {
...IdentificationConnectionFragment
}
}
nextExecutionDate
}
}
Variables
{"standingOrderId": "4"}
Response
{
"data": {
"standingOrder": {
"id": 4,
"payments": PaymentConnection,
"reference": "xyz789",
"label": "abc123",
"amount": Amount,
"targetAvailableBalance": Amount,
"period": "Daily",
"firstExecutionDate": "2007-12-03T10:15:30Z",
"lastExecutionDate": "2007-12-03T10:15:30Z",
"sepaBeneficiary": SEPABeneficiary,
"statusInfo": StandingOrderStatusInfo,
"createdAt": "2007-12-03",
"updatedAt": "2007-12-03",
"account": Account,
"createdBy": User,
"nextExecutionDate": "2007-12-03"
}
}
}
transaction
Description
Returns a transaction from its id.
This query is restricted to a Project access token ( Learn More)
Response
Returns a
Transaction!
Arguments
Name | Description |
---|---|
id -
ID!
|
Example
Query
query Transaction($id: ID!) {
transaction(id: $id) {
id
reference
paymentMethodIdentifier
side
type
amount {
currency
value
}
label
statusInfo {
status
}
paymentId
payment {
id
createdAt
updatedAt
statusInfo {
...PaymentStatusInfoFragment
}
transactions {
...TransactionConnectionFragment
}
standingOrder {
...StandingOrderFragment
}
}
createdAt
updatedAt
counterparty
bookedBalanceAfter {
currency
value
}
paymentProduct
account {
id
number
name
holder {
...AccountHolderFragment
}
cashAccountType
country
paymentLevel
BIC
IBAN
currency
blockSDD
statusInfo {
...AccountStatusInfoFragment
}
partnershipStatusInfo {
...PartnershipStatusInfoFragment
}
createdAt
updatedAt
virtualIbanEntries {
...VirtualIBANEntryConnectionFragment
}
memberships {
...AccountMembershipConnectionFragment
}
requiredConsentToFetchNewTransactions
language
legalRepresentativeMembership {
...AccountMembershipFragment
}
paymentAccountType
upgradedAt
bankDetails
legalDocuments {
...LegalDocumentConnectionFragment
}
balances {
...AccountBalancesFragment
}
statements {
...StatementConnectionFragment
}
transactions {
...TransactionConnectionFragment
}
invoices {
...InvoiceConnectionFragment
}
receivedDirectDebitMandates {
...ReceivedDirectDebitMandateConnectionFragment
}
standingOrders {
...StandingOrderConnectionFragment
}
fundingSources {
...FundingSourceConnectionFragment
}
merchantProfiles {
...MerchantProfileConnectionFragment
}
}
externalReference
executionDate
requestedExecutionAt
originTransactionId
originTransaction {
id
reference
paymentMethodIdentifier
side
type
amount {
...AmountFragment
}
label
statusInfo {
...TransactionStatusInfoFragment
}
paymentId
payment {
...PaymentFragment
}
createdAt
updatedAt
counterparty
bookedBalanceAfter {
...AmountFragment
}
paymentProduct
account {
...AccountFragment
}
externalReference
executionDate
requestedExecutionAt
originTransactionId
originTransaction {
...TransactionFragment
}
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"transaction": {
"id": 4,
"reference": "xyz789",
"paymentMethodIdentifier": "abc123",
"side": "Debit",
"type": "InternalCreditTransferOut",
"amount": Amount,
"label": "abc123",
"statusInfo": TransactionStatusInfo,
"paymentId": "abc123",
"payment": Payment,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"counterparty": "abc123",
"bookedBalanceAfter": Amount,
"paymentProduct": "InternalCreditTransfer",
"account": Account,
"externalReference": "abc123",
"executionDate": "2007-12-03T10:15:30Z",
"requestedExecutionAt": "2007-12-03T10:15:30Z",
"originTransactionId": "abc123",
"originTransaction": Transaction
}
}
}
transactions
Description
A list of transactions of a project.
For a Project access token, this is all the transactions of the project (only available with project access token)
Response
Returns a
TransactionConnection!
Arguments
Name | Description |
---|---|
after -
String
|
When the list of elements needs to start after a element |
filters -
TransactionsFiltersInput
|
When the list of elements needs to be filtered |
first -
Int!
|
number of elements in the list (default value 50). Default = 50 |
orderBy -
TransactionsOrderByInput
|
When the list of elements needs to be sorted (default value UpdatedAt desc) |
Example
Query
query Transactions(
$after: String,
$filters: TransactionsFiltersInput,
$first: Int!,
$orderBy: TransactionsOrderByInput
) {
transactions(
after: $after,
filters: $filters,
first: $first,
orderBy: $orderBy
) {
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount
edges {
node {
...TransactionFragment
}
cursor
}
}
}
Variables
{
"after": "xyz789",
"filters": TransactionsFiltersInput,
"first": 50,
"orderBy": TransactionsOrderByInput
}
Response
{
"data": {
"transactions": {
"pageInfo": PageInfo,
"totalCount": 987,
"edges": [TransactionEdge]
}
}
}
user
Description
Returns a User
For a Project access token : it requires a user id and returns the user for the given id For a User access token : returns the signed-in user and all of their data at Swan
Example
Query
query User($id: String) {
user(id: $id) {
id
accountMemberships {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...AccountMembershipEdgeFragment
}
}
mobilePhoneNumber
firstName
lastName
allFirstNames
birthDate
nationalityCCA3
idVerified
authenticators {
os
brand
model
type
userAgent
acceptLanguage
}
identificationStatus
identificationLevels {
PVID
QES
expert
}
preferredNotificationChannel
createdAt
updatedAt
joinedAt
identifications {
totalCount
pageInfo {
...PageInfoFragment
}
edges {
...IdentificationEdgeFragment
}
}
}
}
Variables
{"id": "abc123"}
Response
{
"data": {
"user": {
"id": 4,
"accountMemberships": AccountMembershipConnection,
"mobilePhoneNumber": "+17895551234",
"firstName": "abc123",
"lastName": "xyz789",
"allFirstNames": ["abc123"],
"birthDate": "2007-12-03",
"nationalityCCA3": CCA3,
"idVerified": false,
"authenticators": [Authenticator],
"identificationStatus": "Uninitiated",
"identificationLevels": IdentificationLevels,
"preferredNotificationChannel": "Sms",
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"joinedAt": "2007-12-03T10:15:30Z",
"identifications": IdentificationConnection
}
}
}
users
Description
Returns the list of user that joined the project The search field allows to search in : id, phonNumber, firstName, allFirstNames, lastName
This query is restricted to a Project access token ( Learn More)
Response
Returns a
UserConnection!
Arguments
Name | Description |
---|---|
after -
String
|
|
before -
String
|
|
filters -
UserFilterInput
|
|
first -
Int!
|
Default = 50 |
search -
String
|
@deprecated(reason: "use the search field in UserFilterInput ") |
Example
Query
query Users(
$after: String,
$before: String,
$filters: UserFilterInput,
$first: Int!,
$search: String
) {
users(
after: $after,
before: $before,
filters: $filters,
first: $first,
search: $search
) {
totalCount
pageInfo {
hasNextPage
hasPreviousPage
startCursor
endCursor
}
edges {
cursor
node {
...UserFragment
}
}
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"filters": UserFilterInput,
"first": 50,
"search": "xyz789"
}
Response
{
"data": {
"users": {
"totalCount": 123,
"pageInfo": PageInfo,
"edges": [UserEdge]
}
}
}
Mutations
activatePhysicalCard
Description
Activate a Physical Card.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have the account membership for this card
Response
Returns an
ActivatePhysicalCardPayload!
Arguments
Name | Description |
---|---|
input -
ActivatePhysicalCardInput!
|
Example
Query
mutation ActivatePhysicalCard($input: ActivatePhysicalCardInput!) {
activatePhysicalCard(input: $input) {
... on ActivatePhysicalCardSuccessPayload {
consent {
...ConsentFragment
}
physicalCard {
...PhysicalCardFragment
}
}
... on BadAccountStatusRejection {
id
message
}
... on PhysicalCardNotFoundRejection {
message
identifier
}
... on PhysicalCardWrongStatusRejection {
message
identifier
currentStatus
expectedStatus
}
... on CannotActivatePhysicalCardRejection {
message
identifier
}
... on ForbiddenRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on UserNotCardHolderRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": ActivatePhysicalCardInput}
Response
{
"data": {
"activatePhysicalCard": ActivatePhysicalCardSuccessPayload
}
}
addAccountMembership
Description
Add a new account membership to an account.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns an
AddAccountMembershipPayload!
Arguments
Name | Description |
---|---|
input -
AddAccountMembershipInput!
|
Example
Query
mutation AddAccountMembership($input: AddAccountMembershipInput!) {
addAccountMembership(input: $input) {
... on AddAccountMembershipSuccessPayload {
accountMembership {
...AccountMembershipFragment
}
}
... on BadAccountStatusRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on InvalidPhoneNumberRejection {
message
}
... on PermissionCannotBeGrantedRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddAccountMembershipInput}
Response
{
"data": {
"addAccountMembership": AddAccountMembershipSuccessPayload
}
}
addAccountMemberships
Description
Add multiple new account memberships to account
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns an
AddAccountMembershipsPayload!
Arguments
Name | Description |
---|---|
input -
AddAccountMembershipsInput!
|
Example
Query
mutation AddAccountMemberships($input: AddAccountMembershipsInput!) {
addAccountMemberships(input: $input) {
... on AddAccountMembershipsSuccessPayload {
accountMemberships {
...AccountMembershipFragment
}
}
... on BadAccountStatusRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on InvalidPhoneNumberRejection {
message
}
... on PermissionCannotBeGrantedRejection {
message
}
... on TooManyItemsRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddAccountMembershipsInput}
Response
{
"data": {
"addAccountMemberships": AddAccountMembershipsSuccessPayload
}
}
addCard
Description
Add a new card to an account membership.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns an
AddCardPayload!
Arguments
Name | Description |
---|---|
input -
AddCardInput!
|
Example
Query
mutation AddCard($input: AddCardInput!) {
addCard(input: $input) {
... on AddCardSuccessPayload {
card {
...CardFragment
}
}
... on AccountMembershipNotAllowedRejection {
message
}
... on BadAccountStatusRejection {
id
message
}
... on CardProductDisabledRejection {
message
}
... on CardProductSuspendedRejection {
message
}
... on EnabledCardDesignNotFoundRejection {
message
}
... on ForbiddenRejection {
message
}
... on MissingMandatoryFieldRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddCardInput}
Response
{"data": {"addCard": AddCardSuccessPayload}}
addCards
Description
Add several cards
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns an
AddCardsPayload!
Arguments
Name | Description |
---|---|
input -
AddCardsInput!
|
Example
Query
mutation AddCards($input: AddCardsInput!) {
addCards(input: $input) {
... on AddCardsSuccessPayload {
cards {
...CardFragment
}
}
... on AddingCardsToDifferentAccountsRejection {
message
}
... on BadAccountStatusRejection {
id
message
}
... on TooManyItemsRejection {
message
}
... on AccountMembershipNotAllowedRejection {
message
}
... on CardProductSuspendedRejection {
message
}
... on CardProductNotApplicableToPhysicalCardsRejection {
message
}
... on CardProductDisabledRejection {
message
}
... on EnabledCardDesignNotFoundRejection {
message
}
... on MissingMandatoryFieldRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddCardsInput}
Response
{"data": {"addCards": AddCardsSuccessPayload}}
addCardsWithGroupDelivery
Description
Add several cards with Group Delivery
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns an
AddCardsWithGroupDeliveryPayload!
Arguments
Name | Description |
---|---|
input -
AddCardsWithGroupDeliveryInput!
|
Example
Query
mutation AddCardsWithGroupDelivery($input: AddCardsWithGroupDeliveryInput!) {
addCardsWithGroupDelivery(input: $input) {
... on AddCardsWithGroupDeliverySuccessPayload {
cards {
...CardFragment
}
}
... on AddingCardsToDifferentAccountsRejection {
message
}
... on BadAccountStatusRejection {
id
message
}
... on TooManyItemsRejection {
message
}
... on AccountMembershipNotAllowedRejection {
message
}
... on CardProductSuspendedRejection {
message
}
... on CardProductNotApplicableToPhysicalCardsRejection {
message
}
... on CardProductDisabledRejection {
message
}
... on EnabledCardDesignNotFoundRejection {
message
}
... on MissingMandatoryFieldRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddCardsWithGroupDeliveryInput}
Response
{
"data": {
"addCardsWithGroupDelivery": AddCardsWithGroupDeliverySuccessPayload
}
}
addDigitalCard
Description
Add a Digital Card to push to ApplePay or GooglePay
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must be the card holder
A digital card will only be valid for 1 hour after consent validation
Response
Returns an
AddDigitalCardPayload!
Arguments
Name | Description |
---|---|
input -
AddDigitalCardInput
|
Example
Query
mutation AddDigitalCard($input: AddDigitalCardInput) {
addDigitalCard(input: $input) {
... on AddDigitalCardSuccessPayload {
digitalCard {
...PendingDigitalCardFragment
}
}
... on CardNotFoundRejection {
id
message
}
... on CardCanNotBeDigitalizedRejection {
id
message
}
... on ApplePayNotAllowedForProjectRejection {
id
message
}
... on BadAccountStatusRejection {
id
message
}
... on AccountMembershipNotAllowedRejection {
message
}
... on UserNotCardHolderRejection {
message
}
... on CardProductDisabledRejection {
message
}
... on EnabledCardDesignNotFoundRejection {
message
}
... on MissingMandatoryFieldRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddDigitalCardInput}
Response
{"data": {"addDigitalCard": AddDigitalCardSuccessPayload}}
addDirectDebitFundingSource
Description
Add a funding source to an account
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns an
AddDirectDebitFundingSourcePayload
Arguments
Name | Description |
---|---|
input -
AddDirectDebitFundingSourceInput!
|
Example
Query
mutation AddDirectDebitFundingSource($input: AddDirectDebitFundingSourceInput!) {
addDirectDebitFundingSource(input: $input) {
... on AddDirectDebitFundingSourceSuccessPayload {
fundingSource {
...FundingSourceFragment
}
}
... on ForbiddenRejection {
message
}
... on NotFoundRejection {
id
message
}
... on AccountVerificationAlreadyRejectedRejection {
message
}
... on IBANNotReachableRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddDirectDebitFundingSourceInput}
Response
{
"data": {
"addDirectDebitFundingSource": AddDirectDebitFundingSourceSuccessPayload
}
}
addExternalAccount
Description
Add an external account to an account holder.
This mutation is restricted to a Project access token ( Learn More).
Response
Returns an
AddExternalAccountPayload!
Arguments
Name | Description |
---|---|
input -
AddExternalAccountInput!
|
Example
Query
mutation AddExternalAccount($input: AddExternalAccountInput!) {
addExternalAccount(input: $input) {
... on AddExternalAccountSuccessPayload {
externalAccount {
...ExternalAccountFragment
}
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
... on IbanValidationRejection {
message
}
... on ExternalAccountAlreadyExistsRejection {
iban
accountHolderId
message
}
... on ForbiddenRejection {
message
}
}
}
Variables
{"input": AddExternalAccountInput}
Response
{
"data": {
"addExternalAccount": AddExternalAccountSuccessPayload
}
}
addExternalAccountBalance
AddOrUpdateExternalAccountBalance
instead Description
Add an external balance to an external account.
This mutation is restricted to a Project access token ( Learn More).
Response
Returns an
AddExternalAccountBalancePayload!
Arguments
Name | Description |
---|---|
input -
AddExternalAccountBalanceInput!
|
Example
Query
mutation AddExternalAccountBalance($input: AddExternalAccountBalanceInput!) {
addExternalAccountBalance(input: $input) {
... on AddExternalAccountBalanceSuccessPayload {
externalAccountBalance {
...ExternalAccountBalanceFragment
}
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
... on ExternalAccountBalanceAlreadyExistsRejection {
type
lastChangedAt
message
}
... on ForbiddenRejection {
message
}
}
}
Variables
{"input": AddExternalAccountBalanceInput}
Response
{
"data": {
"addExternalAccountBalance": AddExternalAccountBalanceSuccessPayload
}
}
addFundingLimitSettingsChangeRequest
Description
COMING SOON Add a new request for funding limit settings change.
This mutation is restricted to a Project access token ( Learn More).
Response
Returns an
AddFundingLimitSettingsChangeRequestPayload!
Arguments
Name | Description |
---|---|
input -
AddFundingLimitSettingsChangeRequestInput!
|
Example
Query
mutation AddFundingLimitSettingsChangeRequest($input: AddFundingLimitSettingsChangeRequestInput!) {
addFundingLimitSettingsChangeRequest(input: $input) {
... on AddFundingLimitSettingsChangeRequestSuccessPayload {
fundingLimitSettingsChangeRequest {
...FundingLimitSettingsChangeRequestFragment
}
}
... on FundingLimitSettingsChangeRequestBadAmountRejection {
message
}
... on AccountHolderNotFoundRejection {
message
}
... on ForbiddenRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddFundingLimitSettingsChangeRequestInput}
Response
{
"data": {
"addFundingLimitSettingsChangeRequest": AddFundingLimitSettingsChangeRequestSuccessPayload
}
}
addInternalDirectDebitPaymentMandate
Description
Allows to add an internal direct debit payment mandate.
Response
Returns an
AddInternalDirectDebitPaymentMandatePayload!
Arguments
Name | Description |
---|---|
input -
AddInternalDirectDebitPaymentMandateInput!
|
Example
Query
mutation AddInternalDirectDebitPaymentMandate($input: AddInternalDirectDebitPaymentMandateInput!) {
addInternalDirectDebitPaymentMandate(input: $input) {
... on AddInternalDirectDebitPaymentMandateSuccessPayload {
paymentMandate {
...InternalPaymentDirectDebitMandateFragment
}
}
... on ForbiddenRejection {
message
}
... on NotFoundRejection {
id
message
}
... on DebtorAccountNotAllowedRejection {
message
}
... on DebtorAccountClosedRejection {
message
}
... on SchemeWrongRejection {
message
}
... on PaymentMandateReferenceAlreadyUsedRejection {
message
}
... on InternalErrorRejection {
message
}
}
}
Variables
{"input": AddInternalDirectDebitPaymentMandateInput}
Response
{
"data": {
"addInternalDirectDebitPaymentMandate": AddInternalDirectDebitPaymentMandateSuccessPayload
}
}
addMerchantProfile
Description
Add a merchant profile to a company account holder
Response
Returns an
AddMerchantProfilePayload
Arguments
Name | Description |
---|---|
input -
AddMerchantProfileInput!
|
Example
Query
mutation AddMerchantProfile($input: AddMerchantProfileInput!) {
addMerchantProfile(input: $input) {
... on AddMerchantProfileSuccessPayload {
merchantProfile {
...MerchantProfileFragment
}
}
... on ForbiddenRejection {
message
}
... on AccountNotFoundRejection {
id
message
}
... on InternalErrorRejection {
message
}
}
}
Variables
{"input": AddMerchantProfileInput}
Response
{
"data": {
"addMerchantProfile": AddMerchantProfileSuccessPayload
}
}
addOrUpdateExternalAccountBalance
Description
Add an external balance to an external account. If a balance already exist for the day, the balance amount will be updated.
This mutation is restricted to a Project access token ( Learn More).
Response
Returns an
AddOrUpdateExternalAccountBalancePayload!
Arguments
Name | Description |
---|---|
input -
AddOrUpdateExternalAccountBalanceInput!
|
Example
Query
mutation AddOrUpdateExternalAccountBalance($input: AddOrUpdateExternalAccountBalanceInput!) {
addOrUpdateExternalAccountBalance(input: $input) {
... on AddOrUpdateExternalAccountBalanceSuccessPayload {
externalAccountBalance {
...ExternalAccountBalanceFragment
}
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
... on ForbiddenRejection {
message
}
}
}
Variables
{"input": AddOrUpdateExternalAccountBalanceInput}
Response
{
"data": {
"addOrUpdateExternalAccountBalance": AddOrUpdateExternalAccountBalanceSuccessPayload
}
}
addReceivedInternalDirectDebitB2bMandate
Description
Allows to add a received internal direct debit mandate B2b.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request with the Swan app.
The user must be able to initiate payments for this account.
Response
Arguments
Name | Description |
---|---|
input -
AddReceivedInternalDirectDebitB2bMandateInput!
|
Example
Query
mutation AddReceivedInternalDirectDebitB2bMandate($input: AddReceivedInternalDirectDebitB2bMandateInput!) {
addReceivedInternalDirectDebitB2bMandate(input: $input) {
... on AddReceivedInternalDirectDebitB2bMandateSuccessPayload {
receivedDirectDebitMandate {
...ReceivedDirectDebitMandateFragment
}
}
... on ForbiddenRejection {
message
}
... on PaymentMandateMandateNotFoundRejection {
id
message
}
... on AccountHolderTypeIndividualRejection {
message
}
}
}
Variables
{"input": AddReceivedInternalDirectDebitB2bMandateInput}
Response
{
"data": {
"addReceivedInternalDirectDebitB2bMandate": AddReceivedInternalDirectDebitB2bMandateSuccessPayload
}
}
addReceivedSepaDirectDebitB2bMandate
Description
Allows to add a received sepa direct debit mandate B2b.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request with the Swan app.
The user must be able to initiate payments for this account.
Response
Returns an
AddReceivedSepaDirectDebitB2bMandatePayload!
Arguments
Name | Description |
---|---|
input -
AddReceivedSepaDirectDebitB2bMandateInput!
|
Example
Query
mutation AddReceivedSepaDirectDebitB2bMandate($input: AddReceivedSepaDirectDebitB2bMandateInput!) {
addReceivedSepaDirectDebitB2bMandate(input: $input) {
... on AddReceivedSepaDirectDebitB2bMandateSuccessPayload {
receivedDirectDebitMandate {
...ReceivedDirectDebitMandateFragment
}
}
... on ForbiddenRejection {
message
}
... on AccountNotFoundRejection {
id
message
}
... on AccountHolderTypeIndividualRejection {
message
}
}
}
Variables
{"input": AddReceivedSepaDirectDebitB2bMandateInput}
Response
{
"data": {
"addReceivedSepaDirectDebitB2bMandate": AddReceivedSepaDirectDebitB2bMandateSuccessPayload
}
}
addSepaDirectDebitPaymentMandate
Response
Returns an
AddSepaDirectDebitPaymentMandatePayload
Arguments
Name | Description |
---|---|
input -
AddSepaDirectDebitPaymentMandateInput!
|
Example
Query
mutation AddSepaDirectDebitPaymentMandate($input: AddSepaDirectDebitPaymentMandateInput!) {
addSepaDirectDebitPaymentMandate(input: $input) {
... on AddSepaDirectDebitPaymentMandateSuccessPayload {
paymentMandate {
...SEPAPaymentDirectDebitMandateFragment
}
}
... on ForbiddenRejection {
message
}
... on NotFoundRejection {
id
message
}
... on DebtorAccountNotAllowedRejection {
message
}
... on DebtorAccountClosedRejection {
message
}
... on SchemeWrongRejection {
message
}
... on PaymentMandateReferenceAlreadyUsedRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
... on PaymentMethodNotCompatibleRejection {
message
}
... on InternalErrorRejection {
message
}
}
}
Variables
{"input": AddSepaDirectDebitPaymentMandateInput}
Response
{
"data": {
"addSepaDirectDebitPaymentMandate": AddSepaDirectDebitPaymentMandateSuccessPayload
}
}
addSingleUseVirtualCard
Description
add a new Single Use Virtual Card to an account membership.
Response
Returns an
AddSingleUseVirtualCardPayload!
Arguments
Name | Description |
---|---|
input -
AddSingleUseVirtualCardInput!
|
Example
Query
mutation AddSingleUseVirtualCard($input: AddSingleUseVirtualCardInput!) {
addSingleUseVirtualCard(input: $input) {
... on AddSingleUseVirtualCardSuccessForUserPayload {
card {
...CardFragment
}
}
... on AddSingleUseVirtualCardSuccessForProjectOwnerPayload {
card {
...CardFragment
}
confidential {
...CardConfidentialFragment
}
}
... on BadAccountStatusRejection {
id
message
}
... on AccountMembershipNotAllowedRejection {
message
}
... on CardProductSuspendedRejection {
message
}
... on CardProductDisabledRejection {
message
}
... on EnabledCardDesignNotFoundRejection {
message
}
... on MissingMandatoryFieldRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddSingleUseVirtualCardInput}
Response
{
"data": {
"addSingleUseVirtualCard": AddSingleUseVirtualCardSuccessForUserPayload
}
}
addSingleUseVirtualCards
Description
Add several single-use virtual cards
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns an
AddSingleUseVirtualCardsPayload!
Arguments
Name | Description |
---|---|
input -
AddSingleUseVirtualCardsInput!
|
Example
Query
mutation AddSingleUseVirtualCards($input: AddSingleUseVirtualCardsInput!) {
addSingleUseVirtualCards(input: $input) {
... on AddSingleUseVirtualCardsSuccessPayload {
cards {
...CardFragment
}
}
... on AddingCardsToDifferentAccountsRejection {
message
}
... on TooManyItemsRejection {
message
}
... on BadAccountStatusRejection {
id
message
}
... on AccountMembershipNotAllowedRejection {
message
}
... on CardProductSuspendedRejection {
message
}
... on CardProductDisabledRejection {
message
}
... on EnabledCardDesignNotFoundRejection {
message
}
... on MissingMandatoryFieldRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddSingleUseVirtualCardsInput}
Response
{
"data": {
"addSingleUseVirtualCards": AddSingleUseVirtualCardsSuccessPayload
}
}
addVirtualIbanEntry
Description
Add a new Virtual IBAN.
Response
Returns an
AddVirtualIbanEntryPayload
Arguments
Name | Description |
---|---|
input -
AddVirtualIbanInput
|
Example
Query
mutation AddVirtualIbanEntry($input: AddVirtualIbanInput) {
addVirtualIbanEntry(input: $input) {
... on AddVirtualIbanEntrySuccessPayload {
virtualIbanEntry {
...VirtualIBANEntryFragment
}
}
... on AccountNotFoundRejection {
id
message
}
... on BadAccountStatusRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AddVirtualIbanInput}
Response
{
"data": {
"addVirtualIbanEntry": AddVirtualIbanEntrySuccessPayload
}
}
allowSdd
Description
Allows to receive Sepa Direct Debit on an account.
Response
Returns an
AllowSddPayload!
Arguments
Name | Description |
---|---|
input -
AllowSddInput!
|
Example
Query
mutation AllowSdd($input: AllowSddInput!) {
allowSdd(input: $input) {
... on AllowSddSuccessPayload {
account {
...AccountFragment
}
}
... on AccountNotFoundRejection {
id
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AllowSddInput}
Response
{"data": {"allowSdd": AllowSddSuccessPayload}}
allowSddVirtualIbanEntry
Description
Allows to receive Sepa Direct Debit on a Virtual IBAN.
Response
Returns an
AllowSddVirtualIbanEntryPayload!
Arguments
Name | Description |
---|---|
input -
AllowSddVirtualIbanEntryInput!
|
Example
Query
mutation AllowSddVirtualIbanEntry($input: AllowSddVirtualIbanEntryInput!) {
allowSddVirtualIbanEntry(input: $input) {
... on AllowSddVirtualIbanEntrySuccessPayload {
virtualIbanEntry {
...VirtualIBANEntryFragment
}
}
... on BadAccountStatusRejection {
id
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": AllowSddVirtualIbanEntryInput}
Response
{
"data": {
"allowSddVirtualIbanEntry": AllowSddVirtualIbanEntrySuccessPayload
}
}
bindAccountMembership
Description
Bind a user to an account membership
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
Response
Returns a
BindAccountMembershipPayload!
Arguments
Name | Description |
---|---|
input -
BindAccountMembershipInput!
|
Example
Query
mutation BindAccountMembership($input: BindAccountMembershipInput!) {
bindAccountMembership(input: $input) {
... on BindAccountMembershipSuccessPayload {
accountMembership {
...AccountMembershipFragment
}
}
... on BadAccountStatusRejection {
id
message
}
... on AccountMembershipNotFoundRejection {
id
message
}
... on AccountMembershipNotReadyToBeBoundRejection {
id
message
}
... on IdentityAlreadyBindToAccountMembershipRejection {
accountId
identityId
message
}
... on RestrictedToUserRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": BindAccountMembershipInput}
Response
{
"data": {
"bindAccountMembership": BindAccountMembershipSuccessPayload
}
}
cancelCard
Description
Cancel a Card
Response
Returns a
CancelCardPayload!
Arguments
Name | Description |
---|---|
input -
CancelCardInput
|
Example
Query
mutation CancelCard($input: CancelCardInput) {
cancelCard(input: $input) {
... on CancelCardSuccessPayload {
card {
...CardFragment
}
}
... on AccountMembershipNotAllowedRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": CancelCardInput}
Response
{"data": {"cancelCard": CancelCardSuccessPayload}}
cancelConsent
Description
Cancels a consent.
Response
Returns a
CancelConsentPayload!
Arguments
Name | Description |
---|---|
input -
CancelConsentInput!
|
Example
Query
mutation CancelConsent($input: CancelConsentInput!) {
cancelConsent(input: $input) {
... on CancelConsentSuccessPayload {
consent {
...ConsentFragment
}
}
... on ConsentNotFoundRejection {
message
consentId
}
... on NotReachableConsentStatusRejection {
message
currentStatus
unreachableStatus
}
}
}
Variables
{"input": CancelConsentInput}
Response
{"data": {"cancelConsent": CancelConsentSuccessPayload}}
cancelDigitalCard
Description
Cancel a Digital Card
Response
Returns a
CancelDigitalCardPayload!
Arguments
Name | Description |
---|---|
input -
CancelDigitalCardInput
|
Example
Query
mutation CancelDigitalCard($input: CancelDigitalCardInput) {
cancelDigitalCard(input: $input) {
... on CancelDigitalCardSuccessPayload {
digitalCard {
...DigitalCardFragment
}
}
... on AccountMembershipNotAllowedRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on DigitalCardNotFoundRejection {
message
identifier
}
... on ForbiddenRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": CancelDigitalCardInput}
Response
{
"data": {
"cancelDigitalCard": CancelDigitalCardSuccessPayload
}
}
cancelFundingSource
Description
Cancel a funding source
Response
Returns a
CancelFundingSourcePayload
Arguments
Name | Description |
---|---|
input -
CancelFundingSourceInput!
|
Example
Query
mutation CancelFundingSource($input: CancelFundingSourceInput!) {
cancelFundingSource(input: $input) {
... on CancelFundingSourceSuccessPayload {
fundingSource {
...FundingSourceFragment
}
}
... on ForbiddenRejection {
message
}
... on NotFoundRejection {
id
message
}
}
}
Variables
{"input": CancelFundingSourceInput}
Response
{
"data": {
"cancelFundingSource": CancelFundingSourceSuccessPayload
}
}
cancelPhysicalCard
Description
Cancel a Physical Card.
Response
Returns a
CancelPhysicalCardPayload!
Arguments
Name | Description |
---|---|
input -
CancelPhysicalCardInput
|
Example
Query
mutation CancelPhysicalCard($input: CancelPhysicalCardInput) {
cancelPhysicalCard(input: $input) {
... on CancelPhysicalCardSuccessPayload {
physicalCard {
...PhysicalCardFragment
}
}
... on AccountMembershipNotAllowedRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on PhysicalCardNotFoundRejection {
message
identifier
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": CancelPhysicalCardInput}
Response
{
"data": {
"cancelPhysicalCard": CancelPhysicalCardSuccessPayload
}
}
cancelStandingOrder
Description
Cancel a standing Order
The user must have an account membership to the account and the permission to initiate credit transfer
Response
Returns a
CancelStandingOrderPayload!
Arguments
Name | Description |
---|---|
input -
CancelStandingOrderInput!
|
Example
Query
mutation CancelStandingOrder($input: CancelStandingOrderInput!) {
cancelStandingOrder(input: $input) {
... on CancelStandingOrderSuccessPayload {
standingOrder {
...StandingOrderFragment
}
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on StandingOrderNotFoundRejection {
message
}
}
}
Variables
{"input": CancelStandingOrderInput}
Response
{
"data": {
"cancelStandingOrder": CancelStandingOrderSuccessPayload
}
}
cancelTransaction
Description
Cancels an UPCOMING credit transfer
The user must have an account membership for this account with the attribute canInitiatePayments=true
.
Response
Returns a
CancelTransactionPayload!
Arguments
Name | Description |
---|---|
input -
CancelTransactionInput!
|
Example
Query
mutation CancelTransaction($input: CancelTransactionInput!) {
cancelTransaction(input: $input) {
... on CancelTransactionSuccessPayload {
message
}
... on ForbiddenRejection {
message
}
}
}
Variables
{"input": CancelTransactionInput}
Response
{
"data": {
"cancelTransaction": CancelTransactionSuccessPayload
}
}
cancelVirtualIbanEntry
Description
Cancels a Virtual IBAN.
Response
Returns a
CancelVirtualIbanEntryPayload!
Arguments
Name | Description |
---|---|
input -
CancelVirtualIbanEntryInput!
|
Example
Query
mutation CancelVirtualIbanEntry($input: CancelVirtualIbanEntryInput!) {
cancelVirtualIbanEntry(input: $input) {
... on CancelVirtualIbanEntrySuccessPayload {
virtualIbanEntry {
...VirtualIBANEntryFragment
}
}
... on AccountNotFoundRejection {
id
message
}
... on BadAccountStatusRejection {
id
message
}
... on InternalErrorRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": CancelVirtualIbanEntryInput}
Response
{
"data": {
"cancelVirtualIbanEntry": CancelVirtualIbanEntrySuccessPayload
}
}
closeAccount
Description
Closes an account.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request with the Swan app.
The user must have a legal representative account membership for this account.
Response
Returns a
CloseAccountPayload!
Arguments
Name | Description |
---|---|
input -
CloseAccountInput!
|
Example
Query
mutation CloseAccount($input: CloseAccountInput!) {
closeAccount(input: $input) {
... on CloseAccountSuccessPayload {
consent {
...ConsentFragment
}
}
... on AccountNotFoundRejection {
id
message
}
... on BadAccountStatusRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": CloseAccountInput}
Response
{"data": {"closeAccount": CloseAccountSuccessPayload}}
createCapitalDepositCase
Description
Create a capital deposit case.
This mutation is restricted to an Project access token ( Learn More).
Response
Returns a
CreateCapitalDepositCasePayload!
Arguments
Name | Description |
---|---|
input -
CreateCapitalDepositCaseInput!
|
Example
Query
mutation CreateCapitalDepositCase($input: CreateCapitalDepositCaseInput!) {
createCapitalDepositCase(input: $input) {
... on CreateCapitalDepositCaseSuccessPayload {
capitalDepositCase {
...CapitalDepositCaseFragment
}
}
... on ForbiddenRejection {
message
}
... on BadRequestRejection {
message
}
... on InternalErrorRejection {
message
}
}
}
Variables
{"input": CreateCapitalDepositCaseInput}
Response
{
"data": {
"createCapitalDepositCase": CreateCapitalDepositCaseSuccessPayload
}
}
createMultiConsent
Description
Create a multi consent, which represents a consent of several other consents, executed in parallel or sequentially depending on the order
input value
This mutation is restricted to a User access token ( Learn More) and ask the user to consent to this request.
Response
Returns a
CreateMultiConsentPayload
Arguments
Name | Description |
---|---|
input -
CreateMultiConsentInput!
|
Example
Query
mutation CreateMultiConsent($input: CreateMultiConsentInput!) {
createMultiConsent(input: $input) {
... on CreateMultiConsentSuccessPayload {
consent {
...ConsentFragment
}
}
... on ConsentsNotAllInCreatedStatusRejection {
message
consentIds
}
... on ConsentsNotFoundRejection {
message
ids
}
... on TooManyChildConsentsRejection {
message
}
... on ConsentsAlreadyLinkedToMultiConsentRejection {
message
consentIds
}
}
}
Variables
{"input": CreateMultiConsentInput}
Response
{
"data": {
"createMultiConsent": CreateMultiConsentSuccessPayload
}
}
deleteSupportingDocument
Description
Delete a supporting document, in case uploaded file is not what was wanted. This action can not be undone.
This mutation can only be used on an "Uploaded" supporting document of a "WaitingForDocument" supporting document collection.
This mutation is restricted to a Project access token ( Learn More)
Response
Returns a
DeleteSupportingDocumentPayload!
Arguments
Name | Description |
---|---|
input -
DeleteSupportingDocumentInput!
|
Example
Query
mutation DeleteSupportingDocument($input: DeleteSupportingDocumentInput!) {
deleteSupportingDocument(input: $input) {
... on DeleteSupportingDocumentSuccessPayload {
id
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on SupportingDocumentCollectionNotFoundRejection {
id
message
}
... on SupportingDocumentCollectionStatusDoesNotAllowDeletionRejection {
message
supportingDocumentCollectionStatus
supportingDocumentCollection {
...SupportingDocumentCollectionFragment
}
}
... on SupportingDocumentNotFoundRejection {
id
message
}
... on SupportingDocumentStatusDoesNotAllowDeletionRejection {
supportingDocument {
...SupportingDocumentFragment
}
status
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": DeleteSupportingDocumentInput}
Response
{
"data": {
"deleteSupportingDocument": DeleteSupportingDocumentSuccessPayload
}
}
denySdd
Description
Allows to refuse all Sepa Direct Debit received on an account.
Response
Returns a
DenySddPayload!
Arguments
Name | Description |
---|---|
input -
DenySddInput
|
Example
Query
mutation DenySdd($input: DenySddInput) {
denySdd(input: $input) {
... on DenySddSuccessPayload {
account {
...AccountFragment
}
}
... on BadAccountStatusRejection {
id
message
}
... on AccountNotFoundRejection {
id
message
}
... on InvalidArgumentRejection {
message
code
fields {
...InvalidArgumentRejectionFieldFragment
}
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": DenySddInput}
Response
{"data": {"denySdd": DenySddSuccessPayload}}
denySddVirtualIbanEntry
Description
Allows to refuse all Sepa Direct Debit received on a Virtual IBAN.
Response
Returns a
DenySddVirtualIbanEntryPayload!
Arguments
Name | Description |
---|---|
input -
DenySddVirtualIbanEntryInput!
|
Example
Query
mutation DenySddVirtualIbanEntry($input: DenySddVirtualIbanEntryInput!) {
denySddVirtualIbanEntry(input: $input) {
... on DenySddVirtualIbanEntrySuccessPayload {
virtualIbanEntry {
...VirtualIBANEntryFragment
}
}
... on BadAccountStatusRejection {
id
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": DenySddVirtualIbanEntryInput}
Response
{
"data": {
"denySddVirtualIbanEntry": DenySddVirtualIbanEntrySuccessPayload
}
}
disableAccountMembership
Description
Disable an account membership
This mutation is callable with a User access token and a Project access token ( Learn More)
With a User access token, the user must have the permission to manage account membership of the account
Response
Returns a
DisableAccountMembershipPayload!
Arguments
Name | Description |
---|---|
input -
DisableAccountMembershipInput
|
Example
Query
mutation DisableAccountMembership($input: DisableAccountMembershipInput) {
disableAccountMembership(input: $input) {
... on DisableAccountMembershipSuccessPayload {
accountMembership {
...AccountMembershipFragment
}
}
... on AccountMembershipCannotBeDisabledRejection {
accountMembershipId
message
}
... on AccountMembershipNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on LegalRepresentativeAccountMembershipCannotBeDisabledRejection {
accountMembershipId
message
}
... on UserNotAllowedToDisableItsOwnAccountMembershipRejection {
accountMembershipId
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": DisableAccountMembershipInput}
Response
{
"data": {
"disableAccountMembership": DisableAccountMembershipSuccessPayload
}
}
enableReceivedDirectDebitMandate
Description
Allows to enable a received mandate in the Suspended status.
For B2b received direct debit mandate, this mutation is restricted to an User access token( Learn More) and ask the user to consent to this request with the Swan app.
The user must be able to initiate payments for this account.
Response
Returns an
EnableReceivedDirectDebitMandatePayload!
Arguments
Name | Description |
---|---|
input -
EnableReceivedDirectDebitMandateInput!
|
Example
Query
mutation EnableReceivedDirectDebitMandate($input: EnableReceivedDirectDebitMandateInput!) {
enableReceivedDirectDebitMandate(input: $input) {
... on EnableReceivedDirectDebitMandateSuccessPayload {
receivedDirectDebitMandate {
...ReceivedDirectDebitMandateFragment
}
}
... on ReceivedDirectDebitMandateNotFoundRejection {
id
message
}
... on ReceivedDirectDebitMandateCanceledRejection {
id
message
}
... on ForbiddenRejection {
message
}
}
}
Variables
{"input": EnableReceivedDirectDebitMandateInput}
Response
{
"data": {
"enableReceivedDirectDebitMandate": EnableReceivedDirectDebitMandateSuccessPayload
}
}
finalizeOnboarding
Description
Finalize an onboarding led to the opening of a new account for your client, who thus become the account holder.
This mutation is restricted to an User access token ( Learn More).
Response
Returns a
FinalizeOnboardingPayload!
Arguments
Name | Description |
---|---|
input -
FinalizeOnboardingInput!
|
Example
Query
mutation FinalizeOnboarding($input: FinalizeOnboardingInput!) {
finalizeOnboarding(input: $input) {
... on FinalizeOnboardingSuccessPayload {
onboarding {
...OnboardingFragment
}
}
... on InternalErrorRejection {
message
}
... on ForbiddenRejection {
message
}
... on OnboardingNotCompletedRejection {
message
onboardingId
onboarding {
...OnboardingFragment
}
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": FinalizeOnboardingInput}
Response
{
"data": {
"finalizeOnboarding": FinalizeOnboardingSuccessPayload
}
}
generateAccountStatement
Description
Generate an account statement
Response
Returns a
Statement!
Arguments
Name | Description |
---|---|
input -
GenerateAccountStatementInput!
|
Example
Query
mutation GenerateAccountStatement($input: GenerateAccountStatementInput!) {
generateAccountStatement(input: $input) {
id
account {
id
number
name
holder {
...AccountHolderFragment
}
cashAccountType
country
paymentLevel
BIC
IBAN
currency
blockSDD
statusInfo {
...AccountStatusInfoFragment
}
partnershipStatusInfo {
...PartnershipStatusInfoFragment
}
createdAt
updatedAt
virtualIbanEntries {
...VirtualIBANEntryConnectionFragment
}
memberships {
...AccountMembershipConnectionFragment
}
requiredConsentToFetchNewTransactions
language
legalRepresentativeMembership {
...AccountMembershipFragment
}
paymentAccountType
upgradedAt
bankDetails
legalDocuments {
...LegalDocumentConnectionFragment
}
balances {
...AccountBalancesFragment
}
statements {
...StatementConnectionFragment
}
transactions {
...TransactionConnectionFragment
}
invoices {
...InvoiceConnectionFragment
}
receivedDirectDebitMandates {
...ReceivedDirectDebitMandateConnectionFragment
}
standingOrders {
...StandingOrderConnectionFragment
}
fundingSources {
...FundingSourceConnectionFragment
}
merchantProfiles {
...MerchantProfileConnectionFragment
}
}
openingBalance {
currency
value
}
closingBalance {
currency
value
}
openingDate
closingDate
status
period
totalCredits {
currency
value
}
totalDebits {
currency
value
}
fees {
currency
value
}
type {
type
}
createdAt
updatedAt
}
}
Variables
{"input": GenerateAccountStatementInput}
Response
{
"data": {
"generateAccountStatement": {
"id": 4,
"account": Account,
"openingBalance": Amount,
"closingBalance": Amount,
"openingDate": "2007-12-03T10:15:30Z",
"closingDate": "2007-12-03T10:15:30Z",
"status": "Available",
"period": "Monthly",
"totalCredits": Amount,
"totalDebits": Amount,
"fees": Amount,
"type": [StatementInfo],
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z"
}
}
}
generateCapitalDepositDocumentUploadUrl
Description
Generate an url allowing the upload of a document which unique identifier is specified in parameters.
This mutation is restricted to an Project access token ( Learn More).
Response
Arguments
Name | Description |
---|---|
input -
GenerateCapitalDepositDocumentUploadUrlInput!
|
Example
Query
mutation GenerateCapitalDepositDocumentUploadUrl($input: GenerateCapitalDepositDocumentUploadUrlInput!) {
generateCapitalDepositDocumentUploadUrl(input: $input) {
... on GenerateCapitalDepositDocumentUploadUrlSuccessPayload {
uploadUrl
}
... on CapitalDepositDocumentCanNotBeUploaded {
id
message
}
... on ForbiddenRejection {
message
}
... on BadRequestRejection {
message
}
... on InternalErrorRejection {
message
}
}
}
Variables
{"input": GenerateCapitalDepositDocumentUploadUrlInput}
Response
{
"data": {
"generateCapitalDepositDocumentUploadUrl": GenerateCapitalDepositDocumentUploadUrlSuccessPayload
}
}
generateSupportingDocumentUploadUrl
Description
Generate and return a presigned URL to upload a unique file for the supporting document collection
This mutation is restricted to a Project access token ( Learn More)
Response
Arguments
Name | Description |
---|---|
input -
GenerateSupportingDocumentUploadUrlInput!
|
Example
Query
mutation GenerateSupportingDocumentUploadUrl($input: GenerateSupportingDocumentUploadUrlInput!) {
generateSupportingDocumentUploadUrl(input: $input) {
... on GenerateSupportingDocumentUploadUrlSuccessPayload {
supportingDocumentId
upload {
...SupportingDocumentUploadInfoFragment
}
}
... on SupportingDocumentCollectionNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on SupportingDocumentUploadNotAllowedRejection {
supportingDocumentCollectionStatus
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": GenerateSupportingDocumentUploadUrlInput}
Response
{
"data": {
"generateSupportingDocumentUploadUrl": GenerateSupportingDocumentUploadUrlSuccessPayload
}
}
grantConsentWithServerSignature
Description
Grant consent with a server signature
Response
Returns a
GrantConsentWithServerSignaturePayload!
Arguments
Name | Description |
---|---|
input -
GrantConsentWithServerSignatureInput!
|
Example
Query
mutation GrantConsentWithServerSignature($input: GrantConsentWithServerSignatureInput!) {
grantConsentWithServerSignature(input: $input) {
... on GrantConsentWithServerSignatureSuccessPayload {
consent {
...ConsentFragment
}
}
... on ConsentNotFoundRejection {
message
consentId
}
... on NotReachableConsentStatusRejection {
message
currentStatus
unreachableStatus
}
... on ForbiddenRejection {
message
}
... on ConsentTypeNotSupportedByServerConsentRejection {
message
}
... on ServerConsentNotAllowedForConsentOperationRejection {
message
}
... on ProjectNotFoundRejection {
message
}
... on ServerConsentNotAllowedForProjectRejection {
message
}
... on ServerConsentProjectSettingsNotFoundRejection {
message
}
... on ServerConsentProjectCredentialMissingRejection {
message
}
... on ServerConsentProjectCredentialNotFoundRejection {
message
}
... on ServerConsentCredentialsNotValidOrOutdatedRejection {
message
}
... on ServerConsentSignatureNotValidRejection {
message
}
}
}
Variables
{"input": GrantConsentWithServerSignatureInput}
Response
{
"data": {
"grantConsentWithServerSignature": GrantConsentWithServerSignatureSuccessPayload
}
}
initiateCreditTransfers
Description
Initiates a credit transfer to an other Swan account or to an IBAN
This mutation is restricted to an User access token ( Learn More) and if necessary ask the user to consent to this request.
The user must have an account membership for this account with the attribute canInitiatePayments=true
.
Response
Returns an
InitiateCreditTransfersPayload!
Arguments
Name | Description |
---|---|
input -
InitiateCreditTransfersInput!
|
Example
Query
mutation InitiateCreditTransfers($input: InitiateCreditTransfersInput!) {
initiateCreditTransfers(input: $input) {
... on InitiateCreditTransfersSuccessPayload {
payment {
...PaymentFragment
}
}
... on AccountNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
}
}
Variables
{"input": InitiateCreditTransfersInput}
Response
{
"data": {
"initiateCreditTransfers": InitiateCreditTransfersSuccessPayload
}
}
initiateFundingRequest
Description
Initiate a funding request. This mutation is restricted to an User access token (
Learn More) and ask the user to consent to this request. The user must have an account membership for this account with the attribute canInitiateCreditTransfer=true
.
Response
Returns an
InitiateFundingRequestPayload
Arguments
Name | Description |
---|---|
input -
InitiateFundingRequestInput!
|
Example
Query
mutation InitiateFundingRequest($input: InitiateFundingRequestInput!) {
initiateFundingRequest(input: $input) {
... on InitiateFundingRequestSuccessPayload {
payment {
...PaymentFragment
}
}
... on ForbiddenRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
... on FundingLimitExceededRejection {
message
}
... on ProjectFundingLimitExceededRejection {
message
}
... on GlobalFundingLimitExceededRejection {
message
}
... on FundingSourceWrongStatusRejection {
message
currentStatus
expectedStatus
}
... on FundingSourceNotFoundRejection {
id
message
}
... on InsufficientFundsRejection {
message
}
... on InstantFundingLimitExceededRejection {
message
}
... on ProjectInstantFundingLimitExceededRejection {
message
}
... on GlobalInstantFundingLimitExceededRejection {
message
}
... on AccountVerificationWrongStatusRejection {
message
}
}
}
Variables
{"input": InitiateFundingRequestInput}
Response
{
"data": {
"initiateFundingRequest": InitiateFundingRequestSuccessPayload
}
}
initiateInternationalCreditTransfer
Description
COMING SOON Create an international transfer
Response
Returns an
InitiateInternationalCreditTransferResponsePayload
Arguments
Name | Description |
---|---|
input -
InitiateInternationalCreditTransferInput!
|
Example
Query
mutation InitiateInternationalCreditTransfer($input: InitiateInternationalCreditTransferInput!) {
initiateInternationalCreditTransfer(input: $input) {
... on InitiateInternationalCreditTransferResponseSuccessPayload {
payment {
...PaymentFragment
}
quote {
...InternationalCreditTransferQuoteFragment
}
}
... on AccountNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": InitiateInternationalCreditTransferInput}
Response
{
"data": {
"initiateInternationalCreditTransfer": InitiateInternationalCreditTransferResponseSuccessPayload
}
}
initiateMerchantPaymentCollection
Response
Returns an
InitiateMerchantPaymentCollectionPayload
Arguments
Name | Description |
---|---|
input -
InitiateMerchantPaymentCollectionInput!
|
Example
Query
mutation InitiateMerchantPaymentCollection($input: InitiateMerchantPaymentCollectionInput!) {
initiateMerchantPaymentCollection(input: $input) {
... on InitiateMerchantPaymentCollectionSuccessPayload {
merchantPaymentCollection {
...PaymentFragment
}
}
... on ForbiddenRejection {
message
}
... on NotFoundRejection {
id
message
}
... on InternalErrorRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": InitiateMerchantPaymentCollectionInput}
Response
{
"data": {
"initiateMerchantPaymentCollection": InitiateMerchantPaymentCollectionSuccessPayload
}
}
onboardCompanyAccountHolder
Description
Creates an onboarding for a new company account holder.
This mutation is restricted to a Project access token ( Learn More)
Response
Returns an
OnboardCompanyAccountHolderPayload!
Arguments
Name | Description |
---|---|
input -
OnboardCompanyAccountHolderInput
|
Example
Query
mutation OnboardCompanyAccountHolder($input: OnboardCompanyAccountHolderInput) {
onboardCompanyAccountHolder(input: $input) {
... on OnboardCompanyAccountHolderSuccessPayload {
onboarding {
...OnboardingFragment
}
}
... on BadRequestRejection {
message
}
... on ForbiddenRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": OnboardCompanyAccountHolderInput}
Response
{
"data": {
"onboardCompanyAccountHolder": OnboardCompanyAccountHolderSuccessPayload
}
}
onboardIndividualAccountHolder
Description
Creates an onboarding for a new individual account holder.
This mutation is restricted to a Project access token ( Learn More)
Response
Returns an
OnboardIndividualAccountHolderPayload!
Arguments
Name | Description |
---|---|
input -
OnboardIndividualAccountHolderInput
|
Example
Query
mutation OnboardIndividualAccountHolder($input: OnboardIndividualAccountHolderInput) {
onboardIndividualAccountHolder(input: $input) {
... on OnboardIndividualAccountHolderSuccessPayload {
onboarding {
...OnboardingFragment
}
}
... on ForbiddenRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": OnboardIndividualAccountHolderInput}
Response
{
"data": {
"onboardIndividualAccountHolder": OnboardIndividualAccountHolderSuccessPayload
}
}
printPhysicalCard
Description
Print Physical Card.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
Response
Returns a
PrintPhysicalCardPayload!
Arguments
Name | Description |
---|---|
input -
PrintPhysicalCardInput!
|
Example
Query
mutation PrintPhysicalCard($input: PrintPhysicalCardInput!) {
printPhysicalCard(input: $input) {
... on PrintPhysicalCardSuccessPayload {
physicalCard {
...PhysicalCardFragment
}
}
... on AccountMembershipNotAllowedRejection {
message
}
... on AlreadyValidPhysicalCardRejection {
message
}
... on BadAccountStatusRejection {
id
message
}
... on BadRequestRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on CardProductNotApplicableToPhysicalCardsRejection {
message
}
... on CardProductDisabledRejection {
message
}
... on MissingMandatoryFieldRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": PrintPhysicalCardInput}
Response
{
"data": {
"printPhysicalCard": PrintPhysicalCardSuccessPayload
}
}
refund
Description
initiates a refund for a list of booked transaction
This mutation is restricted to an User access token ( Learn More) and if necessary ask the user to consent to this request.
The user must have an account membership on the accounts that are beneficiary of the transaction with the attribute canInitiatePayments=true
.
Response
Returns a
RefundPayload!
Arguments
Name | Description |
---|---|
input -
RefundInput!
|
Example
Query
mutation Refund($input: RefundInput!) {
refund(input: $input) {
... on RefundSuccessPayload {
consent {
...ConsentFragment
}
}
... on RefundRejection {
message
code
}
}
}
Variables
{"input": RefundInput}
Response
{"data": {"refund": RefundSuccessPayload}}
requestMerchantPaymentMethods
Description
Request merchant payment methods for a merchant profile
Response
Returns a
RequestMerchantPaymentMethodsPayload
Arguments
Name | Description |
---|---|
input -
RequestMerchantPaymentMethodsInput!
|
Example
Query
mutation RequestMerchantPaymentMethods($input: RequestMerchantPaymentMethodsInput!) {
requestMerchantPaymentMethods(input: $input) {
... on RequestMerchantPaymentMethodsSuccessPayload {
merchantProfile {
...MerchantProfileFragment
}
}
... on ForbiddenRejection {
message
}
... on NotFoundRejection {
id
message
}
... on InternalErrorRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": RequestMerchantPaymentMethodsInput}
Response
{
"data": {
"requestMerchantPaymentMethods": RequestMerchantPaymentMethodsSuccessPayload
}
}
requestMerchantProfileUpdate
Description
Request an update of a MerchantProfile
Response
Returns a
RequestMerchantProfileUpdatePayload
Arguments
Name | Description |
---|---|
input -
RequestMerchantProfileUpdateInput!
|
Example
Query
mutation RequestMerchantProfileUpdate($input: RequestMerchantProfileUpdateInput!) {
requestMerchantProfileUpdate(input: $input) {
... on RequestMerchantProfileUpdateSuccessPayload {
requestMerchantProfileUpdate {
...RequestMerchantProfileUpdateFragment
}
}
... on ForbiddenRejection {
message
}
... on AccountNotFoundRejection {
id
message
}
... on InternalErrorRejection {
message
}
}
}
Variables
{"input": RequestMerchantProfileUpdateInput}
Response
{
"data": {
"requestMerchantProfileUpdate": RequestMerchantProfileUpdateSuccessPayload
}
}
requestSupportingDocumentCollectionReview
Description
Ask for Swan's compliance team to review given supporting document collection.
This mutation is restricted to a Project access token ( Learn More)
Response
Arguments
Name | Description |
---|---|
input -
RequestSupportingDocumentCollectionReviewInput
|
Example
Query
mutation RequestSupportingDocumentCollectionReview($input: RequestSupportingDocumentCollectionReviewInput) {
requestSupportingDocumentCollectionReview(input: $input) {
... on RequestSupportingDocumentCollectionReviewSuccessPayload {
supportingDocumentCollection {
...SupportingDocumentCollectionFragment
}
}
... on ForbiddenRejection {
message
}
... on SupportingDocumentCollectionNotFoundRejection {
id
message
}
... on SupportingDocumentCollectionStatusNotAllowedRejection {
oldStatus
newStatus
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": RequestSupportingDocumentCollectionReviewInput}
Response
{
"data": {
"requestSupportingDocumentCollectionReview": RequestSupportingDocumentCollectionReviewSuccessPayload
}
}
resumeAccountMembership
Description
Resumes an account membership already suspended.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns a
ResumeAccountMembershipPayload!
Arguments
Name | Description |
---|---|
input -
ResumeAccountMembershipInput
|
Example
Query
mutation ResumeAccountMembership($input: ResumeAccountMembershipInput) {
resumeAccountMembership(input: $input) {
... on ResumeAccountMembershipSuccessPayload {
consent {
...ConsentFragment
}
}
... on ForbiddenRejection {
message
}
... on UserNotAllowedToManageAccountMembershipRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": ResumeAccountMembershipInput}
Response
{
"data": {
"resumeAccountMembership": ResumeAccountMembershipSuccessPayload
}
}
resumePhysicalCard
Description
Resume a Physical Card.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have the account membership for this card
Response
Returns a
ResumePhysicalCardPayload!
Arguments
Name | Description |
---|---|
input -
ResumePhysicalCardInput
|
Example
Query
mutation ResumePhysicalCard($input: ResumePhysicalCardInput) {
resumePhysicalCard(input: $input) {
... on ResumePhysicalCardSuccessPayload {
physicalCard {
...PhysicalCardFragment
}
consent {
...ConsentFragment
}
}
... on ForbiddenRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on UserNotCardHolderRejection {
message
}
... on PhysicalCardNotFoundRejection {
message
identifier
}
... on PhysicalCardWrongStatusRejection {
message
identifier
currentStatus
expectedStatus
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": ResumePhysicalCardInput}
Response
{
"data": {
"resumePhysicalCard": ResumePhysicalCardSuccessPayload
}
}
scheduleStandingOrder
Description
Schedule a standing Order
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership to the account and the permission to initiate credit transfer
Response
Returns a
ScheduleStandingOrderPayload!
Arguments
Name | Description |
---|---|
input -
ScheduleStandingOrderInput!
|
Example
Query
mutation ScheduleStandingOrder($input: ScheduleStandingOrderInput!) {
scheduleStandingOrder(input: $input) {
... on ScheduleStandingOrderSuccessPayload {
standingOrder {
...StandingOrderFragment
}
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on InvalidArgumentRejection {
message
code
fields {
...InvalidArgumentRejectionFieldFragment
}
}
}
}
Variables
{"input": ScheduleStandingOrderInput}
Response
{
"data": {
"scheduleStandingOrder": ScheduleStandingOrderSuccessPayload
}
}
suspendAccountMembership
Description
Suspends an account membership.
*This mutation is restricted to an User access token ( Learn More).
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns a
SuspendAccountMembershipPayload!
Arguments
Name | Description |
---|---|
input -
SuspendAccountMembershipInput!
|
Example
Query
mutation SuspendAccountMembership($input: SuspendAccountMembershipInput!) {
suspendAccountMembership(input: $input) {
... on SuspendAccountMembershipSuccessPayload {
accountMembership {
...AccountMembershipFragment
}
}
... on InternalErrorRejection {
message
}
... on LegalRepresentativeAccountMembershipCannotBeSuspendedRejection {
id
message
}
... on UserNotAllowedToManageAccountMembershipRejection {
message
}
... on UserNotAllowedToSuspendItsOwnAccountMembershipRejection {
accountMembershipId
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": SuspendAccountMembershipInput}
Response
{
"data": {
"suspendAccountMembership": SuspendAccountMembershipSuccessPayload
}
}
suspendPhysicalCard
Description
Suspend a Physical Card.
Response
Returns a
SuspendPhysicalCardPayload!
Arguments
Name | Description |
---|---|
input -
SuspendPhysicalCardInput
|
Example
Query
mutation SuspendPhysicalCard($input: SuspendPhysicalCardInput) {
suspendPhysicalCard(input: $input) {
... on SuspendPhysicalCardSuccessPayload {
physicalCard {
...PhysicalCardFragment
}
}
... on AccountMembershipNotAllowedRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on PhysicalCardNotFoundRejection {
message
identifier
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": SuspendPhysicalCardInput}
Response
{
"data": {
"suspendPhysicalCard": SuspendPhysicalCardSuccessPayload
}
}
suspendReceivedDirectDebitMandate
Description
Allows to suspend a received direct debit mandate in the Enabled status.
The user must be able to initiate payments for this account.
Response
Arguments
Name | Description |
---|---|
input -
SuspendReceivedDirectDebitMandateInput!
|
Example
Query
mutation SuspendReceivedDirectDebitMandate($input: SuspendReceivedDirectDebitMandateInput!) {
suspendReceivedDirectDebitMandate(input: $input) {
... on SuspendReceivedDirectDebitMandateSuccessPayload {
receivedDirectDebitMandate {
...ReceivedDirectDebitMandateFragment
}
}
... on SuspendReceivedDirectDebitMandatedRejection {
message
reason
}
... on ReceivedDirectDebitMandateNotFoundRejection {
id
message
}
... on ReceivedDirectDebitMandateCanceledRejection {
id
message
}
... on ForbiddenRejection {
message
}
}
}
Variables
{"input": SuspendReceivedDirectDebitMandateInput}
Response
{
"data": {
"suspendReceivedDirectDebitMandate": SuspendReceivedDirectDebitMandateSuccessPayload
}
}
updateAccount
Description
Update an account.
Response
Returns an
UpdateAccountPayload!
Arguments
Name | Description |
---|---|
input -
UpdateAccountInput!
|
Example
Query
mutation UpdateAccount($input: UpdateAccountInput!) {
updateAccount(input: $input) {
... on UpdateAccountSuccessPayload {
account {
...AccountFragment
}
}
... on AccountNotFoundRejection {
id
message
}
... on BadAccountStatusRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": UpdateAccountInput}
Response
{"data": {"updateAccount": UpdateAccountSuccessPayload}}
updateAccountHolder
Response
Returns an
UpdateAccountHolderPayload!
Arguments
Name | Description |
---|---|
input -
UpdateAccountHolderInput!
|
Example
Query
mutation UpdateAccountHolder($input: UpdateAccountHolderInput!) {
updateAccountHolder(input: $input) {
... on UpdateAccountHolderSuccessPayload {
accountHolder {
...AccountHolderFragment
}
}
... on AccountHolderNotFoundRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": UpdateAccountHolderInput}
Response
{
"data": {
"updateAccountHolder": UpdateAccountHolderSuccessPayload
}
}
updateAccountMembership
Description
Updates an account membership.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have an account membership for this account with the attribute canManageAccountMembership=true
.
Response
Returns an
UpdateAccountMembershipPayload!
Arguments
Name | Description |
---|---|
input -
UpdateAccountMembershipInput!
|
Example
Query
mutation UpdateAccountMembership($input: UpdateAccountMembershipInput!) {
updateAccountMembership(input: $input) {
... on UpdateAccountMembershipSuccessPayload {
consent {
...ConsentFragment
}
}
... on AccountMembershipCannotBeUpdatedRejection {
id
message
}
... on AccountMembershipNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on InvalidPhoneNumberRejection {
message
}
... on PermissionCannotBeGrantedRejection {
message
}
... on UserNotAllowedToManageAccountMembershipRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": UpdateAccountMembershipInput}
Response
{
"data": {
"updateAccountMembership": UpdateAccountMembershipSuccessPayload
}
}
updateCard
Description
Update a Card.
Response
Returns an
UpdateCardPayload
Arguments
Name | Description |
---|---|
input -
UpdateCardInput
|
Example
Query
mutation UpdateCard($input: UpdateCardInput) {
updateCard(input: $input) {
... on UpdateCardSuccessPayload {
consent {
...ConsentFragment
}
}
... on AccountNotFoundRejection {
id
message
}
... on CardNotFoundRejection {
id
message
}
... on AccountMembershipNotAllowedRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": UpdateCardInput}
Response
{"data": {"updateCard": UpdateCardSuccessPayload}}
updateCompanyOnboarding
Description
Updates a company onboarding.
If you aim to update Ultimate Beneficiary Owners, you need to provide all of them as they are going to be overridden by your update payload.
This mutation is restricted to a Project access token ( Learn More)
Response
Returns an
UpdateCompanyOnboardingPayload!
Arguments
Name | Description |
---|---|
input -
UpdateCompanyOnboardingInput
|
Example
Query
mutation UpdateCompanyOnboarding($input: UpdateCompanyOnboardingInput) {
updateCompanyOnboarding(input: $input) {
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on UpdateCompanyOnboardingSuccessPayload {
onboarding {
...OnboardingInfoFragment
}
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": UpdateCompanyOnboardingInput}
Response
{"data": {"updateCompanyOnboarding": ForbiddenRejection}}
updateIndividualOnboarding
Description
Updates an individual onboarding.
This mutation is restricted to a Project access token ( Learn More)
Response
Returns an
UpdateIndividualOnboardingPayload!
Arguments
Name | Description |
---|---|
input -
UpdateIndividualOnboardingInput!
|
Example
Query
mutation UpdateIndividualOnboarding($input: UpdateIndividualOnboardingInput!) {
updateIndividualOnboarding(input: $input) {
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on UpdateIndividualOnboardingSuccessPayload {
onboarding {
...OnboardingInfoFragment
}
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": UpdateIndividualOnboardingInput}
Response
{
"data": {
"updateIndividualOnboarding": ForbiddenRejection
}
}
updateReceivedSepaDirectDebitB2bMandate
Description
Allows to update a received sepa direct debit mandate B2b.
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request with the Swan app.
The user must be able to initiate payments for this account.
Response
Arguments
Name | Description |
---|---|
input -
UpdateReceivedSepaDirectDebitB2bMandateInput!
|
Example
Query
mutation UpdateReceivedSepaDirectDebitB2bMandate($input: UpdateReceivedSepaDirectDebitB2bMandateInput!) {
updateReceivedSepaDirectDebitB2bMandate(input: $input) {
... on UpdateReceivedSepaDirectDebitB2bMandateSuccessPayload {
receivedDirectDebitMandate {
...ReceivedDirectDebitMandateFragment
}
}
... on ReceivedDirectDebitMandateNotFoundRejection {
id
message
}
... on ForbiddenRejection {
message
}
... on ReceivedDirectDebitMandateAlreadyExistRejection {
id
message
}
... on ReceivedDirectDebitMandateNotB2bRejection {
id
message
}
}
}
Variables
{"input": UpdateReceivedSepaDirectDebitB2bMandateInput}
Response
{
"data": {
"updateReceivedSepaDirectDebitB2bMandate": UpdateReceivedSepaDirectDebitB2bMandateSuccessPayload
}
}
updateSupportingDocument
Response
Returns an
UpdateSupportingDocumentPayload!
Arguments
Name | Description |
---|---|
input -
UpdateSupportingDocumentInput!
|
Example
Query
mutation UpdateSupportingDocument($input: UpdateSupportingDocumentInput!) {
updateSupportingDocument(input: $input) {
... on UpdateSupportingDocumentSuccessPayload {
supportingDocument {
...SupportingDocumentFragment
}
}
... on ForbiddenRejection {
message
}
... on InternalErrorRejection {
message
}
... on SupportingDocumentCollectionNotFoundRejection {
id
message
}
... on SupportingDocumentCollectionStatusDoesNotAllowUpdateRejection {
message
supportingDocumentCollectionStatus
supportingDocumentCollection {
...SupportingDocumentCollectionFragment
}
}
... on SupportingDocumentNotFoundRejection {
id
message
}
... on SupportingDocumentStatusDoesNotAllowUpdateRejection {
supportingDocument {
...SupportingDocumentFragment
}
status
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": UpdateSupportingDocumentInput}
Response
{
"data": {
"updateSupportingDocument": UpdateSupportingDocumentSuccessPayload
}
}
updateUserConsentSettings
Description
Updates user preferred consent notification channel.
This mutation is restricted to a Project access token ( Learn More)
Response
Returns an
UpdateUserConsentSettingsPayload!
Arguments
Name | Description |
---|---|
input -
UpdateUserConsentSettingsInput!
|
Example
Query
mutation UpdateUserConsentSettings($input: UpdateUserConsentSettingsInput!) {
updateUserConsentSettings(input: $input) {
... on UpdateUserConsentSettingsSuccessPayload {
userConsentSettings {
...UserConsentSettingsFragment
}
}
... on UpdateUserConsentSettingsTokenRejection {
message
}
}
}
Variables
{"input": UpdateUserConsentSettingsInput}
Response
{
"data": {
"updateUserConsentSettings": UpdateUserConsentSettingsSuccessPayload
}
}
viewCardNumbers
Description
Reveal the card numbers in the consent page once consent has been given by the cardholder
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have the account membership for this card
Response
Returns a
ViewCardNumbersPayload!
Arguments
Name | Description |
---|---|
input -
ViewCardNumbersInput!
|
Example
Query
mutation ViewCardNumbers($input: ViewCardNumbersInput!) {
viewCardNumbers(input: $input) {
... on ViewCardNumbersSuccessPayload {
consent {
...ConsentFragment
}
}
... on UserNotCardHolderRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": ViewCardNumbersInput}
Response
{
"data": {
"viewCardNumbers": ViewCardNumbersSuccessPayload
}
}
viewPhysicalCardNumbers
Description
Reveal the physical card numbers in the consent page once consent has been given by the cardholder
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have the account membership for this card
Response
Returns a
ViewPhysicalCardNumbersPayload!
Arguments
Name | Description |
---|---|
input -
ViewPhysicalCardNumbersInput!
|
Example
Query
mutation ViewPhysicalCardNumbers($input: ViewPhysicalCardNumbersInput!) {
viewPhysicalCardNumbers(input: $input) {
... on ViewPhysicalCardNumbersSuccessPayload {
consent {
...ConsentFragment
}
}
... on UserNotCardHolderRejection {
message
}
... on CardNotFoundRejection {
id
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": ViewPhysicalCardNumbersInput}
Response
{
"data": {
"viewPhysicalCardNumbers": ViewPhysicalCardNumbersSuccessPayload
}
}
viewPhysicalCardPin
Description
Reveal the PIN code on Swan app after his consent
This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.
The user must have the account membership for this card
Response
Returns a
ViewPhysicalCardPinPayload!
Arguments
Name | Description |
---|---|
input -
ViewPhysicalCardPinInput!
|
Example
Query
mutation ViewPhysicalCardPin($input: ViewPhysicalCardPinInput!) {
viewPhysicalCardPin(input: $input) {
... on ViewPhysicalCardPinSuccessPayload {
consent {
...ConsentFragment
}
}
... on CardNotFoundRejection {
id
message
}
... on PhysicalCardNotFoundRejection {
message
identifier
}
... on PINNotReadyRejection {
physicalCardIdentifier
message
}
... on UserNotCardHolderRejection {
message
}
... on ValidationRejection {
fields {
...ValidationFieldErrorFragment
}
message
}
}
}
Variables
{"input": ViewPhysicalCardPinInput}
Response
{
"data": {
"viewPhysicalCardPin": ViewPhysicalCardPinSuccessPayload
}
}
Types
Account
Description
Whether you call it a wallet, monetary account, payment account or bank account, the notion of account is fundamental at Swan. All payment flows necessarily go through an account.
Fields
Field Name | Description |
---|---|
id -
ID!
|
Unique identifier of an account |
number -
AccountNumber!
|
Unique account number |
name -
String!
|
Account name |
holder -
AccountHolder!
|
Account holder |
cashAccountType -
CashAccountType!
|
Cash account type |
country -
AccountCountry!
|
Country of the account |
paymentLevel -
PaymentLevel!
|
Payment level |
BIC -
BIC!
|
Bank Identifier Code Only if the account membership has canViewAccount=true & this account has paymentLevel=Unlimited |
IBAN -
IBAN
|
International Bank Account Number Only if the account membership has canViewAccount=true & this account has paymentLevel=Unlimited |
currency -
Currency!
|
Currency |
blockSDD -
Boolean
|
true if the main IBAN refuses all Sepa Direct Debit received |
statusInfo -
AccountStatusInfo!
|
Status of the account |
partnershipStatusInfo -
PartnershipStatusInfo
|
Partnership status |
createdAt -
DateTime!
|
Created date |
updatedAt -
DateTime!
|
Updated date |
virtualIbanEntries -
VirtualIBANEntryConnection!
|
List of Virtual IBAN |
memberships -
AccountMembershipConnection!
|
List of account membership for this account |
Arguments
|
|
requiredConsentToFetchNewTransactions -
Boolean!
|
true if a consent is required to fetch new transactions |
language -
AccountLanguage!
|
Language used for account statements |
legalRepresentativeMembership -
AccountMembership!
|
Legal representative account membership |
paymentAccountType -
PaymentAccountType!
|
Type of the account : EMoney if account holder has not finished the KYC requirements, PaymentService otherwise |
upgradedAt -
DateTime
|
Date of the account going from eMoney to PaymentService |
bankDetails -
String
|
COMING SOON Link to the account's bank details |
legalDocuments -
LegalDocumentConnection
|
COMING SOON Legal Documents linked to the account |
Arguments |
|
balances -
AccountBalances
|
A list of balances regarding an account. |
statements -
StatementConnection
|
A list of statements of an account. The list is ordered by lastUpdateAt |
Arguments
|
|
transactions -
TransactionConnection
|
A list of transactions of an account. |
Arguments
|
|
invoices -
InvoiceConnection
|
A list of invoices of an account. The list is ordered by creation date (from newest to oldest) |
receivedDirectDebitMandates -
ReceivedDirectDebitMandateConnection
|
A list of receive Direct Mandates of an account. |
Arguments
|
|
standingOrders -
StandingOrderConnection!
|
A list of standing orders regarding an account. |
Arguments
|
|
fundingSources -
FundingSourceConnection
|
List of funding source created on the account |
Arguments
|
|
merchantProfiles -
MerchantProfileConnection
|
List of merchant profiles created on the account |
Arguments
|
Example
{
"id": "4",
"number": "000000012345",
"name": "xyz789",
"holder": AccountHolder,
"cashAccountType": "Current",
"country": "FRA",
"paymentLevel": "Limited",
"BIC": BIC,
"IBAN": "NL55INGB4789170233",
"currency": "USD",
"blockSDD": true,
"statusInfo": AccountStatusInfo,
"partnershipStatusInfo": PartnershipStatusInfo,
"createdAt": "2007-12-03T10:15:30Z",
"updatedAt": "2007-12-03T10:15:30Z",
"virtualIbanEntries": VirtualIBANEntryConnection,
"memberships": AccountMembershipConnection,
"requiredConsentToFetchNewTransactions": true,
"language": "de",
"legalRepresentativeMembership": AccountMembership,
"paymentAccountType": "EMoney",
"upgradedAt": "2007-12-03T10:15:30Z",
"bankDetails": "abc123",
"legalDocuments": LegalDocumentConnection,
"balances": AccountBalances,
"statements": StatementConnection,
"transactions": TransactionConnection,
"invoices": InvoiceConnection,
"receivedDirectDebitMandates": ReceivedDirectDebitMandateConnection,
"standingOrders": StandingOrderConnection,
"fundingSources": FundingSourceConnection,
"merchantProfiles": MerchantProfileConnection
}
AccountBalances
Description
A list of balances regarding an account.
Fields
Field Name | Description |
---|---|
available -
Amount!
|
Balance composed of booked, pending transactions and rolling reserve used known at the time of calculation. |
pending -
Amount!
|
Balance just composed of pending transactions. |
booked -
Amount!
|
Balance just composed of booked transactions. |
reserved -
Amount!
|
Balance just composed of rolling reserve used in booked transactions. |
Example
{
"available": Amount,
"pending": Amount,
"booked": Amount,
"reserved": Amount
}
AccountClosedStatus
Description
Account Closed status information
Fields
Field Name | Description |
---|---|
status -
AccountStatus!
|
Account status (always Closed for type AccountClosedStatus) |
reason -
String!
|
Reason why the account is suspended @Deprecated |
reasonInfo -
CloseAccountStatusReason!
|
Reason why the account is currently closed |
Example
{
"status": "Opened",
"reason": "xyz789",
"reasonInfo": CloseAccountReason
}
AccountClosingStatus
Description
Account Closing status information
Fields
Field Name | Description |
---|---|
status -
AccountStatus!
|
Account status (always Closing for type AccountClosingStatus) |
reason -
String!
|
Reason why the account is suspended @Deprecated |
reasonInfo -
CloseAccountStatusReason!
|
Reason why the account is currently in closing |
Example
{
"status": "Opened",
"reason": "abc123",
"reasonInfo": CloseAccountReason
}
AccountConnection
Description
Implements the Relay Connection interface, used to paginate list of element ( Learn More)
Fields
Field Name | Description |
---|---|
totalCount -
Int!
|
Total number of element in the list |
pageInfo -
PageInfo!
|
Information about the current, the previous and the next page |
edges -
[AccountEdge!]!
|
AccountEdge list |
Example
{
"totalCount": 123,
"pageInfo": PageInfo,
"edges": [AccountEdge]
}
AccountCountry
Description
Refers to the country of the account. It will determine the country code of the local IBAN of the account.
Available Account Country: CCA3
Values
Enum Value | Description |
---|---|
|
French account with a French IBAN, starting with FR. |
|
German account with a German IBAN, starting with DE. |
|
Spanish account with a Spanish IBAN, starting with ES. |
|
Dutch account with a Dutch IBAN, starting with DU. COMING SOON |
Example
"FRA"
AccountEdge
AccountFilterInput
Fields
Input Field | Description |
---|---|
status -
[AccountStatus!]
|
Account Status we want to filter on |
paymentLevels -
[PaymentLevel!]
|
Account Payment Levels we want to filter on |
search -
String
|
Searches name, account number, and IBAN |
Example
{
"status": ["Opened"],
"paymentLevels": ["Limited"],
"search": "xyz789"
}
AccountHolder
Description
The account holder is the person who owns the money stored in the account. The account holder can be one of your customers, whether it is a natural person or a legal person, or quite simply you.
Fields
Field Name | Description |
---|---|
id -
ID!
|
Unique identifier of the account holder. |
verificationStatus -
VerificationStatus!
|
Verification status. Banking regulations require financial institutions such as Swan to know and verify their customers in order to comply with their anti-money laundering and terrorist financing obligations. In banking jargon, we talk about KYC (Know Your Customers) procedure |
info -
AccountHolderInfo!
|
Account holder type information. |
statusInfo -
AccountHolderStatusInfo
|
Account holder status information. |
residencyAddress -
AddressInfo!
|
Residency address. |
createdDate -
DateTime!
|
Created date. |
updatedDate -
DateTime!
|
Updated date. |
accounts -
AccountConnection!
|
List of accounts owned by the account holder. |
Arguments |
|
supportingDocumentCollections -
SupportingDocumentCollectionConnection!
|
List of supporting document collection for an account holder |
fundingLimitSettingsChangeRequests -
FundingLimitSettingsChangeRequestConnection!
|
COMING SOON List of funding limit settings change request for an account holder |
onboarding -
Onboarding
|
Account holder onboarding |
externalAccounts -
ExternalAccountConnection!
|
List of external account owned by the account holder |
paymentMandates -
PaymentMandateConnection
|
A list of Payment Mandates for an account holder. |
Arguments
|
|
fundingLimitSettings -
FundingLimitSettings
|
Funding limit settings |
Example
{
"id": 4,
"verificationStatus": "NotStarted",
"info": AccountHolderInfo,
"statusInfo": AccountHolderStatusInfo,
"residencyAddress": AddressInfo,
"createdDate": "2007-12-03T10:15:30Z",
"updatedDate": "2007-12-03T10:15:30Z",
"accounts": AccountConnection,
"supportingDocumentCollections": SupportingDocumentCollectionConnection,
"fundingLimitSettingsChangeRequests": FundingLimitSettingsChangeRequestConnection,
"onboarding": Onboarding,
"externalAccounts": ExternalAccountConnection,
"paymentMandates": PaymentMandateConnection,
"fundingLimitSettings": FundingLimitSettings
}
AccountHolderCanceledStatusInfo
Description
Account Holder Canceled Status Information
Fields
Field Name | Description |
---|---|
status -
AccountHolderStatus!
|
Status of the account holder. |
reason -
String!
|
Reason why the account holder is suspended. |
Example
{"status": "Enabled", "reason": "xyz789"}
AccountHolderCompanyInfo
Fields
Field Name | Description |
---|---|
type -
AccountHolderType!
|
Account holder type (always Company for type AccountHolderCompanyInfo) |
name -
String!
|
Name of the company. |
registrationNumber -
String
|
Registration number of the company (SIRET, ...). |
companyRegistrationDate -
Date
|
Registration date of the company. |
companyType -
CompanyType
|
Legal form of the company (SAS, SCI, SASU, ...). |
businessActivity -
BusinessActivity!
|
Business activity. |
businessActivityDescription -
String!
|
Business activity description. This must be 1024 characters long maximum. |
monthlyPaymentVolume -
MonthlyPaymentVolume!
|
Estimated monthly payment volume (euro). |
individualUltimateBeneficialOwners -
[IndividualUltimateBeneficialOwner!]!
|
The ultimate beneficiary is defined as the natural person (s) who own or control, directly or indirectly, the reporting company. The ultimate beneficiary is :
|
vatNumber -
String
|
Unique number that identifies a taxable person (business) or non-taxable legal entity that is registered for VAT |
taxIdentificationNumber -
String
|
Tax Identification Number |
legalRepresentativePersonalAddress -
AddressInformation
|
Legal representative personal address |
Example
{
"type": "Individual",
"name": "xyz789",
"registrationNumber": "abc123",
"companyRegistrationDate": "2007-12-03",
"companyType": "Association",
"businessActivity": "AdministrativeServices",
"businessActivityDescription": "xyz789",
"monthlyPaymentVolume": "Between10000And50000",
"individualUltimateBeneficialOwners": [
IndividualUltimateBeneficialOwner
],
"vatNumber": "xyz789",
"taxIdentificationNumber": "xyz789",
"legalRepresentativePersonalAddress": AddressInformation
}
AccountHolderConnection
Description
Implements the Relay Connection interface, used to paginate list of element ( Learn More).
Fields
Field Name | Description |
---|---|
totalCount -
Int!
|
Total number of element in the list. |
pageInfo -
PageInfo!
|
Information about the current, the previous and the next page. |
edges -
[AccountHolderEdge!]!
|
AccountHolderEdge list. |
Example
{
"totalCount": 987,
"pageInfo": PageInfo,
"edges": [AccountHolderEdge]
}
AccountHolderEdge
Description
Implements the Relay Edge interface.
Fields
Field Name | Description |
---|---|
cursor -
String!
|
Opaque identifier pointing to this node in the pagination mechanism. |
node -
AccountHolder!
|
The account holder. |
Example
{
"cursor": "abc123",
"node": AccountHolder
}
AccountHolderEnabledStatusInfo
Description
Account Holder Enabled Status Information
Fields
Field Name | Description |
---|---|
status -
AccountHolderStatus!
|
Status of the account holder. |
Example
{"status": "Enabled"}
AccountHolderFilterInput
Fields
Input Field | Description |
---|---|
status -
[AccountHolderStatus!]
|
|
types -
[AccountHolderType!]
|
|
verificationStatus -
[VerificationStatus!]
|
|
search -
String
|
Searches company name, first name, last name |
firstName -
String
|
|
lastName -
String
|
|
birthDate -
String
|
|
registrationNumber -
String
|
Example
{
"status": ["Enabled"],
"types": ["Individual"],
"verificationStatus": ["NotStarted"],
"search": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"birthDate": "abc123",
"registrationNumber": "abc123"
}
AccountHolderIndividualInfo
Description
Individual account holder.
Fields
Field Name | Description |
---|---|
type -
AccountHolderType!
|
Account holder type (always Individual for type AccountHolderIndividualInfo). |
name -
String!
|
Account Holder's first name and last name. |
employmentStatus -
EmploymentStatus!
|
Employment status of the account holder (regulatory questions). |
monthlyIncome -
MonthlyIncome!
|
Monthly income of the account holder (regulatory questions). |
user -
User!
|
User of the individual account holder. |
taxIdentificationNumber -
String
|
Tax Identification Number |
Example
{
"type": "Individual",
"name": "abc123",
"employmentStatus": "Craftsman",
"monthlyIncome": "LessThan500",
"user": User,
"taxIdentificationNumber": "xyz789"
}
AccountHolderInfo
Description
Account holder types.
Fields
Field Name | Description |
---|---|
type -
AccountHolderType!
|
Account holder type |
name -
String!
|
Account holder name |
Possible Types
AccountHolderInfo Types |
---|
Example
{"type": "Individual", "name": "abc123"}
AccountHolderNotFoundRejection
Description
Rejection returned when the Account Holder was not found
Fields
Field Name | Description |
---|---|
message -
String!
|
Example
{"message": "xyz789"}