Aller au contenu
Ressource · Payments

Draft payments

A draft payment is a payment prepared in Sway and not yet sent to the bank.

draft-payments:readdraft-payments:write
MéthodeCheminRésumé
GET…/draft-paymentsList draft payments in the workspace
POST…/draft-paymentsCreate a single draft payment
GET…/draft-payments/{draftPaymentId}/draft-transfersList transfers belonging to a draft payment
GET…/draft-payments/searchSearch draft payments by attributes

Les chemins commencent par /workspaces/{workspaceId}. Les endpoints GET demandent draft-payments:read, les autres draft-payments:write.

L’objet DraftPayment

firestoreIdstringobligatoire

ID of the draft payment.

messageIdstringobligatoire
endToEndIdsstring[]obligatoire
transferIdsstring[]obligatoire
workspaceIdstringobligatoire

ID of the workspace.

bankAccountIdstringobligatoire

ID of the bank account.

counterpartyIdsstring[]obligatoire
Afficher les 14 champs
transferCounterpartyIdsRecord<string, string>obligatoire
creationobjectobligatoire

When and by whom the resource was created.

Afficher les 2 champs enfants
creationDateTimestringdate-timeobligatoire

Date and time when the resource was created.

createdBystring

ID of the user who created the resource, when recorded.

invoiceIdsstring[]
instructionobjectobligatoire
Afficher les 7 champs enfants
executionDatestring
paymentMethodstring
paymentInformationIdstring
debtorNamestring
debtorIbanstring
debtorCurrencystring
debtorBicstring
submissionStatusobject
Afficher les 2 champs enfants
statusstring
creationDateTimestring
instructionStatusobject
Afficher 1 champ enfant
statusstring
relationshipsobjectobligatoire
Afficher 1 champ enfant
firstTransfersDraftPaymentTransfer[]obligatoire
Afficher les 8 champs enfants
firestoreIdstringobligatoire

ID of the draft payment transfer.

workspaceIdstringobligatoire

ID of the workspace.

draftPaymentIdstringobligatoire

ID of the draft payment.

bankAccountIdstringobligatoire

ID of the bank account.

counterpartyIdstringobligatoire

ID of the counterparty.

transferCreditTransferobligatoire
Afficher les 8 champs enfants
instructionIdstring
endToEndIdstringobligatoire
amountnumber
currencystring
creditorNamestring
creditorIbanstring
communicationstring
structuredReferencestring
transferStatusobject
Afficher les 2 champs enfants
statusstring
acceptanceDateTimestring
relationshipsobjectobligatoire
Afficher 1 champ enfant
counterpartyCounterpartyobligatoire
L’objet DraftPayment
{
  "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"
          }
        }
      }
    ]
  }
}
GET/workspaces/{workspaceId}/draft-payments

List draft payments in the workspace

Portéedraft-payments:read

Paramètres de chemin

workspaceIdstringobligatoire

ID of the workspace.

Paramètres de requête

limitinteger

Maximum 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.

Par défaut20

startAfterstring

Cursor of the page to return: the nextCursor of the previous page.

fieldsstring

Comma-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.

Renvoie

200

List of items

dataDraftPayment[]obligatoire

Items of the page, in list order.

limitintegerobligatoire

Page size of the request, or the number of requested ids.

nextCursorstring

Cursor 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"
{
  "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"
}
POST/workspaces/{workspaceId}/draft-payments

Create a single draft payment

Portéedraft-payments:write

Paramètres de chemin

workspaceIdstringobligatoire

ID of the workspace.

Paramètres de requête

fieldsstring

Comma-separated property paths to include in the response, or in each item of a list. Use dots for nested paths.

Corps de la requête

bankAccountIdstringobligatoire

ID of the bank account.

executionDatestringobligatoire
amountnumberobligatoire
currencystring

ISO 4217 currency code

counterpartyIdstringobligatoire

ID of the counterparty.

counterpartyCashAccountIdstringobligatoire
referencestring
communicationstringobligatoire
invoiceIdstring

ID of the invoice.

Renvoie

200

Successful response

dataDraftPaymentobligatoire
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"
}'
{
  "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": {…}
  }
}
GET/workspaces/{workspaceId}/draft-payments/{draftPaymentId}/draft-transfers

List transfers belonging to a draft payment

Portéedraft-payments:read

Paramètres de chemin

workspaceIdstringobligatoire

ID of the workspace.

draftPaymentIdstringobligatoire

ID of the draft payment.

Paramètres de requête

limitinteger

Maximum 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.

Par défaut20

startAfterstring

Cursor of the page to return: the nextCursor of the previous page.

fieldsstring

Comma-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.

Renvoie

200

List of items

dataDraftPaymentTransfer[]obligatoire

Items of the page, in list order.

Afficher les 8 champs enfants
firestoreIdstringobligatoire

ID of the draft payment transfer.

workspaceIdstringobligatoire

ID of the workspace.

draftPaymentIdstringobligatoire

ID of the draft payment.

bankAccountIdstringobligatoire

ID of the bank account.

counterpartyIdstringobligatoire

ID of the counterparty.

transferCreditTransferobligatoire
Afficher les 8 champs enfants
instructionIdstring
endToEndIdstringobligatoire
amountnumber
currencystring
creditorNamestring
creditorIbanstring
communicationstring
structuredReferencestring
transferStatusobject
Afficher les 2 champs enfants
statusstring
acceptanceDateTimestring
relationshipsobjectobligatoire
Afficher 1 champ enfant
counterpartyCounterpartyobligatoire
limitintegerobligatoire

Page size of the request, or the number of requested ids.

nextCursorstring

Cursor 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"
{
  "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"
}

Construisez sur vos propres données.

Créez un compte, ouvrez Profil › Développeur et créez une clé limitée aux ressources dont vous avez besoin. Une question sur une intégration ? L’équipe y répond lors d’un appel.