TapRaise
  • Home
  • API Overview
    • Authentication
    • Pagination
    • Response composition
    • Marking as processed
  • API REFERENCE
    • Pledges
    • Persons
    • Calls
    • Transactions
    • Users
    • Shifts
    • Entity access
  • Get support
Powered by GitBook
On this page

Was this helpful?

  1. API REFERENCE

Pledges

Last updated 9 months ago

Was this helpful?

Update the status of a pledge

put

This endpoint allows you to execute actions to updates the status of a pledge, if your service account allows you to and the pledge is within your organization scope.

See the response documentation for the possible statuses and what they mean.

It returns the updated pledge case.

Authorizations
Path parameters
uuidstring · uuidRequired

The UUID of the pledge to update the status for

statusUpdateActionstring · enumRequired

The status update action

Possible values:
Responses
200
Pledge was updated
application/json
400
Bad request. Response body shows what the problem is.
401
Service account not properly authenticated
403
Service account forbids executing this action
404
Pledge to update is not found
put
PUT /api/v1/pledges/{uuid}/actions/{statusUpdateAction} HTTP/1.1
Host: 
Authorization: Bearer jwt
Accept: */*
{
  "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
  "status": "lead",
  "startsAt": "2017-07-21T17:32:28Z",
  "endsAt": "2017-07-21T17:32:28Z",
  "createdAt": "2017-07-21T17:32:28Z",
  "updatedAt": "2017-07-21T17:32:28Z",
  "releasedAt": "2017-07-21T17:32:28Z",
  "owningOrganization": {
    "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
    "name": "Good Cause Charity"
  },
  "recruitingOrganization": {
    "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
    "name": "Good Cause Charity"
  },
  "recruitingLocationLabel": "Utrecht",
  "initialDonationAmount": 7.5,
  "donationAmount": 7.5,
  "initialDonationInterval": "monthly",
  "donationInterval": "monthly",
  "preferredPaymentDay": 13,
  "person": {
    "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
    "academicTitle": "Dr.",
    "initials": "B.",
    "firstName": "Beth",
    "lastNamePrefix": null,
    "lastName": "Cormier",
    "dateOfBirth": "1978-05-01",
    "socialSecurityNumber": "12345678901",
    "iban": "NL13ABNA6371362585",
    "address": {
      "street": "Claudius Prinsenlaan",
      "houseNumber": "12",
      "houseNumberExtension": null,
      "zipCode": "4811DK",
      "city": "Breda",
      "country": "NL"
    },
    "phoneNumber": "+31208995262",
    "mobilePhoneNumber": "+31611223344",
    "email": "development@tapraise.dev",
    "gender": "male",
    "optInEmail": true,
    "optInPhone": false,
    "optInMail": null,
    "optInSms": null,
    "language": "nl",
    "mandate": {
      "createdAt": "2017-07-21T17:32:28Z"
    },
    "createdAt": "2017-07-21T17:32:28Z",
    "owningOrganization": {
      "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
      "name": "Good Cause Charity"
    }
  },
  "recruitmentType": "d2d",
  "recruiterUser": {
    "uuid": "83d7638b-ad2b-4d6d-8805-9c4352352599",
    "identifier": "64271"
  },
  "signatureSignedUrl": "https://storage.googleapis.com/test/signature.mp3?GoogleAccessId=service-account%40test.iam.gserviceaccount.com&Expires=1659968507&Signature=",
  "transactions": [
    {
      "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
      "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
      "origin": {
        "name": "pledgeCase",
        "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
      },
      "amount": 7.5,
      "name": "Peter Janssen",
      "iban": "NL91ABNA0417164300",
      "description": "Bedankt voor uw donatie!",
      "provider": "cm",
      "method": "idealqr",
      "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
      "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
      "providerMetadata": {
        "key": "value"
      },
      "createdAt": "2023-05-01T00:00:00.000Z",
      "updatedAt": "2023-05-01T00:00:00.000Z",
      "status": "open"
    }
  ],
  "calls": [
    {
      "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
      "status": "requested",
      "requestedAt": "2025-05-17T11:31:23.769Z",
      "externalMetadata": {
        "applicationName": "basicall",
        "referenceId": "ref_1234567890",
        "agentReferenceId": "agent_1234567890",
        "statusCode": "completed",
        "statusDescription": "The call was completed successfully",
        "additionalProperties": {
          "foo": "bar"
        }
      },
      "attempts": [
        {
          "userUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
          "attemptAt": "2025-05-17T11:31:23.769Z",
          "createdAt": "2025-05-17T11:31:23.769Z"
        }
      ],
      "attemptsCount": 1,
      "result": {
        "resultCode": "confirmed",
        "completedAt": "2025-05-17T11:31:23.769Z",
        "notes": "text",
        "duration": 120.23,
        "donorRetentionRating": 7
      },
      "lastUpdatedAt": "2025-05-17T11:31:23.769Z",
      "cancelledAt": "2025-05-17T11:31:23.769Z",
      "completedAt": "2025-05-17T11:31:23.769Z",
      "expiredAt": "2025-05-17T11:31:23.769Z",
      "notes": "text",
      "personUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "relatedCaseUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "callingOrganizationUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "type": "happy_call",
      "pledgeCase": {
        "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
        "status": "lead",
        "startsAt": "2017-07-21T17:32:28Z",
        "endsAt": "2017-07-21T17:32:28Z",
        "createdAt": "2017-07-21T17:32:28Z",
        "updatedAt": "2017-07-21T17:32:28Z",
        "releasedAt": "2017-07-21T17:32:28Z",
        "owningOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        },
        "recruitingOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        },
        "recruitingLocationLabel": "Utrecht",
        "initialDonationAmount": 7.5,
        "donationAmount": 7.5,
        "initialDonationInterval": "monthly",
        "donationInterval": "monthly",
        "preferredPaymentDay": 13,
        "person": {
          "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "academicTitle": "Dr.",
          "initials": "B.",
          "firstName": "Beth",
          "lastNamePrefix": null,
          "lastName": "Cormier",
          "dateOfBirth": "1978-05-01",
          "socialSecurityNumber": "12345678901",
          "iban": "NL13ABNA6371362585",
          "address": {
            "street": "Claudius Prinsenlaan",
            "houseNumber": "12",
            "houseNumberExtension": null,
            "zipCode": "4811DK",
            "city": "Breda",
            "country": "NL"
          },
          "phoneNumber": "+31208995262",
          "mobilePhoneNumber": "+31611223344",
          "email": "development@tapraise.dev",
          "gender": "male",
          "optInEmail": true,
          "optInPhone": false,
          "optInMail": null,
          "optInSms": null,
          "language": "nl",
          "mandate": {
            "createdAt": "2017-07-21T17:32:28Z"
          },
          "createdAt": "2017-07-21T17:32:28Z",
          "owningOrganization": {
            "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
            "name": "Good Cause Charity"
          }
        },
        "recruitmentType": "d2d",
        "recruiterUser": {
          "uuid": "83d7638b-ad2b-4d6d-8805-9c4352352599",
          "identifier": "64271"
        },
        "signatureSignedUrl": "https://storage.googleapis.com/test/signature.mp3?GoogleAccessId=service-account%40test.iam.gserviceaccount.com&Expires=1659968507&Signature=",
        "transactions": [
          {
            "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
            "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
            "origin": {
              "name": "pledgeCase",
              "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
            },
            "amount": 7.5,
            "name": "Peter Janssen",
            "iban": "NL91ABNA0417164300",
            "description": "Bedankt voor uw donatie!",
            "provider": "cm",
            "method": "idealqr",
            "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
            "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
            "providerMetadata": {
              "key": "value"
            },
            "createdAt": "2023-05-01T00:00:00.000Z",
            "updatedAt": "2023-05-01T00:00:00.000Z",
            "status": "open"
          }
        ],
        "calls": [
          "[Circular Reference]"
        ],
        "focusAreas": [
          {
            "uuid": "95dc688a-b757-4bf6-a0fb-47dda3f0dbf5",
            "name": "Health",
            "externalSource": {
              "name": "text",
              "identifier": "1234"
            }
          }
        ],
        "externalSource": {
          "name": "text",
          "identifier": "1234"
        },
        "externalMetadata": {}
      },
      "person": {
        "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
        "academicTitle": "Dr.",
        "initials": "B.",
        "firstName": "Beth",
        "lastNamePrefix": null,
        "lastName": "Cormier",
        "dateOfBirth": "1978-05-01",
        "socialSecurityNumber": "12345678901",
        "iban": "NL13ABNA6371362585",
        "address": {
          "street": "Claudius Prinsenlaan",
          "houseNumber": "12",
          "houseNumberExtension": null,
          "zipCode": "4811DK",
          "city": "Breda",
          "country": "NL"
        },
        "phoneNumber": "+31208995262",
        "mobilePhoneNumber": "+31611223344",
        "email": "development@tapraise.dev",
        "gender": "male",
        "optInEmail": true,
        "optInPhone": false,
        "optInMail": null,
        "optInSms": null,
        "language": "nl",
        "mandate": {
          "createdAt": "2017-07-21T17:32:28Z"
        },
        "createdAt": "2017-07-21T17:32:28Z",
        "owningOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        }
      },
      "transactions": [
        {
          "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "origin": {
            "name": "pledgeCase",
            "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
          },
          "amount": 7.5,
          "name": "Peter Janssen",
          "iban": "NL91ABNA0417164300",
          "description": "Bedankt voor uw donatie!",
          "provider": "cm",
          "method": "idealqr",
          "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
          "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
          "providerMetadata": {
            "key": "value"
          },
          "createdAt": "2023-05-01T00:00:00.000Z",
          "updatedAt": "2023-05-01T00:00:00.000Z",
          "status": "open"
        }
      ]
    }
  ],
  "focusAreas": [
    {
      "uuid": "95dc688a-b757-4bf6-a0fb-47dda3f0dbf5",
      "name": "Health",
      "externalSource": {
        "name": "text",
        "identifier": "1234"
      }
    }
  ],
  "externalSource": {
    "name": "text",
    "identifier": "1234"
  },
  "externalMetadata": {}
}
  • GET/api/v1/pledges
  • POSTCreate a pledge
  • PUTUpdate a pledge case
  • PUTUpdate the status of a pledge
get

The pledges you are able to fetch might be filtered by your service account's permissions, the organization you represent and the filters you have applied.

The collection you are paginating is sorted by creation datetime, descending. This means that the first page contains the most recently created pledges.

Fetching newly released pledges periodically

When you are retrieving recently released pledges using the releasedAfter-filter, one thing to keep in mind is not to store the last cursor as the starting point for retrieving tomorrow's results.

When pledges are created/submitted, they are released after a cooling down period, to allow for proper verification. However the returned collection you are paginating is sorted by creation datetime, this means that newly released pledges were previously not returned but might get added to the collection BEFORE your current cursor, which might result in you missing out on pledges.

Therefor we recommend storing the date and time you last fetched, and use that next time as the releasedAfter-filter value, instead of the last cursor.

  1. First day: retrieve until pageInfo.hasNextPage is false in the response, and afterwards store the date and time of now, to be the releasedAfter-value for tomorrow.

    • first page: /api/v1/pledges?releasedAfter=[initial]&first=50
    • second page: /api/v1/pledges?releasedAfter=[initial]&first=10&after=41222ef7-a861-4bbd-ae93-2f645336b85d
    • ...
    • last page: /api/v1/pledges?releasedAfter=[initial]&first=10&after=10d303b1-4eca-4db4-9ae7-7cd65f98a5b5
  2. Second day: retrieve all released after the previous datetime you fetched, retrieve until pageInfo.hasNextPage is false in the response, and afterwards store the date and time of the last pledge you received.

    • first page: /api/v1/pledges?releasedAfter=[previousDay]&first=50
    • second page: /api/v1/pledges?releasedAfter=[previousDay]&first=10&after=bd82f150-a797-4d9f-af09-c3ea06964e9d
    • ...
    • last page: /api/v1/pledges?releasedAfter=[previousDay]&first=10&after=3c53b11a-adef-4dc1-90d7-c23dc0108492
  3. etc.

Authorizations
Query parameters
includestringOptional

Include additional data in the response

Example: transactions
beforestringOptional

Pledge cursor to fetch results before

Example: a3c2a57e-2797-4159-8700-8ad55bf8150e
lastnumberOptional

The amount of results to fetch before the 'before' cursor

Example: 10
afterstringOptional

Pledge cursor to fetch results after

Example: a3c2a57e-2797-4159-8700-8ad55bf8150e
firstnumberOptional

The amount of results to fetch after the 'after' cursor

Example: 10
personUuidstringOptional

Filter by person uuid. This will be a v4 UUID

Example: a3c2a57e-2797-4159-8700-8ad55bf8150e
statusstring · enumOptional

Pledge case status Note: released is deprecated and will be removed in the next version

Example: leadPossible values:
updatedAfterstring · date-timeOptional

ISO8601 compatible datetime string. If applied only pledges will be returned that have been updated after the supplied datetime

Example: 2017-07-21T17:32:28Z
releasedAfterstring · date-timeOptional

ISO8601 compatible datetime string

Example: 2017-07-21T17:32:28Z
Responses
200Success
application/json
400
Bad request. Response body shows what the problem is.
401
Service account not properly authenticated
403
Service account forbids executing this action
default
application/json
get
GET /api/v1/pledges HTTP/1.1
Host: 
Authorization: Bearer jwt
Accept: */*
{
  "edges": [
    {
      "node": {
        "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
        "status": "lead",
        "startsAt": "2017-07-21T17:32:28Z",
        "endsAt": "2017-07-21T17:32:28Z",
        "createdAt": "2017-07-21T17:32:28Z",
        "updatedAt": "2017-07-21T17:32:28Z",
        "releasedAt": "2017-07-21T17:32:28Z",
        "owningOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        },
        "recruitingOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        },
        "recruitingLocationLabel": "Utrecht",
        "initialDonationAmount": 7.5,
        "donationAmount": 7.5,
        "initialDonationInterval": "monthly",
        "donationInterval": "monthly",
        "preferredPaymentDay": 13,
        "person": {
          "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "academicTitle": "Dr.",
          "initials": "B.",
          "firstName": "Beth",
          "lastNamePrefix": null,
          "lastName": "Cormier",
          "dateOfBirth": "1978-05-01",
          "socialSecurityNumber": "12345678901",
          "iban": "NL13ABNA6371362585",
          "address": {
            "street": "Claudius Prinsenlaan",
            "houseNumber": "12",
            "houseNumberExtension": null,
            "zipCode": "4811DK",
            "city": "Breda",
            "country": "NL"
          },
          "phoneNumber": "+31208995262",
          "mobilePhoneNumber": "+31611223344",
          "email": "development@tapraise.dev",
          "gender": "male",
          "optInEmail": true,
          "optInPhone": false,
          "optInMail": null,
          "optInSms": null,
          "language": "nl",
          "mandate": {
            "createdAt": "2017-07-21T17:32:28Z"
          },
          "createdAt": "2017-07-21T17:32:28Z",
          "owningOrganization": {
            "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
            "name": "Good Cause Charity"
          }
        },
        "recruitmentType": "d2d",
        "recruiterUser": {
          "uuid": "83d7638b-ad2b-4d6d-8805-9c4352352599",
          "identifier": "64271"
        },
        "signatureSignedUrl": "https://storage.googleapis.com/test/signature.mp3?GoogleAccessId=service-account%40test.iam.gserviceaccount.com&Expires=1659968507&Signature=",
        "transactions": [
          {
            "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
            "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
            "origin": {
              "name": "pledgeCase",
              "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
            },
            "amount": 7.5,
            "name": "Peter Janssen",
            "iban": "NL91ABNA0417164300",
            "description": "Bedankt voor uw donatie!",
            "provider": "cm",
            "method": "idealqr",
            "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
            "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
            "providerMetadata": {
              "key": "value"
            },
            "createdAt": "2023-05-01T00:00:00.000Z",
            "updatedAt": "2023-05-01T00:00:00.000Z",
            "status": "open"
          }
        ],
        "calls": [
          {
            "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
            "status": "requested",
            "requestedAt": "2025-05-17T11:31:23.769Z",
            "externalMetadata": {
              "applicationName": "basicall",
              "referenceId": "ref_1234567890",
              "agentReferenceId": "agent_1234567890",
              "statusCode": "completed",
              "statusDescription": "The call was completed successfully",
              "additionalProperties": {
                "foo": "bar"
              }
            },
            "attempts": [
              {
                "userUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
                "attemptAt": "2025-05-17T11:31:23.769Z",
                "createdAt": "2025-05-17T11:31:23.769Z"
              }
            ],
            "attemptsCount": 1,
            "result": {
              "resultCode": "confirmed",
              "completedAt": "2025-05-17T11:31:23.769Z",
              "notes": "text",
              "duration": 120.23,
              "donorRetentionRating": 7
            },
            "lastUpdatedAt": "2025-05-17T11:31:23.769Z",
            "cancelledAt": "2025-05-17T11:31:23.769Z",
            "completedAt": "2025-05-17T11:31:23.769Z",
            "expiredAt": "2025-05-17T11:31:23.769Z",
            "notes": "text",
            "personUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
            "relatedCaseUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
            "callingOrganizationUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
            "type": "happy_call",
            "pledgeCase": "[Circular Reference]",
            "person": {
              "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
              "academicTitle": "Dr.",
              "initials": "B.",
              "firstName": "Beth",
              "lastNamePrefix": null,
              "lastName": "Cormier",
              "dateOfBirth": "1978-05-01",
              "socialSecurityNumber": "12345678901",
              "iban": "NL13ABNA6371362585",
              "address": {
                "street": "Claudius Prinsenlaan",
                "houseNumber": "12",
                "houseNumberExtension": null,
                "zipCode": "4811DK",
                "city": "Breda",
                "country": "NL"
              },
              "phoneNumber": "+31208995262",
              "mobilePhoneNumber": "+31611223344",
              "email": "development@tapraise.dev",
              "gender": "male",
              "optInEmail": true,
              "optInPhone": false,
              "optInMail": null,
              "optInSms": null,
              "language": "nl",
              "mandate": {
                "createdAt": "2017-07-21T17:32:28Z"
              },
              "createdAt": "2017-07-21T17:32:28Z",
              "owningOrganization": {
                "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
                "name": "Good Cause Charity"
              }
            },
            "transactions": [
              {
                "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
                "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
                "origin": {
                  "name": "pledgeCase",
                  "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
                },
                "amount": 7.5,
                "name": "Peter Janssen",
                "iban": "NL91ABNA0417164300",
                "description": "Bedankt voor uw donatie!",
                "provider": "cm",
                "method": "idealqr",
                "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
                "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
                "providerMetadata": {
                  "key": "value"
                },
                "createdAt": "2023-05-01T00:00:00.000Z",
                "updatedAt": "2023-05-01T00:00:00.000Z",
                "status": "open"
              }
            ]
          }
        ],
        "focusAreas": [
          {
            "uuid": "95dc688a-b757-4bf6-a0fb-47dda3f0dbf5",
            "name": "Health",
            "externalSource": {
              "name": "text",
              "identifier": "1234"
            }
          }
        ],
        "externalSource": {
          "name": "text",
          "identifier": "1234"
        },
        "externalMetadata": {}
      },
      "cursor": "48094b0e-15b3-430f-ab5a-16ecf12b9171"
    }
  ],
  "pageInfo": {
    "startCursor": "48094b0e-15b3-430f-ab5a-16ecf12b9171",
    "endCursor": "494d74df-6fbc-46a3-811e-1c17230340a1",
    "hasPreviousPage": true,
    "hasNextPage": false
  }
}

Create a pledge

post

This endpoint creates a pledge for an organization, if your service account allows you to.

The 'owningOrganizationUuid' and 'recruitingOrganizationUuid' might also be bound to limitations depending on your service account's organization scope and permissions.

We advice you to provide your own 'uuid' value, as you can use this as a mechanism to ensure the pledge is only created once. When accidentally the pledge is posted twice, the uuid will ensure it is only saved the first time, and a 409 CONFLICT status will be returned when posted a second time with the same uuid. When you don't supply a uuid, the system will generate one for you, which will be returned in the response body.

This endpoint will return the pledge created with the data in your request body.

Determining where the pledge will be managed

When creating a pledge through the API, you need to determine where the pledge will be managed. You can do this by supplying or not supplying an externalSource-property in the request body. Based upon the value of this property, different input validation and domain rules apply.

When you don't supply an external source, we consider the pledge to be primarily managed in TapRaise.app, and it needs to adhere to TapRaise's domain rules that are there to ensure it's validity and quality. This means it will start out as a 'lead' in our system, and cannot be created in any other status. Afterwards it can be updated in the TapRaise.app UI.

When you supply an external source, we consider the pledge to be primarily managed at that source, and do NOT apply the domain rules we apply on pledges managed in TapRaise. We consider it as external data that cannot be updated in TapRaise.app.

Be sure to check the descriptions for fields in the request body to see which fields are required, optional or forbidden for each scenario.

Authorizations
Body
uuidstring · uuidOptional

UUID (v4). The pledge's globally unique identifier in the system. If not provided, a new UUID will be generated.

Example: 82b431f0-f401-4afd-b6db-9d1d751232d9
externalSourceall ofOptional

When provided the pledge is considered to be managed in this external system, and the pledge is not editable in TapRaise and does not need to adhere to the TapRaise domain rules. See the general description of this endpoint for more information.

Default: null
personUuidstring · uuidRequired

UUID (v4) of the person that made this pledge.

Example: adb97226-a7d7-4a39-8564-765131d5643b
statusstring · enumOptional

The current status of the pledge:

  • lead → lead pledge, to be collected. Initial status.
  • active → active pledge, being collected.
  • dropped → dropped before it was ever collected or released.
  • cancelled → cancelled after it was collected or released.
  • fulfilled → ended after reaching its end date.

Status is not allowed to be set when creating a pledge that is managed in TapRaise. It will by default get assigned status lead after creation. Externally sourced pledges are allowed to be created with any status from the whitelist.

Example: activePossible values:
createdAtstringRequired

Date of pledge creation, formatted as ISO8601 date string.

Example: 2023-05-01T00:00:00.000Z
owningOrganizationUuidstring · uuidRequired

UUID (v4) of the organization that owns this pledge.

Example: 82b431f0-f401-4afd-b6db-9d1d751232d9
recruitingOrganizationUuidstring · uuidRequired

UUID (v4) of the organization that recruited this pledge

Example: 82b431f0-f401-4afd-b6db-9d1d751232d9
recruitingLocationLabelstringOptional

The label of the location where the pledge was recruited.

Example: Utrecht
donationIntervalstring · enumOptional

The interval of the donation. The donation interval is not allowed to be set when creating a pledge that is managed in TapRaise. Use initialDonationInterval instead. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Example: monthlyPossible values:
donationAmountnumberOptional

The current donated amount, in Euros. The donation amount is not allowed to be set when creating a pledge that is managed in TapRaise. Use initialDonationAmount instead. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed..

Example: 7.5
initialDonationIntervalstring · enumRequired

The initial donation interval of this pledge. As the donation interval might change over time, this field represents the donation interval at the moment the pledge was created. The donationInterval field should contain its current value.

Example: oncePossible values:
initialDonationAmountnumberRequired

The initial donation amount of this pledge, in Euros. As the donation amount might change over time, this fields represents the amount at the moment the pledge was created. The donationAmount field should contain its current value.

Example: 12.5
recruitmentTypestring · enumOptional

Describes how this pledge was recruited. Currently supported values are:

  • d2d → Door-to-door recruitment
  • street → Street recruitment
Example: streetPossible values:
recruiterUserUuidstring · uuidRequired

UUID (v4) of the recruiter that recruited the pledge.

Example: 82b431f0-f401-4afd-b6db-9d1d751232d9
startsAtstringRequired

Date of pledge start, formatted as ISO8601 date string

Example: 2023-05-01T00:00:00.000Z
creationMetadataall ofOptional

This field allows you to add metadata to the pledge concerning where it origins from, for later reference.

focusAreaUuidsstring · uuid[]Optional

Array of UUIDs (v4) of the focus areas for this pledge. During recruitment the recruiter can select one or more focus areas for the pledge, that can later on for instance be used to filter pledges or supply custom news feeds to them. The supplied UUIDs should match the allowed focus areas for the owning organization.

Default: []Example: ['4bb765d0-3d5f-48ab-ac7e-59da84d5f297']
signatureall ofOptional

Signature of the person that made the pledge, that functions as a proof of consent. For now we only support signatures for internal purposes, but in the future we might support external signatures as well.

Default: null
cancellationReasonall ofOptional

When the pledge is cancelled, this field should contain a cancellation reason. This field is not allowed to be set when creating a pledge that is managed in TapRaise. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Default: null
cancelledAtstringOptional

Date of pledge cancellation, formatted as ISO8601 date string. This field is not allowed to be set when creating a pledge that is managed in TapRaise. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Example: 2023-05-01T00:00:00.000Z
preferredPaymentDaynumberOptional

The preferred day of the month the pledge is to be collected on. Should be an integer between 1 and 28.

Default: nullExample: 8
droppedAtstringOptional

Date when the pledge was dropped, formatted as ISO8601 date string. This field is not allowed to be set when creating a pledge that is managed in TapRaise. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Example: 2023-05-01T00:00:00.000Z
releasedAtstringOptional

Date when the pledge was released, formatted as ISO8601 date string. This field is not allowed to be set when creating a pledge that is managed in TapRaise. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Example: 2023-05-01T00:00:00.000Z
endsAtstringOptional

Date the pledge ends, formatted as ISO8601 date string. Leave empty if unknown. This field is not allowed to be set when creating a pledge that is managed in TapRaise. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Example: 2023-05-01T00:00:00.000Z
externalMetadataobjectOptional

Additional properties provided by/about the external system. This field is allowed to be set when creating a pledge that is managed in TapRaise. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Responses
201
Pledge was created
application/json
400
Bad request. Response body shows what the problem is.
401
Service account not properly authenticated
403
Service account forbids executing this action
409
Pledge already exists
post
POST /api/v1/pledges HTTP/1.1
Host: 
Authorization: Bearer jwt
Content-Type: application/json
Accept: */*
Content-Length: 1202

{
  "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
  "externalSource": {
    "name": "text",
    "identifier": "1234"
  },
  "personUuid": "adb97226-a7d7-4a39-8564-765131d5643b",
  "status": "active",
  "createdAt": "2023-05-01T00:00:00.000Z",
  "owningOrganizationUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
  "recruitingOrganizationUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
  "recruitingLocationLabel": "Utrecht",
  "donationInterval": "monthly",
  "donationAmount": 7.5,
  "initialDonationInterval": "once",
  "initialDonationAmount": 12.5,
  "recruitmentType": "street",
  "recruiterUserUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
  "startsAt": "2023-05-01T00:00:00.000Z",
  "creationMetadata": {
    "software": "Wordpress TapRaise plugin",
    "version": "1.2.0-beta.1",
    "userAgent": "Firefox 68.0.1 (Mac OS X 10.14.6)"
  },
  "focusAreaUuids": "['4bb765d0-3d5f-48ab-ac7e-59da84d5f297']",
  "signature": {
    "type": "audio",
    "fileLocation": {
      "path": "text",
      "bucket": "text"
    }
  },
  "cancellationReason": {
    "identifier": "chargeback",
    "note": "Requested on the phone by the donor on November 12th, 2023."
  },
  "cancelledAt": "2023-05-01T00:00:00.000Z",
  "preferredPaymentDay": 8,
  "droppedAt": "2023-05-01T00:00:00.000Z",
  "releasedAt": "2023-05-01T00:00:00.000Z",
  "endsAt": "2023-05-01T00:00:00.000Z",
  "externalMetadata": {}
}
{
  "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
  "status": "lead",
  "startsAt": "2017-07-21T17:32:28Z",
  "endsAt": "2017-07-21T17:32:28Z",
  "createdAt": "2017-07-21T17:32:28Z",
  "updatedAt": "2017-07-21T17:32:28Z",
  "releasedAt": "2017-07-21T17:32:28Z",
  "owningOrganization": {
    "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
    "name": "Good Cause Charity"
  },
  "recruitingOrganization": {
    "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
    "name": "Good Cause Charity"
  },
  "recruitingLocationLabel": "Utrecht",
  "initialDonationAmount": 7.5,
  "donationAmount": 7.5,
  "initialDonationInterval": "monthly",
  "donationInterval": "monthly",
  "preferredPaymentDay": 13,
  "person": {
    "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
    "academicTitle": "Dr.",
    "initials": "B.",
    "firstName": "Beth",
    "lastNamePrefix": null,
    "lastName": "Cormier",
    "dateOfBirth": "1978-05-01",
    "socialSecurityNumber": "12345678901",
    "iban": "NL13ABNA6371362585",
    "address": {
      "street": "Claudius Prinsenlaan",
      "houseNumber": "12",
      "houseNumberExtension": null,
      "zipCode": "4811DK",
      "city": "Breda",
      "country": "NL"
    },
    "phoneNumber": "+31208995262",
    "mobilePhoneNumber": "+31611223344",
    "email": "development@tapraise.dev",
    "gender": "male",
    "optInEmail": true,
    "optInPhone": false,
    "optInMail": null,
    "optInSms": null,
    "language": "nl",
    "mandate": {
      "createdAt": "2017-07-21T17:32:28Z"
    },
    "createdAt": "2017-07-21T17:32:28Z",
    "owningOrganization": {
      "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
      "name": "Good Cause Charity"
    }
  },
  "recruitmentType": "d2d",
  "recruiterUser": {
    "uuid": "83d7638b-ad2b-4d6d-8805-9c4352352599",
    "identifier": "64271"
  },
  "signatureSignedUrl": "https://storage.googleapis.com/test/signature.mp3?GoogleAccessId=service-account%40test.iam.gserviceaccount.com&Expires=1659968507&Signature=",
  "transactions": [
    {
      "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
      "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
      "origin": {
        "name": "pledgeCase",
        "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
      },
      "amount": 7.5,
      "name": "Peter Janssen",
      "iban": "NL91ABNA0417164300",
      "description": "Bedankt voor uw donatie!",
      "provider": "cm",
      "method": "idealqr",
      "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
      "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
      "providerMetadata": {
        "key": "value"
      },
      "createdAt": "2023-05-01T00:00:00.000Z",
      "updatedAt": "2023-05-01T00:00:00.000Z",
      "status": "open"
    }
  ],
  "calls": [
    {
      "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
      "status": "requested",
      "requestedAt": "2025-05-17T11:31:23.769Z",
      "externalMetadata": {
        "applicationName": "basicall",
        "referenceId": "ref_1234567890",
        "agentReferenceId": "agent_1234567890",
        "statusCode": "completed",
        "statusDescription": "The call was completed successfully",
        "additionalProperties": {
          "foo": "bar"
        }
      },
      "attempts": [
        {
          "userUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
          "attemptAt": "2025-05-17T11:31:23.769Z",
          "createdAt": "2025-05-17T11:31:23.769Z"
        }
      ],
      "attemptsCount": 1,
      "result": {
        "resultCode": "confirmed",
        "completedAt": "2025-05-17T11:31:23.769Z",
        "notes": "text",
        "duration": 120.23,
        "donorRetentionRating": 7
      },
      "lastUpdatedAt": "2025-05-17T11:31:23.769Z",
      "cancelledAt": "2025-05-17T11:31:23.769Z",
      "completedAt": "2025-05-17T11:31:23.769Z",
      "expiredAt": "2025-05-17T11:31:23.769Z",
      "notes": "text",
      "personUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "relatedCaseUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "callingOrganizationUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "type": "happy_call",
      "pledgeCase": {
        "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
        "status": "lead",
        "startsAt": "2017-07-21T17:32:28Z",
        "endsAt": "2017-07-21T17:32:28Z",
        "createdAt": "2017-07-21T17:32:28Z",
        "updatedAt": "2017-07-21T17:32:28Z",
        "releasedAt": "2017-07-21T17:32:28Z",
        "owningOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        },
        "recruitingOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        },
        "recruitingLocationLabel": "Utrecht",
        "initialDonationAmount": 7.5,
        "donationAmount": 7.5,
        "initialDonationInterval": "monthly",
        "donationInterval": "monthly",
        "preferredPaymentDay": 13,
        "person": {
          "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "academicTitle": "Dr.",
          "initials": "B.",
          "firstName": "Beth",
          "lastNamePrefix": null,
          "lastName": "Cormier",
          "dateOfBirth": "1978-05-01",
          "socialSecurityNumber": "12345678901",
          "iban": "NL13ABNA6371362585",
          "address": {
            "street": "Claudius Prinsenlaan",
            "houseNumber": "12",
            "houseNumberExtension": null,
            "zipCode": "4811DK",
            "city": "Breda",
            "country": "NL"
          },
          "phoneNumber": "+31208995262",
          "mobilePhoneNumber": "+31611223344",
          "email": "development@tapraise.dev",
          "gender": "male",
          "optInEmail": true,
          "optInPhone": false,
          "optInMail": null,
          "optInSms": null,
          "language": "nl",
          "mandate": {
            "createdAt": "2017-07-21T17:32:28Z"
          },
          "createdAt": "2017-07-21T17:32:28Z",
          "owningOrganization": {
            "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
            "name": "Good Cause Charity"
          }
        },
        "recruitmentType": "d2d",
        "recruiterUser": {
          "uuid": "83d7638b-ad2b-4d6d-8805-9c4352352599",
          "identifier": "64271"
        },
        "signatureSignedUrl": "https://storage.googleapis.com/test/signature.mp3?GoogleAccessId=service-account%40test.iam.gserviceaccount.com&Expires=1659968507&Signature=",
        "transactions": [
          {
            "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
            "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
            "origin": {
              "name": "pledgeCase",
              "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
            },
            "amount": 7.5,
            "name": "Peter Janssen",
            "iban": "NL91ABNA0417164300",
            "description": "Bedankt voor uw donatie!",
            "provider": "cm",
            "method": "idealqr",
            "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
            "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
            "providerMetadata": {
              "key": "value"
            },
            "createdAt": "2023-05-01T00:00:00.000Z",
            "updatedAt": "2023-05-01T00:00:00.000Z",
            "status": "open"
          }
        ],
        "calls": [
          "[Circular Reference]"
        ],
        "focusAreas": [
          {
            "uuid": "95dc688a-b757-4bf6-a0fb-47dda3f0dbf5",
            "name": "Health",
            "externalSource": {
              "name": "text",
              "identifier": "1234"
            }
          }
        ],
        "externalSource": {
          "name": "text",
          "identifier": "1234"
        },
        "externalMetadata": {}
      },
      "person": {
        "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
        "academicTitle": "Dr.",
        "initials": "B.",
        "firstName": "Beth",
        "lastNamePrefix": null,
        "lastName": "Cormier",
        "dateOfBirth": "1978-05-01",
        "socialSecurityNumber": "12345678901",
        "iban": "NL13ABNA6371362585",
        "address": {
          "street": "Claudius Prinsenlaan",
          "houseNumber": "12",
          "houseNumberExtension": null,
          "zipCode": "4811DK",
          "city": "Breda",
          "country": "NL"
        },
        "phoneNumber": "+31208995262",
        "mobilePhoneNumber": "+31611223344",
        "email": "development@tapraise.dev",
        "gender": "male",
        "optInEmail": true,
        "optInPhone": false,
        "optInMail": null,
        "optInSms": null,
        "language": "nl",
        "mandate": {
          "createdAt": "2017-07-21T17:32:28Z"
        },
        "createdAt": "2017-07-21T17:32:28Z",
        "owningOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        }
      },
      "transactions": [
        {
          "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "origin": {
            "name": "pledgeCase",
            "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
          },
          "amount": 7.5,
          "name": "Peter Janssen",
          "iban": "NL91ABNA0417164300",
          "description": "Bedankt voor uw donatie!",
          "provider": "cm",
          "method": "idealqr",
          "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
          "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
          "providerMetadata": {
            "key": "value"
          },
          "createdAt": "2023-05-01T00:00:00.000Z",
          "updatedAt": "2023-05-01T00:00:00.000Z",
          "status": "open"
        }
      ]
    }
  ],
  "focusAreas": [
    {
      "uuid": "95dc688a-b757-4bf6-a0fb-47dda3f0dbf5",
      "name": "Health",
      "externalSource": {
        "name": "text",
        "identifier": "1234"
      }
    }
  ],
  "externalSource": {
    "name": "text",
    "identifier": "1234"
  },
  "externalMetadata": {}
}

Update a pledge case

put

This endpoint can update the following details of the pledge case: donation amount, donation interval, start day of the donation, end day of the donation and the UUID of the recruiter.

Only supply the properties you want to update. When you supply null it means: update to null. When you don't supply anything it means: don't update.

The person who is allowed to update a pledge case is limited by your service account.

This endpoint will return the updated pledge case in the response body.

Authorizations
Path parameters
uuidstring · uuidRequired

The uuid of the pledge case

Body
recruitingLocationLabelstringOptional

The label of the location where the pledge was recruited.

Example: Utrecht
donationIntervalstring · enumOptional

The interval of the donation. The donation interval is only allowed to be set when updating a pledge that is managed in TapRaise. Use initialDonationInterval instead when creating a pledge. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Example: monthlyPossible values:
donationAmountnumberOptional

The current donated amount, in Euros. The donation amount is only allowed to be set when updating a pledge that is managed in TapRaise. Use initialDonationAmount instead when creating a pledge. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed..

Example: 7.5
recruiterUserUuidstring · uuidOptional

UUID (v4) of the recruiter that recruited the pledge.

Example: 82b431f0-f401-4afd-b6db-9d1d751232d9
startsAtstringOptional

Date of pledge start, formatted as ISO8601 date string

Example: 2023-05-01T00:00:00.000Z
endsAtstringOptional

Date the pledge ends, formatted as ISO8601 date string. Leave empty if unknown. This field is only allowed to be set when updating a pledge that is managed in TapRaise. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Example: 2023-05-01T00:00:00.000Z
externalMetadataobjectOptional

Additional properties provided by/about the external system. This field is allowed to be set when updating a pledge that is managed in TapRaise. See the general description of this endpoint for more information about validation rules depending on where the pledge is managed.

Responses
200
Pledge case was updated
application/json
400
Bad request. Response body shows what the problem is.
401
Service account not properly authenticated
403
Service account forbids executing this action
404
Pledge case is not found
put
PUT /api/v1/pledges/{uuid}/actions/update HTTP/1.1
Host: 
Authorization: Bearer jwt
Content-Type: application/json
Accept: */*
Content-Length: 242

{
  "recruitingLocationLabel": "Utrecht",
  "donationInterval": "monthly",
  "donationAmount": 7.5,
  "recruiterUserUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
  "startsAt": "2023-05-01T00:00:00.000Z",
  "endsAt": "2023-05-01T00:00:00.000Z",
  "externalMetadata": {}
}
{
  "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
  "status": "lead",
  "startsAt": "2017-07-21T17:32:28Z",
  "endsAt": "2017-07-21T17:32:28Z",
  "createdAt": "2017-07-21T17:32:28Z",
  "updatedAt": "2017-07-21T17:32:28Z",
  "releasedAt": "2017-07-21T17:32:28Z",
  "owningOrganization": {
    "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
    "name": "Good Cause Charity"
  },
  "recruitingOrganization": {
    "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
    "name": "Good Cause Charity"
  },
  "recruitingLocationLabel": "Utrecht",
  "initialDonationAmount": 7.5,
  "donationAmount": 7.5,
  "initialDonationInterval": "monthly",
  "donationInterval": "monthly",
  "preferredPaymentDay": 13,
  "person": {
    "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
    "academicTitle": "Dr.",
    "initials": "B.",
    "firstName": "Beth",
    "lastNamePrefix": null,
    "lastName": "Cormier",
    "dateOfBirth": "1978-05-01",
    "socialSecurityNumber": "12345678901",
    "iban": "NL13ABNA6371362585",
    "address": {
      "street": "Claudius Prinsenlaan",
      "houseNumber": "12",
      "houseNumberExtension": null,
      "zipCode": "4811DK",
      "city": "Breda",
      "country": "NL"
    },
    "phoneNumber": "+31208995262",
    "mobilePhoneNumber": "+31611223344",
    "email": "development@tapraise.dev",
    "gender": "male",
    "optInEmail": true,
    "optInPhone": false,
    "optInMail": null,
    "optInSms": null,
    "language": "nl",
    "mandate": {
      "createdAt": "2017-07-21T17:32:28Z"
    },
    "createdAt": "2017-07-21T17:32:28Z",
    "owningOrganization": {
      "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
      "name": "Good Cause Charity"
    }
  },
  "recruitmentType": "d2d",
  "recruiterUser": {
    "uuid": "83d7638b-ad2b-4d6d-8805-9c4352352599",
    "identifier": "64271"
  },
  "signatureSignedUrl": "https://storage.googleapis.com/test/signature.mp3?GoogleAccessId=service-account%40test.iam.gserviceaccount.com&Expires=1659968507&Signature=",
  "transactions": [
    {
      "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
      "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
      "origin": {
        "name": "pledgeCase",
        "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
      },
      "amount": 7.5,
      "name": "Peter Janssen",
      "iban": "NL91ABNA0417164300",
      "description": "Bedankt voor uw donatie!",
      "provider": "cm",
      "method": "idealqr",
      "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
      "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
      "providerMetadata": {
        "key": "value"
      },
      "createdAt": "2023-05-01T00:00:00.000Z",
      "updatedAt": "2023-05-01T00:00:00.000Z",
      "status": "open"
    }
  ],
  "calls": [
    {
      "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
      "status": "requested",
      "requestedAt": "2025-05-17T11:31:23.769Z",
      "externalMetadata": {
        "applicationName": "basicall",
        "referenceId": "ref_1234567890",
        "agentReferenceId": "agent_1234567890",
        "statusCode": "completed",
        "statusDescription": "The call was completed successfully",
        "additionalProperties": {
          "foo": "bar"
        }
      },
      "attempts": [
        {
          "userUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
          "attemptAt": "2025-05-17T11:31:23.769Z",
          "createdAt": "2025-05-17T11:31:23.769Z"
        }
      ],
      "attemptsCount": 1,
      "result": {
        "resultCode": "confirmed",
        "completedAt": "2025-05-17T11:31:23.769Z",
        "notes": "text",
        "duration": 120.23,
        "donorRetentionRating": 7
      },
      "lastUpdatedAt": "2025-05-17T11:31:23.769Z",
      "cancelledAt": "2025-05-17T11:31:23.769Z",
      "completedAt": "2025-05-17T11:31:23.769Z",
      "expiredAt": "2025-05-17T11:31:23.769Z",
      "notes": "text",
      "personUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "relatedCaseUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "callingOrganizationUuid": "f5e2ba11-1786-4ba9-bd5a-0d99317f4706",
      "type": "happy_call",
      "pledgeCase": {
        "uuid": "5cf67f69-34d0-46fe-b904-20d56248a844",
        "status": "lead",
        "startsAt": "2017-07-21T17:32:28Z",
        "endsAt": "2017-07-21T17:32:28Z",
        "createdAt": "2017-07-21T17:32:28Z",
        "updatedAt": "2017-07-21T17:32:28Z",
        "releasedAt": "2017-07-21T17:32:28Z",
        "owningOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        },
        "recruitingOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        },
        "recruitingLocationLabel": "Utrecht",
        "initialDonationAmount": 7.5,
        "donationAmount": 7.5,
        "initialDonationInterval": "monthly",
        "donationInterval": "monthly",
        "preferredPaymentDay": 13,
        "person": {
          "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "academicTitle": "Dr.",
          "initials": "B.",
          "firstName": "Beth",
          "lastNamePrefix": null,
          "lastName": "Cormier",
          "dateOfBirth": "1978-05-01",
          "socialSecurityNumber": "12345678901",
          "iban": "NL13ABNA6371362585",
          "address": {
            "street": "Claudius Prinsenlaan",
            "houseNumber": "12",
            "houseNumberExtension": null,
            "zipCode": "4811DK",
            "city": "Breda",
            "country": "NL"
          },
          "phoneNumber": "+31208995262",
          "mobilePhoneNumber": "+31611223344",
          "email": "development@tapraise.dev",
          "gender": "male",
          "optInEmail": true,
          "optInPhone": false,
          "optInMail": null,
          "optInSms": null,
          "language": "nl",
          "mandate": {
            "createdAt": "2017-07-21T17:32:28Z"
          },
          "createdAt": "2017-07-21T17:32:28Z",
          "owningOrganization": {
            "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
            "name": "Good Cause Charity"
          }
        },
        "recruitmentType": "d2d",
        "recruiterUser": {
          "uuid": "83d7638b-ad2b-4d6d-8805-9c4352352599",
          "identifier": "64271"
        },
        "signatureSignedUrl": "https://storage.googleapis.com/test/signature.mp3?GoogleAccessId=service-account%40test.iam.gserviceaccount.com&Expires=1659968507&Signature=",
        "transactions": [
          {
            "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
            "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
            "origin": {
              "name": "pledgeCase",
              "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
            },
            "amount": 7.5,
            "name": "Peter Janssen",
            "iban": "NL91ABNA0417164300",
            "description": "Bedankt voor uw donatie!",
            "provider": "cm",
            "method": "idealqr",
            "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
            "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
            "providerMetadata": {
              "key": "value"
            },
            "createdAt": "2023-05-01T00:00:00.000Z",
            "updatedAt": "2023-05-01T00:00:00.000Z",
            "status": "open"
          }
        ],
        "calls": [
          "[Circular Reference]"
        ],
        "focusAreas": [
          {
            "uuid": "95dc688a-b757-4bf6-a0fb-47dda3f0dbf5",
            "name": "Health",
            "externalSource": {
              "name": "text",
              "identifier": "1234"
            }
          }
        ],
        "externalSource": {
          "name": "text",
          "identifier": "1234"
        },
        "externalMetadata": {}
      },
      "person": {
        "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
        "academicTitle": "Dr.",
        "initials": "B.",
        "firstName": "Beth",
        "lastNamePrefix": null,
        "lastName": "Cormier",
        "dateOfBirth": "1978-05-01",
        "socialSecurityNumber": "12345678901",
        "iban": "NL13ABNA6371362585",
        "address": {
          "street": "Claudius Prinsenlaan",
          "houseNumber": "12",
          "houseNumberExtension": null,
          "zipCode": "4811DK",
          "city": "Breda",
          "country": "NL"
        },
        "phoneNumber": "+31208995262",
        "mobilePhoneNumber": "+31611223344",
        "email": "development@tapraise.dev",
        "gender": "male",
        "optInEmail": true,
        "optInPhone": false,
        "optInMail": null,
        "optInSms": null,
        "language": "nl",
        "mandate": {
          "createdAt": "2017-07-21T17:32:28Z"
        },
        "createdAt": "2017-07-21T17:32:28Z",
        "owningOrganization": {
          "uuid": "2fcc7d41-a72a-4f38-94ff-8a0484b8fc4c",
          "name": "Good Cause Charity"
        }
      },
      "transactions": [
        {
          "uuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "personUuid": "82b431f0-f401-4afd-b6db-9d1d751232d9",
          "origin": {
            "name": "pledgeCase",
            "identifier": "82b431f0-f401-4afd-b6db-9d1d751232d9"
          },
          "amount": 7.5,
          "name": "Peter Janssen",
          "iban": "NL91ABNA0417164300",
          "description": "Bedankt voor uw donatie!",
          "provider": "cm",
          "method": "idealqr",
          "referenceId": "d3f28ffe-9f65-4453-8a61-4ae116b3ff68",
          "transactionId": "d09c281c-333a-4207-8cce-beeb3facbc41",
          "providerMetadata": {
            "key": "value"
          },
          "createdAt": "2023-05-01T00:00:00.000Z",
          "updatedAt": "2023-05-01T00:00:00.000Z",
          "status": "open"
        }
      ]
    }
  ],
  "focusAreas": [
    {
      "uuid": "95dc688a-b757-4bf6-a0fb-47dda3f0dbf5",
      "name": "Health",
      "externalSource": {
        "name": "text",
        "identifier": "1234"
      }
    }
  ],
  "externalSource": {
    "name": "text",
    "identifier": "1234"
  },
  "externalMetadata": {}
}