| Methode | Pfad | Zusammenfassung |
|---|---|---|
| GET | …/draft-payments | List draft payments in the workspace |
| POST | …/draft-payments | Create a single draft payment |
| GET | …/draft-payments/{draftPaymentId}/draft-transfers | List transfers belonging to a draft payment |
| GET | …/draft-payments/search | Search draft payments by attributes |
Die Pfade beginnen mit /workspaces/{workspaceId}. GET-Endpunkte brauchen draft-payments:read, die übrigen draft-payments:write.
Das Objekt DraftPayment
firestoreIdstringerforderlichID of the draft payment.
messageIdstringerforderlichendToEndIdsstring[]erforderlichtransferIdsstring[]erforderlichworkspaceIdstringerforderlichID of the workspace.
bankAccountIdstringerforderlichID of the bank account.
counterpartyIdsstring[]erforderlichAlle 14 Felder anzeigenFeldliste ausblenden
transferCounterpartyIdsRecord<string, string>erforderlichcreationobjecterforderlichWhen and by whom the resource was created.
2 untergeordnete Felder anzeigen
creationDateTimestringdate-timeerforderlichDate and time when the resource was created.
createdBystringID of the user who created the resource, when recorded.
invoiceIdsstring[]instructionobjecterforderlich7 untergeordnete Felder anzeigen
executionDatestringpaymentMethodstringpaymentInformationIdstringdebtorNamestringdebtorIbanstringdebtorCurrencystringdebtorBicstringsubmissionStatusobject2 untergeordnete Felder anzeigen
statusstringcreationDateTimestringinstructionStatusobject1 untergeordnetes Feld anzeigen
statusstringrelationshipsobjecterforderlich1 untergeordnetes Feld anzeigen
firstTransfersDraftPaymentTransfer[]erforderlich8 untergeordnete Felder anzeigen
firestoreIdstringerforderlichID of the draft payment transfer.
workspaceIdstringerforderlichID of the workspace.
draftPaymentIdstringerforderlichID of the draft payment.
bankAccountIdstringerforderlichID of the bank account.
counterpartyIdstringerforderlichID of the counterparty.
transferCreditTransfererforderlich8 untergeordnete Felder anzeigen
instructionIdstringendToEndIdstringerforderlichamountnumbercurrencystringcreditorNamestringcreditorIbanstringcommunicationstringstructuredReferencestringtransferStatusobject2 untergeordnete Felder anzeigen
statusstringacceptanceDateTimestringrelationshipsobjecterforderlich1 untergeordnetes Feld anzeigen
{
"firestoreId": "dpay_RFAtMjAyNjAzMDI",
"messageId": "string",
"endToEndIds": [
"string"
],
"transferIds": [
"string"
],
"workspaceId": "Wk7fQ2xR9bLm4tZp8sNv",
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"counterpartyIds": [
"string"
],
"transferCounterpartyIds": {
"key": "string"
},
"creation": {
"creationDateTime": "2026-03-02T09:15:00.000Z",
"createdBy": "Xq3vT9mB2kLpR7sN4wYc8dZf1aHj"
},
"invoiceIds": [
"string"
],
"instruction": {
"executionDate": "string",
"paymentMethod": "string",
"paymentInformationId": "string",
"debtorName": "string",
"debtorIban": "string",
"debtorCurrency": "string",
"debtorBic": "string"
},
"submissionStatus": {
"status": "string",
"creationDateTime": "string"
},
"instructionStatus": {
"status": "string"
},
"relationships": {
"firstTransfers": [
{
"firestoreId": "dtrans_RFQtMjAyNjAzMDI",
"workspaceId": "Wk7fQ2xR9bLm4tZp8sNv",
"draftPaymentId": "dpay_RFAtMjAyNjAzMDI",
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"counterpartyId": "Cp2nG7vB4xLq9wRt5hMz",
"transfer": {
"instructionId": "string",
"endToEndId": "string",
"amount": 0,
"currency": "string",
"creditorName": "string",
"creditorIban": "string",
"communication": "string",
"structuredReference": "string"
},
"transferStatus": {
"status": "string",
"acceptanceDateTime": "string"
},
"relationships": {
"counterparty": {
"firestoreId": "Cp2nG7vB4xLq9wRt5hMz",
"workspaceId": "Wk7fQ2xR9bLm4tZp8sNv",
"creation": {
"creationDateTime": "2026-03-02T09:15:00.000Z",
"createdBy": "Xq3vT9mB2kLpR7sN4wYc8dZf1aHj"
},
"activation": {
"enabled": true,
"updateDateTime": "2026-03-02T09:15:00.000Z",
"updatedBy": "Xq3vT9mB2kLpR7sN4wYc8dZf1aHj"
},
"entityType": "individual",
"name": "string",
"phones": [
"string"
],
"emails": [
"string"
],
"address": {
"country": "CH",
"postCode": "8001",
"townName": "Zürich",
"streetName": "Bahnhofstrasse",
"buildingNumber": "10",
"name": "Haus zur Linde",
"sortingCode": "string",
"postBox": "Postfach 1234",
"administrativeArea": "Zürich",
"recipients": [
"Anna Meier"
],
"organization": "Muster AG",
"source": [
"Muster AG",
"Bahnhofstrasse 10",
"8001 Zürich"
]
},
"contactPersons": [
{
"name": "string",
"phone": "string",
"email": "string"
}
],
"taxIdentification": "string",
"notes": "string",
"cashAccounts": [
{
"identifications": [
{
"type": "bic",
"value": "string"
}
],
"currency": "CHF",
"bankAddress": {
"country": "CH",
"postCode": "8001",
"townName": "Zürich",
"streetName": "Bahnhofstrasse",
"buildingNumber": "10",
"name": "Haus zur Linde",
"sortingCode": "string",
"postBox": "Postfach 1234",
"administrativeArea": "Zürich",
"recipients": [
"Anna Meier"
],
"organization": "Muster AG",
"source": [
"Muster AG",
"Bahnhofstrasse 10",
"8001 Zürich"
]
},
"internalId": "string",
"nickname": "string",
"verification": {
"id": "3f2c8a1e-6b4d-4e7a-9c15-8d2b7f0e4a61",
"status": "verified",
"holderName": "string",
"dateTime": "2026-03-02T09:30:00.000Z"
}
}
],
"cashAccountIdentifications": [
"string"
],
"approvedCashAccountIds": [
"string"
],
"bankAccountId": "string"
}
}
}
]
}
}/workspaces/{workspaceId}/draft-paymentsList draft payments in the workspace
Bereichdraft-payments:read
Pfadparameter
workspaceIdstringerforderlichID of the workspace.
Abfrageparameter
limitintegerMaximum number of items to return, from 1 to 100. A missing, invalid or non-positive value falls back to 20, and a larger value to 100.
Standard20
startAfterstringCursor of the page to return: the nextCursor of the previous page.
fieldsstringComma-separated property paths to include in the response, or in each item of a list. Use dots for nested paths.
idsstring[]Comma-separated IDs of the items to return, up to 30. When set, limit, startAfter and the filters are ignored.
Rückgabe
List of items
Items of the page, in list order.
limitintegererforderlichPage size of the request, or the number of requested ids.
nextCursorstringCursor of the next page, to pass as startAfter. Absent when the page holds fewer items than limit; a full last page still has one, and the page it points to is empty.
curl 'https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments' \
-H "Authorization: Bearer $SWAY_API_KEY"const response = await fetch('https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments', {
headers: {
Authorization: `Bearer ${process.env.SWAY_API_KEY}`,
},
});
console.log(await response.json());import os
import requests
response = requests.get(
"https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments",
headers={"Authorization": f"Bearer {os.environ['SWAY_API_KEY']}"},
)
print(response.json()){
"data": [
{
"firestoreId": "dpay_RFAtMjAyNjAzMDI",
"messageId": "string",
"endToEndIds": [
"string"
],
"transferIds": [
"string"
],
"workspaceId": "Wk7fQ2xR9bLm4tZp8sNv",
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"counterpartyIds": [
"string"
],
"transferCounterpartyIds": {
"key": "string"
},
"creation": {
"creationDateTime": "2026-03-02T09:15:00.000Z",
"createdBy": "Xq3vT9mB2kLpR7sN4wYc8dZf1aHj"
},
"invoiceIds": [
"string"
],
"instruction": {
"executionDate": "string",
"paymentMethod": "string",
"paymentInformationId": "string",
"debtorName": "string",
"debtorIban": "string",
"debtorCurrency": "string",
"debtorBic": "string"
},
"submissionStatus": {
"status": "string",
"creationDateTime": "string"
},
"instructionStatus": {
"status": "string"
},
"relationships": {…}
}
],
"limit": 0,
"nextCursor": "string"
}{
"error": {
"code": "invalid-argument",
"message": "Invalid request"
}
}{
"error": {
"code": "unauthenticated",
"message": "Invalid or expired credentials"
}
}{
"error": {
"code": "permission-denied",
"message": "Missing required scope: invoices:read"
}
}{
"error": {
"code": "not-found",
"message": "Resource not found"
}
}{
"error": {
"code": "internal",
"message": "An internal error occurred"
}
}/workspaces/{workspaceId}/draft-paymentsCreate a single draft payment
Bereichdraft-payments:write
Pfadparameter
workspaceIdstringerforderlichID of the workspace.
Abfrageparameter
fieldsstringComma-separated property paths to include in the response, or in each item of a list. Use dots for nested paths.
Request-Body
bankAccountIdstringerforderlichID of the bank account.
executionDatestringerforderlichamountnumbererforderlichcurrencystringISO 4217 currency code
counterpartyIdstringerforderlichID of the counterparty.
counterpartyCashAccountIdstringerforderlichreferencestringcommunicationstringerforderlichinvoiceIdstringID of the invoice.
Rückgabe
Successful response
curl -X POST 'https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments' \
-H "Authorization: Bearer $SWAY_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"executionDate": "2026-03-02",
"amount": 0,
"currency": "CHF",
"counterpartyId": "Cp2nG7vB4xLq9wRt5hMz",
"counterpartyCashAccountId": "string",
"reference": "string",
"communication": "string",
"invoiceId": "Iv5zP2nK7wRt3xMq9bLd"
}'const response = await fetch('https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SWAY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"executionDate": "2026-03-02",
"amount": 0,
"currency": "CHF",
"counterpartyId": "Cp2nG7vB4xLq9wRt5hMz",
"counterpartyCashAccountId": "string",
"reference": "string",
"communication": "string",
"invoiceId": "Iv5zP2nK7wRt3xMq9bLd"
}),
});
console.log(await response.json());import os
import requests
response = requests.post(
"https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments",
headers={"Authorization": f"Bearer {os.environ['SWAY_API_KEY']}"},
json={
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"executionDate": "2026-03-02",
"amount": 0,
"currency": "CHF",
"counterpartyId": "Cp2nG7vB4xLq9wRt5hMz",
"counterpartyCashAccountId": "string",
"reference": "string",
"communication": "string",
"invoiceId": "Iv5zP2nK7wRt3xMq9bLd",
},
)
print(response.json()){
"data": {
"firestoreId": "dpay_RFAtMjAyNjAzMDI",
"messageId": "string",
"endToEndIds": [
"string"
],
"transferIds": [
"string"
],
"workspaceId": "Wk7fQ2xR9bLm4tZp8sNv",
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"counterpartyIds": [
"string"
],
"transferCounterpartyIds": {
"key": "string"
},
"creation": {
"creationDateTime": "2026-03-02T09:15:00.000Z",
"createdBy": "Xq3vT9mB2kLpR7sN4wYc8dZf1aHj"
},
"invoiceIds": [
"string"
],
"instruction": {
"executionDate": "string",
"paymentMethod": "string",
"paymentInformationId": "string",
"debtorName": "string",
"debtorIban": "string",
"debtorCurrency": "string",
"debtorBic": "string"
},
"submissionStatus": {
"status": "string",
"creationDateTime": "string"
},
"instructionStatus": {
"status": "string"
},
"relationships": {…}
}
}{
"error": {
"code": "invalid-argument",
"message": "Invalid request"
}
}{
"error": {
"code": "unauthenticated",
"message": "Invalid or expired credentials"
}
}{
"error": {
"code": "permission-denied",
"message": "Missing required scope: invoices:read"
}
}{
"error": {
"code": "not-found",
"message": "Resource not found"
}
}{
"error": {
"code": "internal",
"message": "An internal error occurred"
}
}/workspaces/{workspaceId}/draft-payments/{draftPaymentId}/draft-transfersList transfers belonging to a draft payment
Bereichdraft-payments:read
Pfadparameter
workspaceIdstringerforderlichID of the workspace.
draftPaymentIdstringerforderlichID of the draft payment.
Abfrageparameter
limitintegerMaximum number of items to return, from 1 to 100. A missing, invalid or non-positive value falls back to 20, and a larger value to 100.
Standard20
startAfterstringCursor of the page to return: the nextCursor of the previous page.
fieldsstringComma-separated property paths to include in the response, or in each item of a list. Use dots for nested paths.
idsstring[]Comma-separated IDs of the items to return, up to 30. When set, limit, startAfter and the filters are ignored.
Rückgabe
List of items
dataDraftPaymentTransfer[]erforderlichItems of the page, in list order.
8 untergeordnete Felder anzeigen
firestoreIdstringerforderlichID of the draft payment transfer.
workspaceIdstringerforderlichID of the workspace.
draftPaymentIdstringerforderlichID of the draft payment.
bankAccountIdstringerforderlichID of the bank account.
counterpartyIdstringerforderlichID of the counterparty.
transferCreditTransfererforderlich8 untergeordnete Felder anzeigen
instructionIdstringendToEndIdstringerforderlichamountnumbercurrencystringcreditorNamestringcreditorIbanstringcommunicationstringstructuredReferencestringtransferStatusobject2 untergeordnete Felder anzeigen
statusstringacceptanceDateTimestringrelationshipsobjecterforderlich1 untergeordnetes Feld anzeigen
limitintegererforderlichPage size of the request, or the number of requested ids.
nextCursorstringCursor of the next page, to pass as startAfter. Absent when the page holds fewer items than limit; a full last page still has one, and the page it points to is empty.
curl 'https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments/dpay_RFAtMjAyNjAzMDI/draft-transfers' \
-H "Authorization: Bearer $SWAY_API_KEY"const response = await fetch('https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments/dpay_RFAtMjAyNjAzMDI/draft-transfers', {
headers: {
Authorization: `Bearer ${process.env.SWAY_API_KEY}`,
},
});
console.log(await response.json());import os
import requests
response = requests.get(
"https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments/dpay_RFAtMjAyNjAzMDI/draft-transfers",
headers={"Authorization": f"Bearer {os.environ['SWAY_API_KEY']}"},
)
print(response.json()){
"data": [
{
"firestoreId": "dtrans_RFQtMjAyNjAzMDI",
"workspaceId": "Wk7fQ2xR9bLm4tZp8sNv",
"draftPaymentId": "dpay_RFAtMjAyNjAzMDI",
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"counterpartyId": "Cp2nG7vB4xLq9wRt5hMz",
"transfer": {
"instructionId": "string",
"endToEndId": "string",
"amount": 0,
"currency": "string",
"creditorName": "string",
"creditorIban": "string",
"communication": "string",
"structuredReference": "string"
},
"transferStatus": {
"status": "string",
"acceptanceDateTime": "string"
},
"relationships": {
"counterparty": {
"firestoreId": "Cp2nG7vB4xLq9wRt5hMz",
"workspaceId": "Wk7fQ2xR9bLm4tZp8sNv",
"creation": {
"creationDateTime": "2026-03-02T09:15:00.000Z",
"createdBy": "Xq3vT9mB2kLpR7sN4wYc8dZf1aHj"
},
"activation": {
"enabled": true,
"updateDateTime": "2026-03-02T09:15:00.000Z",
"updatedBy": "Xq3vT9mB2kLpR7sN4wYc8dZf1aHj"
},
"entityType": "individual",
"name": "string",
"phones": [
"string"
],
"emails": [
"string"
],
"address": {
"country": "CH",
"postCode": "8001",
"townName": "Zürich",
"streetName": "Bahnhofstrasse",
"buildingNumber": "10",
"name": "Haus zur Linde",
"sortingCode": "string",
"postBox": "Postfach 1234",
"administrativeArea": "Zürich",
"recipients": [
"Anna Meier"
],
"organization": "Muster AG",
"source": [
"Muster AG",
"Bahnhofstrasse 10",
"8001 Zürich"
]
},
"contactPersons": [
{
"name": "string",
"phone": "string",
"email": "string"
}
],
"taxIdentification": "string",
"notes": "string",
"cashAccounts": [
{
"identifications": [
{
"type": "bic",
"value": "string"
}
],
"currency": "CHF",
"bankAddress": {
"country": "CH",
"postCode": "8001",
"townName": "Zürich",
"streetName": "Bahnhofstrasse",
"buildingNumber": "10",
"name": "Haus zur Linde",
"sortingCode": "string",
"postBox": "Postfach 1234",
"administrativeArea": "Zürich",
"recipients": [
"Anna Meier"
],
"organization": "Muster AG",
"source": [
"Muster AG",
"Bahnhofstrasse 10",
"8001 Zürich"
]
},
"internalId": "string",
"nickname": "string",
"verification": {
"id": "3f2c8a1e-6b4d-4e7a-9c15-8d2b7f0e4a61",
"status": "verified",
"holderName": "string",
"dateTime": "2026-03-02T09:30:00.000Z"
}
}
],
"cashAccountIdentifications": [
"string"
],
"approvedCashAccountIds": [
"string"
],
"bankAccountId": "string"
}
}
}
],
"limit": 0,
"nextCursor": "string"
}{
"error": {
"code": "invalid-argument",
"message": "Invalid request"
}
}{
"error": {
"code": "unauthenticated",
"message": "Invalid or expired credentials"
}
}{
"error": {
"code": "permission-denied",
"message": "Missing required scope: invoices:read"
}
}{
"error": {
"code": "not-found",
"message": "Resource not found"
}
}{
"error": {
"code": "internal",
"message": "An internal error occurred"
}
}/workspaces/{workspaceId}/draft-payments/searchSearch draft payments by attributes
Bereichdraft-payments:read
Pfadparameter
workspaceIdstringerforderlichID of the workspace.
Abfrageparameter
fieldsstringComma-separated property paths to include in the response, or in each item of a list. Use dots for nested paths.
querystringerforderlichpageintegerStandard0
sizeintegerStandard20
Rückgabe
Successful response
curl 'https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments/search?query=string' \
-H "Authorization: Bearer $SWAY_API_KEY"const response = await fetch('https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments/search?query=string', {
headers: {
Authorization: `Bearer ${process.env.SWAY_API_KEY}`,
},
});
console.log(await response.json());import os
import requests
response = requests.get(
"https://api.business.swayapp.io/v1/workspaces/Wk7fQ2xR9bLm4tZp8sNv/draft-payments/search?query=string",
headers={"Authorization": f"Bearer {os.environ['SWAY_API_KEY']}"},
)
print(response.json()){
"data": [
{
"firestoreId": "dpay_RFAtMjAyNjAzMDI",
"messageId": "string",
"endToEndIds": [
"string"
],
"transferIds": [
"string"
],
"workspaceId": "Wk7fQ2xR9bLm4tZp8sNv",
"bankAccountId": "bacc_Q0gzMTA4NzY1NDM",
"counterpartyIds": [
"string"
],
"transferCounterpartyIds": {
"key": "string"
},
"creation": {
"creationDateTime": "2026-03-02T09:15:00.000Z",
"createdBy": "Xq3vT9mB2kLpR7sN4wYc8dZf1aHj"
},
"invoiceIds": [
"string"
],
"instruction": {
"executionDate": "string",
"paymentMethod": "string",
"paymentInformationId": "string",
"debtorName": "string",
"debtorIban": "string",
"debtorCurrency": "string",
"debtorBic": "string"
},
"submissionStatus": {
"status": "string",
"creationDateTime": "string"
},
"instructionStatus": {
"status": "string"
},
"relationships": {…}
}
]
}{
"error": {
"code": "invalid-argument",
"message": "Invalid request"
}
}{
"error": {
"code": "unauthenticated",
"message": "Invalid or expired credentials"
}
}{
"error": {
"code": "permission-denied",
"message": "Missing required scope: invoices:read"
}
}{
"error": {
"code": "not-found",
"message": "Resource not found"
}
}{
"error": {
"code": "internal",
"message": "An internal error occurred"
}
}