curl --request POST \
--url https://incoming.qomon.app/v1/transaction_bundles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"id": 123,
"transactions": [
{
"id": 123,
"amount": 123,
"currency": "<string>",
"payment_method_kind": "<string>",
"payment_method": {},
"contact_id": 123,
"date": "2023-11-07T05:31:56Z",
"code_campaign": "<string>",
"delivered_at": "2023-11-07T05:31:56Z",
"delivery_token": "<string>",
"comment": "<string>",
"comment_date": "2023-11-07T05:31:56Z",
"reimbursed_amount": 123,
"unpaid_amount": 123,
"external_transaction_id": 123,
"status_id": 123
}
],
"memberships": [
{
"id": 123,
"contact_id": 123,
"start_date": "2023-11-07T05:31:56Z",
"end_date": "2023-11-07T05:31:56Z",
"membership_price_id": 123,
"amount": 123,
"amount_initial": 123,
"currency": "<string>",
"comment": "<string>",
"rolling_year": true
}
],
"donations": [
{
"id": 123,
"contact_id": 123,
"date": "2023-11-07T05:31:56Z",
"amount": 123,
"initial_amount": 123,
"currency": "<string>",
"donation_price_id": 123,
"affectation": "<string>",
"comment": "<string>"
}
],
"summary": {
"transactions_count": 123,
"memberships_count": 123,
"donations_count": 123
}
}
}
'{
"status": "success",
"data": {
"id": 123,
"transactions": [
{
"id": 123,
"amount": 123,
"currency": "<string>",
"payment_method_kind": "<string>",
"payment_method": {},
"contact_id": 123,
"date": "2023-11-07T05:31:56Z",
"code_campaign": "<string>",
"delivered_at": "2023-11-07T05:31:56Z",
"delivery_token": "<string>",
"comment": "<string>",
"comment_date": "2023-11-07T05:31:56Z",
"reimbursed_amount": 123,
"unpaid_amount": 123,
"external_transaction_id": 123,
"status_id": 123
}
],
"memberships": [
{
"id": 123,
"contact_id": 123,
"start_date": "2023-11-07T05:31:56Z",
"end_date": "2023-11-07T05:31:56Z",
"membership_price_id": 123,
"amount": 123,
"amount_initial": 123,
"currency": "<string>",
"comment": "<string>",
"rolling_year": true
}
],
"donations": [
{
"id": 123,
"contact_id": 123,
"date": "2023-11-07T05:31:56Z",
"amount": 123,
"initial_amount": 123,
"currency": "<string>",
"donation_price_id": 123,
"affectation": "<string>",
"comment": "<string>"
}
],
"summary": {
"transactions_count": 123,
"memberships_count": 123,
"donations_count": 123
}
}
}Create a new transaction bundle. A bundle represents a single payment event and groups the financial transaction(s) with the products purchased (memberships, donations, or both).
One API key = one space The bundle is recorded in the space associated with the API key you use. The contact can belong to a different space — their profile will still show the transaction. This is the correct way to handle contacts who move between spaces or for national/world-level transactions: use the API key of the space where the transaction should appear financially.
Payer vs. Beneficiary
contact_id in transactions → the payer (who made the payment)contact_id in memberships → the beneficiary (who gets the membership)contact_id in donations → the beneficiary (who gets the donation credit)
These can be different people. When they differ, the transaction will have the “Tiers Payant” status in most group configurations.Getting valid IDs before creating
GET /v1/transaction_settings → payment_method_kindsGET /v1/transaction_statuses (use default_status_id from settings for new valid transactions)GET /v1/membership_pricesGET /v1/donation_pricesGET /v1/code_campaignsexternal_transaction_id
Must be a plain integer. Used as your external reference and for deduplication. String suffixes (e.g. "1001_a") are not supported.
Dates
All dates must be valid ISO 8601 timestamps. The date you provide is stored as-is (UTC). Avoid invalid calendar dates (e.g. 2025-02-31).
Required for creation:
transactions with: amount, currency, payment_method_kind, contact_id, dateExample — membership:
{
"data": {
"transactions": [
{
"contact_id": 123456,
"amount": 2000,
"currency": "eur",
"payment_method_kind": "CB",
"date": "2026-03-29T12:59:52+02:00",
"external_transaction_id": 1001,
"status_id": 1,
"comment": "Imported via API"
}
],
"memberships": [
{
"contact_id": 123456,
"membership_price_id": 10,
"start_date": "2026-01-01T00:00:00+02:00",
"end_date": "2026-12-31T00:00:00+02:00",
"amount": 2000,
"amount_initial": 2000,
"currency": "eur"
}
]
}
}
status_id: 1is illustrative — use thedefault_status_idfromGET /v1/transaction_settingsfor your group.membership_price_id: 10is illustrative — use IDs fromGET /v1/membership_prices.
Example — donation:
{
"data": {
"transactions": [
{
"contact_id": 123456,
"amount": 5000,
"currency": "eur",
"payment_method_kind": "CB",
"date": "2026-03-27T18:00:28+02:00",
"external_transaction_id": 1002,
"status_id": 1,
"comment": "Imported via API"
}
],
"donations": [
{
"contact_id": 123456,
"amount": 5000,
"currency": "eur",
"donation_price_id": 20
}
]
}
}
donation_price_id: 20is illustrative — use IDs fromGET /v1/donation_prices.
Example — different payer and beneficiary (Tiers Payant):
{
"data": {
"transactions": [
{
"contact_id": 123456,
"amount": 2000,
"currency": "eur",
"payment_method_kind": "CB",
"date": "2026-03-29T10:00:00Z",
"external_transaction_id": 1003,
"status_id": 1
}
],
"memberships": [
{
"contact_id": 789012,
"membership_price_id": 10,
"start_date": "2026-01-01T00:00:00Z",
"end_date": "2026-12-31T00:00:00Z",
"amount": 2000,
"amount_initial": 2000,
"currency": "eur"
}
]
}
}
Here contact 123456 paid, but the membership is attributed to contact 789012.
curl --request POST \
--url https://incoming.qomon.app/v1/transaction_bundles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"id": 123,
"transactions": [
{
"id": 123,
"amount": 123,
"currency": "<string>",
"payment_method_kind": "<string>",
"payment_method": {},
"contact_id": 123,
"date": "2023-11-07T05:31:56Z",
"code_campaign": "<string>",
"delivered_at": "2023-11-07T05:31:56Z",
"delivery_token": "<string>",
"comment": "<string>",
"comment_date": "2023-11-07T05:31:56Z",
"reimbursed_amount": 123,
"unpaid_amount": 123,
"external_transaction_id": 123,
"status_id": 123
}
],
"memberships": [
{
"id": 123,
"contact_id": 123,
"start_date": "2023-11-07T05:31:56Z",
"end_date": "2023-11-07T05:31:56Z",
"membership_price_id": 123,
"amount": 123,
"amount_initial": 123,
"currency": "<string>",
"comment": "<string>",
"rolling_year": true
}
],
"donations": [
{
"id": 123,
"contact_id": 123,
"date": "2023-11-07T05:31:56Z",
"amount": 123,
"initial_amount": 123,
"currency": "<string>",
"donation_price_id": 123,
"affectation": "<string>",
"comment": "<string>"
}
],
"summary": {
"transactions_count": 123,
"memberships_count": 123,
"donations_count": 123
}
}
}
'{
"status": "success",
"data": {
"id": 123,
"transactions": [
{
"id": 123,
"amount": 123,
"currency": "<string>",
"payment_method_kind": "<string>",
"payment_method": {},
"contact_id": 123,
"date": "2023-11-07T05:31:56Z",
"code_campaign": "<string>",
"delivered_at": "2023-11-07T05:31:56Z",
"delivery_token": "<string>",
"comment": "<string>",
"comment_date": "2023-11-07T05:31:56Z",
"reimbursed_amount": 123,
"unpaid_amount": 123,
"external_transaction_id": 123,
"status_id": 123
}
],
"memberships": [
{
"id": 123,
"contact_id": 123,
"start_date": "2023-11-07T05:31:56Z",
"end_date": "2023-11-07T05:31:56Z",
"membership_price_id": 123,
"amount": 123,
"amount_initial": 123,
"currency": "<string>",
"comment": "<string>",
"rolling_year": true
}
],
"donations": [
{
"id": 123,
"contact_id": 123,
"date": "2023-11-07T05:31:56Z",
"amount": 123,
"initial_amount": 123,
"currency": "<string>",
"donation_price_id": 123,
"affectation": "<string>",
"comment": "<string>"
}
],
"summary": {
"transactions_count": 123,
"memberships_count": 123,
"donations_count": 123
}
}
}Documentation Index
Fetch the complete documentation index at: https://qomon-86428773.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Transaction bundle data. The bundle must contain at least one transaction.
Example:
{
"data": {
"transactions": [
{
"amount": 5000,
"currency": "eur",
"payment_method_kind": "card",
"contact_id": 123,
"date": "2024-01-15T10:00:00Z",
"status_id": 1
}
],
"memberships": [
{
"contact_id": 123,
"start_date": "2024-01-15T00:00:00Z",
"end_date": "2024-12-31T23:59:59Z",
"membership_price_id": 5,
"amount": 3000,
"amount_initial": 3000,
"currency": "eur"
}
],
"donations": [
{
"contact_id": 123,
"amount": 2000,
"initial_amount": 2000,
"currency": "eur",
"donation_price_id": 2
}
]
}
}A transaction bundle groups together related financial operations (transactions, memberships, donations) that are part of a single payment event.
Structure:
transactions: Array of payment transactions (required - at least one)memberships: Array of membership subscriptions (optional)donations: Array of donation contributions (optional)summary: Automatically calculated counts (read-only, returned in responses only)When Creating:
id field (auto-generated)summary (auto-calculated, returned in responses)When Updating:
id field matching the bundle ID in the URLid for existing items you want to modifyid for new items you want to addShow child attributes
Successful operation
"success"
A transaction bundle groups together related financial operations (transactions, memberships, donations) that are part of a single payment event.
Structure:
transactions: Array of payment transactions (required - at least one)memberships: Array of membership subscriptions (optional)donations: Array of donation contributions (optional)summary: Automatically calculated counts (read-only, returned in responses only)When Creating:
id field (auto-generated)summary (auto-calculated, returned in responses)When Updating:
id field matching the bundle ID in the URLid for existing items you want to modifyid for new items you want to addShow child attributes
Was this page helpful?