# Pledges

## GET /api/v1/pledges

> \
> 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 \<code>releasedAfter\</code>-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 \<code>releasedAfter\</code>-filter value, instead of the last cursor.\
> \
> \<details>\
> \<summary>Example of recommended use, fetching newly released pledges every day\</summary>\
> \
> 1\. \*\*First day:\*\*\
> &#x20; retrieve until \<code>pageInfo.hasNextPage\</code> is \<code>false\</code> in the response, and afterwards store the date and time of now, to be the \<code>releasedAfter\</code>-value for tomorrow.\
> \
> &#x20;   \* first page: \<code>/api/v1/pledges?releasedAfter=\[initial]\&first=50\</code>\
> &#x20;   \* second page: \<code>/api/v1/pledges?releasedAfter=\[initial]\&first=10\&after=41222ef7-a861-4bbd-ae93-2f645336b85d\</code>\
> &#x20;   \* ...\
> &#x20;   \* last page: \<code>/api/v1/pledges?releasedAfter=\[initial]\&first=10\&after=10d303b1-4eca-4db4-9ae7-7cd65f98a5b5\</code>\
> \
> 2\. \*\*Second day:\*\*\
> &#x20;  retrieve all released after the previous datetime you fetched, retrieve until \<code>pageInfo.hasNextPage\</code> is \<code>false\</code> in the response, and afterwards store the date and time of the last pledge you received.\
> \
> &#x20;   \* first page: \<code>/api/v1/pledges?releasedAfter=\[previousDay]\&first=50\</code>\
> &#x20;   \* second page: \<code>/api/v1/pledges?releasedAfter=\[previousDay]\&first=10\&after=bd82f150-a797-4d9f-af09-c3ea06964e9d\</code>\
> &#x20;   \* ...\
> &#x20;   \* last page: \<code>/api/v1/pledges?releasedAfter=\[previousDay]\&first=10\&after=3c53b11a-adef-4dc1-90d7-c23dc0108492\</code>\
> &#x20;   \*\
> 3\. etc.\
> \</details><br>

```json
{"openapi":"3.0.0","info":{"title":"TapRaise API","version":"v1"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"jwt","type":"http"}},"schemas":{"PledgeCasePaginationConnection":{"type":"object","properties":{"edges":{"type":"array","items":{"$ref":"#/components/schemas/PledgeCaseEdge"}},"pageInfo":{"$ref":"#/components/schemas/PageInfo"}},"required":["edges","pageInfo"]},"PledgeCaseEdge":{"type":"object","properties":{"node":{"$ref":"#/components/schemas/PledgeCaseDto"},"cursor":{"type":"string","description":"Cursor used in 'before' and 'after' pagination connection arguments"}},"required":["node","cursor"]},"PledgeCaseDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"status":{"type":"string","enum":["lead","active","dropped","cancelled","fulfilled"],"description":"\nThe current status of the pledge:\n* `lead` → lead pledge, to be collected. Initial status.\n* `active` → active pledge, being collected.\n* `dropped` → dropped before it was ever collected or released.\n* `cancelled` → cancelled after it was collected or released.\n* `fulfilled` → ended after reaching its end date."},"startsAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"endsAt":{"format":"date-time","type":"string","nullable":true,"description":"ISO8601 compatible datetime string"},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"updatedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string describing when the pledge was last updated"},"releasedAt":{"format":"date-time","type":"string","nullable":true,"description":"ISO8601 compatible datetime string"},"owningOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"owningOrganization":{"description":"Organization recruited for","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"recruitingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"recruitingOrganization":{"description":"Recruiting organization","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"recruitingLocationLabel":{"type":"string","nullable":true,"description":"The label of the location where the pledge was recruited."},"initialDonationAmount":{"type":"number","description":"The donation amount at the moment the pledge was submitted."},"donationAmount":{"type":"number","description":"The current donation amount"},"initialDonationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"The donation interval at the moment the pledge was submitted."},"donationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"The current donation interval"},"preferredPaymentDay":{"type":"number","description":"The preferred payment day of the month (options: 1 - 28). Default value, when not supplied or user has no preference, is: <code>null</code>"},"person":{"description":"Related person.\n\nNote: Not included when this pledge case is requested with the `include` query parameter via the GET calls endpoint. In that case you can use the CallDto.person.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonDto"}]},"recruitmentType":{"type":"string","enum":["d2d","street"],"nullable":true},"recruiterUserUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"recruiterUser":{"description":"User that recruited the pledge","allOf":[{"$ref":"#/components/schemas/RecruiterUserDto"}]},"signatureSignedUrl":{"type":"string","nullable":true,"description":"Temporary URL to signature file, valid for 1 hour"},"transactions":{"description":"Transactions that were created for this pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET pledges endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"calls":{"description":"Calls that were created for this pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET pledges endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/CallDto"}},"focusAreas":{"default":[],"type":"array","items":{"$ref":"#/components/schemas/FocusAreaDto"}},"externalSource":{"nullable":true,"description":"When the pledge case is imported into TapRaise, for instance from Backstage, it has an external source definition set that describes where it comes from and what its identifier in the external system is.","allOf":[{"$ref":"#/components/schemas/ExternalSourceDto"}]},"externalMetadata":{"type":"object","nullable":true,"description":"Additional properties provided by/about the external system."},"campaignCode":{"type":"string","nullable":true,"description":"Campaign code defined by the organization"},"collectionDate":{"format":"date-time","type":"string","nullable":true,"description":"Collection date of the pledge case defined by the organization. ISO8601 compatible datetime string."}},"required":["uuid","status","startsAt","endsAt","createdAt","updatedAt","owningOrganizationUuid","owningOrganization","recruitingOrganizationUuid","recruitingOrganization","recruitingLocationLabel","initialDonationAmount","donationAmount","initialDonationInterval","donationInterval","preferredPaymentDay","person","recruitmentType","recruiterUserUuid","recruiterUser","signatureSignedUrl","transactions","calls","focusAreas","externalSource","externalMetadata","campaignCode","collectionDate"]},"OrganizationDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"name":{"type":"string","description":"Name of organization"}},"required":["uuid","name"]},"PersonDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4). Deprecated: use the 'uuid' property instead.","deprecated":true},"academicTitle":{"type":"string","nullable":true},"initials":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastNamePrefix":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"dateOfBirth":{"type":"string","nullable":true,"description":"Local date of birth for user, formatted as YYYY-MM-DD"},"socialSecurityNumber":{"type":"string","nullable":true,"description":"Social security number as string without any separators."},"iban":{"type":"string","nullable":true},"address":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AddressDto"}]},"phoneNumber":{"type":"string","nullable":true},"mobilePhoneNumber":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"gender":{"type":"string","enum":["male","female","other"],"nullable":true},"optInEmail":{"type":"boolean","nullable":true},"optInPhone":{"type":"boolean","nullable":true},"optInMail":{"type":"boolean","nullable":true},"optInSms":{"type":"boolean","nullable":true},"language":{"type":"string","nullable":true,"description":"ISO-639-1 language code"},"mandate":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MandateDto"}]},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"owningOrganization":{"description":"Organization recruited for","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"qualityResult":{"nullable":true,"description":"The generated quality result of the person. This is only included when requested via the 'include' parameter in the request, if available for the endpoint you're calling. If the value is `null` it means that the quality result is not yet generated.","allOf":[{"$ref":"#/components/schemas/QualityResultDto"}]}},"required":["uuid","personUuid","academicTitle","initials","firstName","lastNamePrefix","lastName","dateOfBirth","iban","address","phoneNumber","mobilePhoneNumber","email","gender","optInEmail","optInPhone","optInMail","optInSms","language","mandate","createdAt","owningOrganization","qualityResult"]},"AddressDto":{"type":"object","properties":{"street":{"type":"string","nullable":true},"houseNumber":{"type":"string","nullable":true},"houseNumberExtension":{"type":"string","nullable":true},"zipCode":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"country":{"type":"string","nullable":true,"description":"Country code in ISO 3166-1 alpha-2"}}},"MandateDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"}},"required":["createdAt"]},"QualityResultDto":{"type":"object","properties":{"score":{"type":"number","description":"The combined score of the quality gates","nullable":false},"maxScore":{"type":"number","description":"The combined max score that could be reached with the applied the quality gates","nullable":false},"percentage":{"type":"number","description":"The percentage of the score compared to the max score","nullable":false},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"gateResults":{"description":"The results from the quality gates that are part of this quality result","nullable":false,"type":"array","items":{"$ref":"#/components/schemas/QualityGateResultDto"}}},"required":["score","maxScore","percentage","createdAt","gateResults"]},"QualityGateResultDto":{"type":"object","properties":{"identifier":{"type":"string","description":"The identifier of the quality gate","nullable":false,"enum":["addressIsAvailable","addressIsComplete","addressIsValid","addressDoesNotMatchRecruiterUsersAddress","ibanDoesNotMatchAnotherPersonsIban","ibanDoesNotMatchRecruiterUsersIban","ibanIsAvailable","ibanIsValid","phoneNumberDoesNotMatchRecruiterUsersPhoneNumber","phoneNumberIsNotASequence","phoneNumberIsAvailable","phoneNumberMatchesPattern","phoneNumberDoesNotMatchAnotherPersonsPhoneNumber","emailIsAvailable","emailMatchesEmailPattern","emailIsDeliverable"]},"category":{"type":"string","description":"The category of the quality gate","nullable":false,"enum":["addressQuality","recruiterFraud","uniqueness","ibanQuality","emailQuality","phoneNumberQuality"]},"score":{"type":"number","description":"The score for this quality gate","nullable":false},"maxScore":{"type":"number","description":"The maximum score that could be reached with this quality gate","nullable":false},"percentage":{"type":"number","description":"The percentage of the score compared to the max score","nullable":false},"explanation":{"type":"string","description":"The explanation of the score","nullable":false,"enum":["ok","ibanMatchesPersonIban","ibanMatchesRecruiterIban","ibanIsMissing","ibanIsInvalid","ibanMayBeInvalid","addressIsMissing","addressIsIncomplete","addressIsInvalid","addressIsNotValidated","addressMatchesRecruiterAddress","phoneNumberIsASequence","mobilePhoneNumberIsASequence","phoneNumberMatchesRecruiterPhoneNumber","phoneNumberMatchesAnotherPersonsPhoneNumber","mobilePhoneNumberMatchesRecruiterPhoneNumber","phoneNumberIsMissing","phoneNumberDoesNotMatchPattern","mobilePhoneNumberDoesNotMatchPattern","emailIsMissing","emailDoesNotMatchEmailPattern","emailNotDeliverable","emailValidationUnknown"]},"metadata":{"type":"object","description":"Additional metadata for this quality gate result","nullable":true}},"required":["identifier","category","score","maxScore","percentage","explanation","metadata"]},"RecruiterUserDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"identifier":{"type":"string","description":"Recruiter user identifier"},"name":{"type":"string","description":"Recruiter user name. Only returned if you have permission to view it.","nullable":true}},"required":["uuid","identifier","name"]},"TransactionDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"origin":{"description":"This field requires you to connect the transaction to an origin, for example pledge case.","allOf":[{"$ref":"#/components/schemas/TransactionOriginDto"}]},"amount":{"type":"number","description":"Transaction amount. Only supporting Euros at this point."},"name":{"type":"string","description":"Name of the person that made this transaction at the moment in time. Might also be used for the name of the bank account holder.","nullable":true},"iban":{"type":"string","description":"IBAN of the bank account that made this transaction.","nullable":true},"description":{"type":"string","description":"Description of the transaction, usually provided by the payment initiator."},"provider":{"type":"string","enum":["cm","mollie"],"description":"Identifier of the payment provider used for this transaction.","nullable":true},"method":{"type":"string","enum":["idealqr","direct_debit"],"description":"Payment method used for this transaction.","nullable":true},"referenceId":{"type":"string","description":"Reference id provided by the payment initiator.","nullable":true},"transactionId":{"type":"string","description":"Transaction id provided by the payment provider.","nullable":true},"providerMetadata":{"type":"object","description":"Meta data provided by/about the payment provider.","nullable":true},"createdAt":{"format":"date-time","type":"string","description":"Date of transaction creation, formatted as ISO8601 date string."},"updatedAt":{"format":"date-time","type":"string","description":"Date of transaction last update, formatted as ISO8601 date string."},"status":{"type":"string","enum":["open","paid","failed","cancelled","reversed"],"description":"\nThe current status of the transaction:\n* `open` → open transaction, to be paid.\n* `paid` → paid transaction.\n* `failed` → failed transaction before it was paid.\n* `cancelled` → cancelled transaction before it was paid.\n* `reversed` → reversed transaction or chargeback."}},"required":["uuid","personUuid","origin","amount","description","createdAt","updatedAt","status"]},"TransactionOriginDto":{"type":"object","properties":{"name":{"type":"string","enum":["pledgeCase"]},"identifier":{"type":"string","format":"uuid","description":"UUID (v4)"}},"required":["name","identifier"]},"CallDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)","nullable":false},"status":{"type":"string","enum":["completed","requested","cancelled","expired"],"description":"\nThe current status of the call:\n* `requested` → a call is requested and should be made. Initial status.\n* `completed` → a call is done and completed. End status.\n* `cancelled` → a call was requested but is cancelled and thus never called. End status.\n* `expired` → a call was expired since the person was not reached within a specified number of attempts. End status.","nullable":false},"requestedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"externalMetadata":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CallExternalMetadataDto"}]},"attempts":{"nullable":false,"description":"Contains a collection of attempts that were made to complete the call","type":"array","items":{"$ref":"#/components/schemas/CallAttemptDto"}},"attemptsCount":{"type":"number","description":"The number of call attempts","nullable":false},"result":{"description":"The result of a completed call","nullable":true,"allOf":[{"$ref":"#/components/schemas/CallResultDto"}]},"lastUpdatedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"cancelledAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"completedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"expiredAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"notes":{"type":"string","description":"The notes of the call","nullable":true},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the person that is being called.","nullable":false},"relatedCaseUuid":{"type":"string","format":"uuid","description":"UUID (v4) of any of the person's pledge cases that is related to this call.","nullable":true},"callingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the organization that will perform this call.","nullable":true},"type":{"type":"string","enum":["verification","happy_call","winback"],"description":"\nThe current type of the call:\n* `verification` → used for verifying the personal details when a donor was newly recruited.\n* `happy_call` → used for existing donors to keep them engaged.\n* `winback` → used for donors to get them resubscribed.","nullable":false},"pledgeCase":{"description":"Related pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PledgeCaseDto"}]},"person":{"description":"Related person.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonDto"}]},"transactions":{"description":"Related transactions.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"recordingDuration":{"type":"number","description":"The duration of the call recording, in seconds","nullable":true}},"required":["uuid","status","requestedAt","externalMetadata","attempts","attemptsCount","result","lastUpdatedAt","cancelledAt","completedAt","expiredAt","notes","personUuid","relatedCaseUuid","callingOrganizationUuid","type","pledgeCase","person","transactions","recordingDuration"]},"CallExternalMetadataDto":{"type":"object","properties":{"applicationName":{"type":"string","description":"The name of the application that created the call","nullable":false},"referenceId":{"type":"string","description":"The reference id of the call in the external system","nullable":false},"agentReferenceId":{"type":"string","description":"The reference id of the agent in the external system","nullable":true},"statusCode":{"type":"string","description":"The status code of the call in the external system","nullable":true},"statusDescription":{"type":"string","description":"The status description of the call in the external system","nullable":true},"additionalProperties":{"type":"object","description":"Additional properties provided by/about the external system.","nullable":true}},"required":["applicationName","referenceId","agentReferenceId","statusCode","statusDescription","additionalProperties"]},"CallAttemptDto":{"type":"object","properties":{"userUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the user that attempted a call.","nullable":true},"attemptAt":{"type":"string","format":"date-time","description":"Timestamp when a call was attempted, formatted as ISO8601 date string.","nullable":true},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the call attempt was created, formatted as ISO8601 date string.","nullable":true}},"required":["userUuid","attemptAt","createdAt"]},"CallResultDto":{"type":"object","properties":{"resultCode":{"type":"string","enum":["confirmed","downgraded","converted","dropped","other"],"description":"\nThe current status of the call result:\n* `confirmed` → a call has been made and pledge agreements are confirmed and data may be updated before confirming.\n* `downgraded` → a call has been made and the pledge amount has been downgraded to a lower value.\n* `converted` → a call has been made and the pledge was converted. For example: change of donation period.\n* `dropped` → a call has been made and the pledge was dropped. For example due to: a regret, complaint or missing IBAN.\n* `other` → a call has been made. This status is applied when other statuses do not apply.","nullable":false},"completedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"notes":{"type":"string","nullable":true},"duration":{"type":"number","description":"The duration of the call result recording, in seconds. This field is deprecated and will be removed in the future. Use `call.recordingDuration` instead.","nullable":true,"deprecated":true},"donorRetentionRating":{"type":"number","description":"The donor retention rating is available when status of the call is completed. The donor retention rating values can be between 1 and 10.","nullable":true,"enum":[0,1,2,3,4,5,6,7,8,9,10]}},"required":["resultCode","completedAt","notes","duration","donorRetentionRating"]},"FocusAreaDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"name":{"type":"string","description":"Name of the focus area"},"externalSource":{"description":"External source of the focus area","nullable":true,"allOf":[{"$ref":"#/components/schemas/ExternalSourceDto"}]}},"required":["uuid","name","externalSource"]},"ExternalSourceDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the external source"},"identifier":{"type":"string","description":"Identifier of this entity in the external source"}},"required":["name","identifier"]},"PageInfo":{"type":"object","properties":{"startCursor":{"type":"string","nullable":true,"description":"The first cursor of this slice"},"endCursor":{"type":"string","nullable":true,"description":"The last cursor of this slice"},"hasPreviousPage":{"type":"boolean"},"hasNextPage":{"type":"boolean"}},"required":["startCursor","endCursor","hasPreviousPage","hasNextPage"]}}},"paths":{"/api/v1/pledges":{"get":{"operationId":"PledgeCaseOverviewRestController_getPledges","summary":"","description":"\nThe 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.\n\nThe collection you are paginating is sorted by creation datetime, descending. This means that the first page contains the most recently created pledges.\n\n## Fetching newly released pledges periodically\n\nWhen you are retrieving recently released pledges using the <code>releasedAfter</code>-filter, one thing to keep in mind is not to store the last cursor as the starting point for retrieving tomorrow's results.\n\nWhen 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.\n\nTherefor we recommend storing the date and time you last fetched, and use that next time as the <code>releasedAfter</code>-filter value, instead of the last cursor.\n\n<details>\n<summary>Example of recommended use, fetching newly released pledges every day</summary>\n\n1. **First day:**\n  retrieve until <code>pageInfo.hasNextPage</code> is <code>false</code> in the response, and afterwards store the date and time of now, to be the <code>releasedAfter</code>-value for tomorrow.\n\n    * first page: <code>/api/v1/pledges?releasedAfter=[initial]&first=50</code>\n    * second page: <code>/api/v1/pledges?releasedAfter=[initial]&first=10&after=41222ef7-a861-4bbd-ae93-2f645336b85d</code>\n    * ...\n    * last page: <code>/api/v1/pledges?releasedAfter=[initial]&first=10&after=10d303b1-4eca-4db4-9ae7-7cd65f98a5b5</code>\n\n2. **Second day:**\n   retrieve all released after the previous datetime you fetched, retrieve until <code>pageInfo.hasNextPage</code> is <code>false</code> in the response, and afterwards store the date and time of the last pledge you received.\n\n    * first page: <code>/api/v1/pledges?releasedAfter=[previousDay]&first=50</code>\n    * second page: <code>/api/v1/pledges?releasedAfter=[previousDay]&first=10&after=bd82f150-a797-4d9f-af09-c3ea06964e9d</code>\n    * ...\n    * last page: <code>/api/v1/pledges?releasedAfter=[previousDay]&first=10&after=3c53b11a-adef-4dc1-90d7-c23dc0108492</code>\n    *\n3. etc.\n</details>\n","parameters":[{"name":"include","required":false,"in":"query","description":"Include additional data in the response","schema":{"enum":["transactions","calls","recruiterFullName"],"type":"string"}},{"name":"before","required":false,"in":"query","description":"Pledge cursor to fetch results before","schema":{"type":"string"}},{"name":"last","required":false,"in":"query","description":"The amount of results to fetch before the 'before' cursor","schema":{"type":"number"}},{"name":"after","required":false,"in":"query","description":"Pledge cursor to fetch results after","schema":{"type":"string"}},{"name":"first","required":false,"in":"query","description":"The amount of results to fetch after the 'after' cursor","schema":{"type":"number"}},{"name":"personUuid","required":false,"in":"query","description":"Filter by person uuid. This will be a v4 UUID","schema":{"type":"string"}},{"name":"withIdealQr","required":false,"in":"query","description":"Filter by pledges that have an iDEAL QR transaction","schema":{"type":"boolean"}},{"name":"status","required":false,"in":"query","description":"Pledge case status","schema":{"enum":["lead","active","dropped","cancelled","fulfilled","all"],"type":"string"}},{"name":"updatedAfter","required":false,"in":"query","description":"ISO8601 compatible datetime string. If applied only pledges will be returned that have been updated after the supplied datetime. Note: changes to related calls do not update the pledge case's updated datetime. To detect call status changes, use the `GET /api/v1/calls?updatedAfter=...` endpoint.","schema":{"format":"date-time","type":"string"}},{"name":"releasedAfter","required":false,"in":"query","description":"ISO8601 compatible datetime string","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PledgeCasePaginationConnection"}}}},"400":{"description":"Bad request. Response body shows what the problem is."},"401":{"description":"Service account not properly authenticated"},"403":{"description":"Service account forbids executing this action"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PledgeCasePaginationConnection"}}}}},"tags":["pledges"]}}}}
```

## Create a pledge

> \
> 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.<br>

```json
{"openapi":"3.0.0","info":{"title":"TapRaise API","version":"v1"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"jwt","type":"http"}},"schemas":{"CreatePledgeCaseInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4). The pledge's globally unique identifier in the system. If not provided, a new UUID will be generated."},"externalSource":{"default":null,"description":"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.","allOf":[{"$ref":"#/components/schemas/ExternalSourceInput"}]},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the person that made this pledge."},"status":{"type":"string","enum":["lead","active","dropped","cancelled","fulfilled"],"description":"\nThe current status of the pledge:\n* `lead` → lead pledge, to be collected. Initial status.\n* `active` → active pledge, being collected.\n* `dropped` → dropped before it was ever collected or released.\n* `cancelled` → cancelled after it was collected or released.\n* `fulfilled` → ended after reaching its end date.\n\nStatus 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.\n"},"createdAt":{"type":"string","description":"Date of pledge creation, formatted as ISO8601 date string."},"owningOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the organization that owns this pledge."},"recruitingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the organization that recruited this pledge"},"recruitingLocationLabel":{"type":"string","description":"The label of the location where the pledge was recruited."},"donationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"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."},"donationAmount":{"type":"number","description":"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.."},"initialDonationInterval":{"type":"string","description":"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.","enum":["once","monthly","halfYearly","quarterly","yearly"]},"initialDonationAmount":{"type":"number","description":"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."},"recruitmentType":{"type":"string","description":"\nDescribes how this pledge was recruited. Currently supported values are:\n        \n* `d2d` → Door-to-door recruitment\n* `street` → Street recruitment\n        ","enum":["d2d","street"]},"recruiterUserUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the recruiter that recruited the pledge."},"startsAt":{"type":"string","description":"Date of pledge start, formatted as ISO8601 date string"},"creationMetadata":{"description":"This field allows you to add metadata to the pledge concerning where it origins from, for later reference.","allOf":[{"$ref":"#/components/schemas/CreationMetadataInput"}]},"focusAreaUuids":{"description":"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":[],"type":"array","items":{"type":"string","format":"uuid"}},"signature":{"description":"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,"allOf":[{"$ref":"#/components/schemas/SignatureInput"}]},"cancellationReason":{"description":"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,"allOf":[{"$ref":"#/components/schemas/CancellationReasonInput"}]},"cancelledAt":{"type":"string","description":"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."},"preferredPaymentDay":{"type":"number","description":"The preferred day of the month the pledge is to be collected on. Should be an integer between 1 and 28.","default":null},"droppedAt":{"type":"string","description":"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."},"releasedAt":{"type":"string","description":"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."},"endsAt":{"type":"string","description":"Date the pledge ends, formatted as ISO8601 date string. Leave empty if unknown."},"externalMetadata":{"type":"object","description":"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."}},"required":["personUuid","createdAt","owningOrganizationUuid","recruitingOrganizationUuid","initialDonationInterval","initialDonationAmount","recruiterUserUuid","startsAt"]},"ExternalSourceInput":{"type":"object","properties":{"name":{"type":"string","description":"The description of the external source"},"identifier":{"type":"string","description":"The unique identifier of the pledge in the external source"}},"required":["name","identifier"]},"CreationMetadataInput":{"type":"object","properties":{"software":{"type":"string","description":"Name of the software that created this pledge."},"version":{"type":"string","description":"Version of the software that created this pledge."},"userAgent":{"type":"string","description":"Name of the user agent that created this pledge."}},"required":["software","version"]},"SignatureInput":{"type":"object","properties":{"type":{"type":"string","enum":["audio","canvas","sms"],"description":"Type of the signature"},"fileLocation":{"description":"Location of the signature file in TapRaise file storage.","allOf":[{"$ref":"#/components/schemas/SignatureFileLocationInput"}]}},"required":["type","fileLocation"]},"SignatureFileLocationInput":{"type":"object","properties":{"path":{"type":"string","description":"Path to the file in TapRaise file storage."},"bucket":{"type":"string","description":"Name of the bucket in TapRaise file storage."}},"required":["path","bucket"]},"CancellationReasonInput":{"type":"object","properties":{"identifier":{"type":"string","description":"Identifier of the cancellation reason.","enum":["external_factor","external_blacklist","external_quality_check","invalid_agreement","invalid_recording","cancelled_by_email_or_phone","too_old_or_too_young","incorrect_email_or_phone_number","incorrect_bank_account_number","chargeback","one_time_only","no_long_term_support","unknown","other"]},"note":{"type":"string","description":"Explanatory note about the cancellation."}},"required":["identifier"]},"PledgeCaseDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"status":{"type":"string","enum":["lead","active","dropped","cancelled","fulfilled"],"description":"\nThe current status of the pledge:\n* `lead` → lead pledge, to be collected. Initial status.\n* `active` → active pledge, being collected.\n* `dropped` → dropped before it was ever collected or released.\n* `cancelled` → cancelled after it was collected or released.\n* `fulfilled` → ended after reaching its end date."},"startsAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"endsAt":{"format":"date-time","type":"string","nullable":true,"description":"ISO8601 compatible datetime string"},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"updatedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string describing when the pledge was last updated"},"releasedAt":{"format":"date-time","type":"string","nullable":true,"description":"ISO8601 compatible datetime string"},"owningOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"owningOrganization":{"description":"Organization recruited for","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"recruitingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"recruitingOrganization":{"description":"Recruiting organization","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"recruitingLocationLabel":{"type":"string","nullable":true,"description":"The label of the location where the pledge was recruited."},"initialDonationAmount":{"type":"number","description":"The donation amount at the moment the pledge was submitted."},"donationAmount":{"type":"number","description":"The current donation amount"},"initialDonationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"The donation interval at the moment the pledge was submitted."},"donationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"The current donation interval"},"preferredPaymentDay":{"type":"number","description":"The preferred payment day of the month (options: 1 - 28). Default value, when not supplied or user has no preference, is: <code>null</code>"},"person":{"description":"Related person.\n\nNote: Not included when this pledge case is requested with the `include` query parameter via the GET calls endpoint. In that case you can use the CallDto.person.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonDto"}]},"recruitmentType":{"type":"string","enum":["d2d","street"],"nullable":true},"recruiterUserUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"recruiterUser":{"description":"User that recruited the pledge","allOf":[{"$ref":"#/components/schemas/RecruiterUserDto"}]},"signatureSignedUrl":{"type":"string","nullable":true,"description":"Temporary URL to signature file, valid for 1 hour"},"transactions":{"description":"Transactions that were created for this pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET pledges endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"calls":{"description":"Calls that were created for this pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET pledges endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/CallDto"}},"focusAreas":{"default":[],"type":"array","items":{"$ref":"#/components/schemas/FocusAreaDto"}},"externalSource":{"nullable":true,"description":"When the pledge case is imported into TapRaise, for instance from Backstage, it has an external source definition set that describes where it comes from and what its identifier in the external system is.","allOf":[{"$ref":"#/components/schemas/ExternalSourceDto"}]},"externalMetadata":{"type":"object","nullable":true,"description":"Additional properties provided by/about the external system."},"campaignCode":{"type":"string","nullable":true,"description":"Campaign code defined by the organization"},"collectionDate":{"format":"date-time","type":"string","nullable":true,"description":"Collection date of the pledge case defined by the organization. ISO8601 compatible datetime string."}},"required":["uuid","status","startsAt","endsAt","createdAt","updatedAt","owningOrganizationUuid","owningOrganization","recruitingOrganizationUuid","recruitingOrganization","recruitingLocationLabel","initialDonationAmount","donationAmount","initialDonationInterval","donationInterval","preferredPaymentDay","person","recruitmentType","recruiterUserUuid","recruiterUser","signatureSignedUrl","transactions","calls","focusAreas","externalSource","externalMetadata","campaignCode","collectionDate"]},"OrganizationDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"name":{"type":"string","description":"Name of organization"}},"required":["uuid","name"]},"PersonDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4). Deprecated: use the 'uuid' property instead.","deprecated":true},"academicTitle":{"type":"string","nullable":true},"initials":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastNamePrefix":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"dateOfBirth":{"type":"string","nullable":true,"description":"Local date of birth for user, formatted as YYYY-MM-DD"},"socialSecurityNumber":{"type":"string","nullable":true,"description":"Social security number as string without any separators."},"iban":{"type":"string","nullable":true},"address":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AddressDto"}]},"phoneNumber":{"type":"string","nullable":true},"mobilePhoneNumber":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"gender":{"type":"string","enum":["male","female","other"],"nullable":true},"optInEmail":{"type":"boolean","nullable":true},"optInPhone":{"type":"boolean","nullable":true},"optInMail":{"type":"boolean","nullable":true},"optInSms":{"type":"boolean","nullable":true},"language":{"type":"string","nullable":true,"description":"ISO-639-1 language code"},"mandate":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MandateDto"}]},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"owningOrganization":{"description":"Organization recruited for","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"qualityResult":{"nullable":true,"description":"The generated quality result of the person. This is only included when requested via the 'include' parameter in the request, if available for the endpoint you're calling. If the value is `null` it means that the quality result is not yet generated.","allOf":[{"$ref":"#/components/schemas/QualityResultDto"}]}},"required":["uuid","personUuid","academicTitle","initials","firstName","lastNamePrefix","lastName","dateOfBirth","iban","address","phoneNumber","mobilePhoneNumber","email","gender","optInEmail","optInPhone","optInMail","optInSms","language","mandate","createdAt","owningOrganization","qualityResult"]},"AddressDto":{"type":"object","properties":{"street":{"type":"string","nullable":true},"houseNumber":{"type":"string","nullable":true},"houseNumberExtension":{"type":"string","nullable":true},"zipCode":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"country":{"type":"string","nullable":true,"description":"Country code in ISO 3166-1 alpha-2"}}},"MandateDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"}},"required":["createdAt"]},"QualityResultDto":{"type":"object","properties":{"score":{"type":"number","description":"The combined score of the quality gates","nullable":false},"maxScore":{"type":"number","description":"The combined max score that could be reached with the applied the quality gates","nullable":false},"percentage":{"type":"number","description":"The percentage of the score compared to the max score","nullable":false},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"gateResults":{"description":"The results from the quality gates that are part of this quality result","nullable":false,"type":"array","items":{"$ref":"#/components/schemas/QualityGateResultDto"}}},"required":["score","maxScore","percentage","createdAt","gateResults"]},"QualityGateResultDto":{"type":"object","properties":{"identifier":{"type":"string","description":"The identifier of the quality gate","nullable":false,"enum":["addressIsAvailable","addressIsComplete","addressIsValid","addressDoesNotMatchRecruiterUsersAddress","ibanDoesNotMatchAnotherPersonsIban","ibanDoesNotMatchRecruiterUsersIban","ibanIsAvailable","ibanIsValid","phoneNumberDoesNotMatchRecruiterUsersPhoneNumber","phoneNumberIsNotASequence","phoneNumberIsAvailable","phoneNumberMatchesPattern","phoneNumberDoesNotMatchAnotherPersonsPhoneNumber","emailIsAvailable","emailMatchesEmailPattern","emailIsDeliverable"]},"category":{"type":"string","description":"The category of the quality gate","nullable":false,"enum":["addressQuality","recruiterFraud","uniqueness","ibanQuality","emailQuality","phoneNumberQuality"]},"score":{"type":"number","description":"The score for this quality gate","nullable":false},"maxScore":{"type":"number","description":"The maximum score that could be reached with this quality gate","nullable":false},"percentage":{"type":"number","description":"The percentage of the score compared to the max score","nullable":false},"explanation":{"type":"string","description":"The explanation of the score","nullable":false,"enum":["ok","ibanMatchesPersonIban","ibanMatchesRecruiterIban","ibanIsMissing","ibanIsInvalid","ibanMayBeInvalid","addressIsMissing","addressIsIncomplete","addressIsInvalid","addressIsNotValidated","addressMatchesRecruiterAddress","phoneNumberIsASequence","mobilePhoneNumberIsASequence","phoneNumberMatchesRecruiterPhoneNumber","phoneNumberMatchesAnotherPersonsPhoneNumber","mobilePhoneNumberMatchesRecruiterPhoneNumber","phoneNumberIsMissing","phoneNumberDoesNotMatchPattern","mobilePhoneNumberDoesNotMatchPattern","emailIsMissing","emailDoesNotMatchEmailPattern","emailNotDeliverable","emailValidationUnknown"]},"metadata":{"type":"object","description":"Additional metadata for this quality gate result","nullable":true}},"required":["identifier","category","score","maxScore","percentage","explanation","metadata"]},"RecruiterUserDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"identifier":{"type":"string","description":"Recruiter user identifier"},"name":{"type":"string","description":"Recruiter user name. Only returned if you have permission to view it.","nullable":true}},"required":["uuid","identifier","name"]},"TransactionDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"origin":{"description":"This field requires you to connect the transaction to an origin, for example pledge case.","allOf":[{"$ref":"#/components/schemas/TransactionOriginDto"}]},"amount":{"type":"number","description":"Transaction amount. Only supporting Euros at this point."},"name":{"type":"string","description":"Name of the person that made this transaction at the moment in time. Might also be used for the name of the bank account holder.","nullable":true},"iban":{"type":"string","description":"IBAN of the bank account that made this transaction.","nullable":true},"description":{"type":"string","description":"Description of the transaction, usually provided by the payment initiator."},"provider":{"type":"string","enum":["cm","mollie"],"description":"Identifier of the payment provider used for this transaction.","nullable":true},"method":{"type":"string","enum":["idealqr","direct_debit"],"description":"Payment method used for this transaction.","nullable":true},"referenceId":{"type":"string","description":"Reference id provided by the payment initiator.","nullable":true},"transactionId":{"type":"string","description":"Transaction id provided by the payment provider.","nullable":true},"providerMetadata":{"type":"object","description":"Meta data provided by/about the payment provider.","nullable":true},"createdAt":{"format":"date-time","type":"string","description":"Date of transaction creation, formatted as ISO8601 date string."},"updatedAt":{"format":"date-time","type":"string","description":"Date of transaction last update, formatted as ISO8601 date string."},"status":{"type":"string","enum":["open","paid","failed","cancelled","reversed"],"description":"\nThe current status of the transaction:\n* `open` → open transaction, to be paid.\n* `paid` → paid transaction.\n* `failed` → failed transaction before it was paid.\n* `cancelled` → cancelled transaction before it was paid.\n* `reversed` → reversed transaction or chargeback."}},"required":["uuid","personUuid","origin","amount","description","createdAt","updatedAt","status"]},"TransactionOriginDto":{"type":"object","properties":{"name":{"type":"string","enum":["pledgeCase"]},"identifier":{"type":"string","format":"uuid","description":"UUID (v4)"}},"required":["name","identifier"]},"CallDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)","nullable":false},"status":{"type":"string","enum":["completed","requested","cancelled","expired"],"description":"\nThe current status of the call:\n* `requested` → a call is requested and should be made. Initial status.\n* `completed` → a call is done and completed. End status.\n* `cancelled` → a call was requested but is cancelled and thus never called. End status.\n* `expired` → a call was expired since the person was not reached within a specified number of attempts. End status.","nullable":false},"requestedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"externalMetadata":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CallExternalMetadataDto"}]},"attempts":{"nullable":false,"description":"Contains a collection of attempts that were made to complete the call","type":"array","items":{"$ref":"#/components/schemas/CallAttemptDto"}},"attemptsCount":{"type":"number","description":"The number of call attempts","nullable":false},"result":{"description":"The result of a completed call","nullable":true,"allOf":[{"$ref":"#/components/schemas/CallResultDto"}]},"lastUpdatedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"cancelledAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"completedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"expiredAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"notes":{"type":"string","description":"The notes of the call","nullable":true},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the person that is being called.","nullable":false},"relatedCaseUuid":{"type":"string","format":"uuid","description":"UUID (v4) of any of the person's pledge cases that is related to this call.","nullable":true},"callingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the organization that will perform this call.","nullable":true},"type":{"type":"string","enum":["verification","happy_call","winback"],"description":"\nThe current type of the call:\n* `verification` → used for verifying the personal details when a donor was newly recruited.\n* `happy_call` → used for existing donors to keep them engaged.\n* `winback` → used for donors to get them resubscribed.","nullable":false},"pledgeCase":{"description":"Related pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PledgeCaseDto"}]},"person":{"description":"Related person.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonDto"}]},"transactions":{"description":"Related transactions.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"recordingDuration":{"type":"number","description":"The duration of the call recording, in seconds","nullable":true}},"required":["uuid","status","requestedAt","externalMetadata","attempts","attemptsCount","result","lastUpdatedAt","cancelledAt","completedAt","expiredAt","notes","personUuid","relatedCaseUuid","callingOrganizationUuid","type","pledgeCase","person","transactions","recordingDuration"]},"CallExternalMetadataDto":{"type":"object","properties":{"applicationName":{"type":"string","description":"The name of the application that created the call","nullable":false},"referenceId":{"type":"string","description":"The reference id of the call in the external system","nullable":false},"agentReferenceId":{"type":"string","description":"The reference id of the agent in the external system","nullable":true},"statusCode":{"type":"string","description":"The status code of the call in the external system","nullable":true},"statusDescription":{"type":"string","description":"The status description of the call in the external system","nullable":true},"additionalProperties":{"type":"object","description":"Additional properties provided by/about the external system.","nullable":true}},"required":["applicationName","referenceId","agentReferenceId","statusCode","statusDescription","additionalProperties"]},"CallAttemptDto":{"type":"object","properties":{"userUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the user that attempted a call.","nullable":true},"attemptAt":{"type":"string","format":"date-time","description":"Timestamp when a call was attempted, formatted as ISO8601 date string.","nullable":true},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the call attempt was created, formatted as ISO8601 date string.","nullable":true}},"required":["userUuid","attemptAt","createdAt"]},"CallResultDto":{"type":"object","properties":{"resultCode":{"type":"string","enum":["confirmed","downgraded","converted","dropped","other"],"description":"\nThe current status of the call result:\n* `confirmed` → a call has been made and pledge agreements are confirmed and data may be updated before confirming.\n* `downgraded` → a call has been made and the pledge amount has been downgraded to a lower value.\n* `converted` → a call has been made and the pledge was converted. For example: change of donation period.\n* `dropped` → a call has been made and the pledge was dropped. For example due to: a regret, complaint or missing IBAN.\n* `other` → a call has been made. This status is applied when other statuses do not apply.","nullable":false},"completedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"notes":{"type":"string","nullable":true},"duration":{"type":"number","description":"The duration of the call result recording, in seconds. This field is deprecated and will be removed in the future. Use `call.recordingDuration` instead.","nullable":true,"deprecated":true},"donorRetentionRating":{"type":"number","description":"The donor retention rating is available when status of the call is completed. The donor retention rating values can be between 1 and 10.","nullable":true,"enum":[0,1,2,3,4,5,6,7,8,9,10]}},"required":["resultCode","completedAt","notes","duration","donorRetentionRating"]},"FocusAreaDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"name":{"type":"string","description":"Name of the focus area"},"externalSource":{"description":"External source of the focus area","nullable":true,"allOf":[{"$ref":"#/components/schemas/ExternalSourceDto"}]}},"required":["uuid","name","externalSource"]},"ExternalSourceDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the external source"},"identifier":{"type":"string","description":"Identifier of this entity in the external source"}},"required":["name","identifier"]}}},"paths":{"/api/v1/pledges":{"post":{"operationId":"CreatePledgeCaseRestController_create","summary":"Create a pledge","description":"\nThis endpoint creates a pledge for an organization, if your service account allows you to.\n\nThe 'owningOrganizationUuid' and 'recruitingOrganizationUuid' might also be bound to limitations depending on your service account's organization scope and permissions.\n\nWe 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.\n\nThis endpoint will return the pledge created with the data in your request body.\n\n## Determining where the pledge will be managed\n\nWhen 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. \n\nWhen 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. \n\nWhen 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.\n\nBe sure to check the descriptions for fields in the request body to see which fields are required, optional or forbidden for each scenario.\n","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePledgeCaseInput"}}}},"responses":{"201":{"description":"Pledge was created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PledgeCaseDto"}}}},"400":{"description":"Bad request. Response body shows what the problem is."},"401":{"description":"Service account not properly authenticated"},"403":{"description":"Service account forbids executing this action"},"409":{"description":"Pledge already exists"}},"tags":["pledges"]}}}}
```

## GET /api/v1/pledges/{uuid}

> Fetch details of a pledge case.

```json
{"openapi":"3.0.0","info":{"title":"TapRaise API","version":"v1"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"jwt","type":"http"}},"schemas":{"PledgeCaseDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"status":{"type":"string","enum":["lead","active","dropped","cancelled","fulfilled"],"description":"\nThe current status of the pledge:\n* `lead` → lead pledge, to be collected. Initial status.\n* `active` → active pledge, being collected.\n* `dropped` → dropped before it was ever collected or released.\n* `cancelled` → cancelled after it was collected or released.\n* `fulfilled` → ended after reaching its end date."},"startsAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"endsAt":{"format":"date-time","type":"string","nullable":true,"description":"ISO8601 compatible datetime string"},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"updatedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string describing when the pledge was last updated"},"releasedAt":{"format":"date-time","type":"string","nullable":true,"description":"ISO8601 compatible datetime string"},"owningOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"owningOrganization":{"description":"Organization recruited for","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"recruitingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"recruitingOrganization":{"description":"Recruiting organization","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"recruitingLocationLabel":{"type":"string","nullable":true,"description":"The label of the location where the pledge was recruited."},"initialDonationAmount":{"type":"number","description":"The donation amount at the moment the pledge was submitted."},"donationAmount":{"type":"number","description":"The current donation amount"},"initialDonationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"The donation interval at the moment the pledge was submitted."},"donationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"The current donation interval"},"preferredPaymentDay":{"type":"number","description":"The preferred payment day of the month (options: 1 - 28). Default value, when not supplied or user has no preference, is: <code>null</code>"},"person":{"description":"Related person.\n\nNote: Not included when this pledge case is requested with the `include` query parameter via the GET calls endpoint. In that case you can use the CallDto.person.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonDto"}]},"recruitmentType":{"type":"string","enum":["d2d","street"],"nullable":true},"recruiterUserUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"recruiterUser":{"description":"User that recruited the pledge","allOf":[{"$ref":"#/components/schemas/RecruiterUserDto"}]},"signatureSignedUrl":{"type":"string","nullable":true,"description":"Temporary URL to signature file, valid for 1 hour"},"transactions":{"description":"Transactions that were created for this pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET pledges endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"calls":{"description":"Calls that were created for this pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET pledges endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/CallDto"}},"focusAreas":{"default":[],"type":"array","items":{"$ref":"#/components/schemas/FocusAreaDto"}},"externalSource":{"nullable":true,"description":"When the pledge case is imported into TapRaise, for instance from Backstage, it has an external source definition set that describes where it comes from and what its identifier in the external system is.","allOf":[{"$ref":"#/components/schemas/ExternalSourceDto"}]},"externalMetadata":{"type":"object","nullable":true,"description":"Additional properties provided by/about the external system."},"campaignCode":{"type":"string","nullable":true,"description":"Campaign code defined by the organization"},"collectionDate":{"format":"date-time","type":"string","nullable":true,"description":"Collection date of the pledge case defined by the organization. ISO8601 compatible datetime string."}},"required":["uuid","status","startsAt","endsAt","createdAt","updatedAt","owningOrganizationUuid","owningOrganization","recruitingOrganizationUuid","recruitingOrganization","recruitingLocationLabel","initialDonationAmount","donationAmount","initialDonationInterval","donationInterval","preferredPaymentDay","person","recruitmentType","recruiterUserUuid","recruiterUser","signatureSignedUrl","transactions","calls","focusAreas","externalSource","externalMetadata","campaignCode","collectionDate"]},"OrganizationDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"name":{"type":"string","description":"Name of organization"}},"required":["uuid","name"]},"PersonDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4). Deprecated: use the 'uuid' property instead.","deprecated":true},"academicTitle":{"type":"string","nullable":true},"initials":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastNamePrefix":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"dateOfBirth":{"type":"string","nullable":true,"description":"Local date of birth for user, formatted as YYYY-MM-DD"},"socialSecurityNumber":{"type":"string","nullable":true,"description":"Social security number as string without any separators."},"iban":{"type":"string","nullable":true},"address":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AddressDto"}]},"phoneNumber":{"type":"string","nullable":true},"mobilePhoneNumber":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"gender":{"type":"string","enum":["male","female","other"],"nullable":true},"optInEmail":{"type":"boolean","nullable":true},"optInPhone":{"type":"boolean","nullable":true},"optInMail":{"type":"boolean","nullable":true},"optInSms":{"type":"boolean","nullable":true},"language":{"type":"string","nullable":true,"description":"ISO-639-1 language code"},"mandate":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MandateDto"}]},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"owningOrganization":{"description":"Organization recruited for","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"qualityResult":{"nullable":true,"description":"The generated quality result of the person. This is only included when requested via the 'include' parameter in the request, if available for the endpoint you're calling. If the value is `null` it means that the quality result is not yet generated.","allOf":[{"$ref":"#/components/schemas/QualityResultDto"}]}},"required":["uuid","personUuid","academicTitle","initials","firstName","lastNamePrefix","lastName","dateOfBirth","iban","address","phoneNumber","mobilePhoneNumber","email","gender","optInEmail","optInPhone","optInMail","optInSms","language","mandate","createdAt","owningOrganization","qualityResult"]},"AddressDto":{"type":"object","properties":{"street":{"type":"string","nullable":true},"houseNumber":{"type":"string","nullable":true},"houseNumberExtension":{"type":"string","nullable":true},"zipCode":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"country":{"type":"string","nullable":true,"description":"Country code in ISO 3166-1 alpha-2"}}},"MandateDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"}},"required":["createdAt"]},"QualityResultDto":{"type":"object","properties":{"score":{"type":"number","description":"The combined score of the quality gates","nullable":false},"maxScore":{"type":"number","description":"The combined max score that could be reached with the applied the quality gates","nullable":false},"percentage":{"type":"number","description":"The percentage of the score compared to the max score","nullable":false},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"gateResults":{"description":"The results from the quality gates that are part of this quality result","nullable":false,"type":"array","items":{"$ref":"#/components/schemas/QualityGateResultDto"}}},"required":["score","maxScore","percentage","createdAt","gateResults"]},"QualityGateResultDto":{"type":"object","properties":{"identifier":{"type":"string","description":"The identifier of the quality gate","nullable":false,"enum":["addressIsAvailable","addressIsComplete","addressIsValid","addressDoesNotMatchRecruiterUsersAddress","ibanDoesNotMatchAnotherPersonsIban","ibanDoesNotMatchRecruiterUsersIban","ibanIsAvailable","ibanIsValid","phoneNumberDoesNotMatchRecruiterUsersPhoneNumber","phoneNumberIsNotASequence","phoneNumberIsAvailable","phoneNumberMatchesPattern","phoneNumberDoesNotMatchAnotherPersonsPhoneNumber","emailIsAvailable","emailMatchesEmailPattern","emailIsDeliverable"]},"category":{"type":"string","description":"The category of the quality gate","nullable":false,"enum":["addressQuality","recruiterFraud","uniqueness","ibanQuality","emailQuality","phoneNumberQuality"]},"score":{"type":"number","description":"The score for this quality gate","nullable":false},"maxScore":{"type":"number","description":"The maximum score that could be reached with this quality gate","nullable":false},"percentage":{"type":"number","description":"The percentage of the score compared to the max score","nullable":false},"explanation":{"type":"string","description":"The explanation of the score","nullable":false,"enum":["ok","ibanMatchesPersonIban","ibanMatchesRecruiterIban","ibanIsMissing","ibanIsInvalid","ibanMayBeInvalid","addressIsMissing","addressIsIncomplete","addressIsInvalid","addressIsNotValidated","addressMatchesRecruiterAddress","phoneNumberIsASequence","mobilePhoneNumberIsASequence","phoneNumberMatchesRecruiterPhoneNumber","phoneNumberMatchesAnotherPersonsPhoneNumber","mobilePhoneNumberMatchesRecruiterPhoneNumber","phoneNumberIsMissing","phoneNumberDoesNotMatchPattern","mobilePhoneNumberDoesNotMatchPattern","emailIsMissing","emailDoesNotMatchEmailPattern","emailNotDeliverable","emailValidationUnknown"]},"metadata":{"type":"object","description":"Additional metadata for this quality gate result","nullable":true}},"required":["identifier","category","score","maxScore","percentage","explanation","metadata"]},"RecruiterUserDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"identifier":{"type":"string","description":"Recruiter user identifier"},"name":{"type":"string","description":"Recruiter user name. Only returned if you have permission to view it.","nullable":true}},"required":["uuid","identifier","name"]},"TransactionDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"origin":{"description":"This field requires you to connect the transaction to an origin, for example pledge case.","allOf":[{"$ref":"#/components/schemas/TransactionOriginDto"}]},"amount":{"type":"number","description":"Transaction amount. Only supporting Euros at this point."},"name":{"type":"string","description":"Name of the person that made this transaction at the moment in time. Might also be used for the name of the bank account holder.","nullable":true},"iban":{"type":"string","description":"IBAN of the bank account that made this transaction.","nullable":true},"description":{"type":"string","description":"Description of the transaction, usually provided by the payment initiator."},"provider":{"type":"string","enum":["cm","mollie"],"description":"Identifier of the payment provider used for this transaction.","nullable":true},"method":{"type":"string","enum":["idealqr","direct_debit"],"description":"Payment method used for this transaction.","nullable":true},"referenceId":{"type":"string","description":"Reference id provided by the payment initiator.","nullable":true},"transactionId":{"type":"string","description":"Transaction id provided by the payment provider.","nullable":true},"providerMetadata":{"type":"object","description":"Meta data provided by/about the payment provider.","nullable":true},"createdAt":{"format":"date-time","type":"string","description":"Date of transaction creation, formatted as ISO8601 date string."},"updatedAt":{"format":"date-time","type":"string","description":"Date of transaction last update, formatted as ISO8601 date string."},"status":{"type":"string","enum":["open","paid","failed","cancelled","reversed"],"description":"\nThe current status of the transaction:\n* `open` → open transaction, to be paid.\n* `paid` → paid transaction.\n* `failed` → failed transaction before it was paid.\n* `cancelled` → cancelled transaction before it was paid.\n* `reversed` → reversed transaction or chargeback."}},"required":["uuid","personUuid","origin","amount","description","createdAt","updatedAt","status"]},"TransactionOriginDto":{"type":"object","properties":{"name":{"type":"string","enum":["pledgeCase"]},"identifier":{"type":"string","format":"uuid","description":"UUID (v4)"}},"required":["name","identifier"]},"CallDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)","nullable":false},"status":{"type":"string","enum":["completed","requested","cancelled","expired"],"description":"\nThe current status of the call:\n* `requested` → a call is requested and should be made. Initial status.\n* `completed` → a call is done and completed. End status.\n* `cancelled` → a call was requested but is cancelled and thus never called. End status.\n* `expired` → a call was expired since the person was not reached within a specified number of attempts. End status.","nullable":false},"requestedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"externalMetadata":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CallExternalMetadataDto"}]},"attempts":{"nullable":false,"description":"Contains a collection of attempts that were made to complete the call","type":"array","items":{"$ref":"#/components/schemas/CallAttemptDto"}},"attemptsCount":{"type":"number","description":"The number of call attempts","nullable":false},"result":{"description":"The result of a completed call","nullable":true,"allOf":[{"$ref":"#/components/schemas/CallResultDto"}]},"lastUpdatedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"cancelledAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"completedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"expiredAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"notes":{"type":"string","description":"The notes of the call","nullable":true},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the person that is being called.","nullable":false},"relatedCaseUuid":{"type":"string","format":"uuid","description":"UUID (v4) of any of the person's pledge cases that is related to this call.","nullable":true},"callingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the organization that will perform this call.","nullable":true},"type":{"type":"string","enum":["verification","happy_call","winback"],"description":"\nThe current type of the call:\n* `verification` → used for verifying the personal details when a donor was newly recruited.\n* `happy_call` → used for existing donors to keep them engaged.\n* `winback` → used for donors to get them resubscribed.","nullable":false},"pledgeCase":{"description":"Related pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PledgeCaseDto"}]},"person":{"description":"Related person.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonDto"}]},"transactions":{"description":"Related transactions.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"recordingDuration":{"type":"number","description":"The duration of the call recording, in seconds","nullable":true}},"required":["uuid","status","requestedAt","externalMetadata","attempts","attemptsCount","result","lastUpdatedAt","cancelledAt","completedAt","expiredAt","notes","personUuid","relatedCaseUuid","callingOrganizationUuid","type","pledgeCase","person","transactions","recordingDuration"]},"CallExternalMetadataDto":{"type":"object","properties":{"applicationName":{"type":"string","description":"The name of the application that created the call","nullable":false},"referenceId":{"type":"string","description":"The reference id of the call in the external system","nullable":false},"agentReferenceId":{"type":"string","description":"The reference id of the agent in the external system","nullable":true},"statusCode":{"type":"string","description":"The status code of the call in the external system","nullable":true},"statusDescription":{"type":"string","description":"The status description of the call in the external system","nullable":true},"additionalProperties":{"type":"object","description":"Additional properties provided by/about the external system.","nullable":true}},"required":["applicationName","referenceId","agentReferenceId","statusCode","statusDescription","additionalProperties"]},"CallAttemptDto":{"type":"object","properties":{"userUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the user that attempted a call.","nullable":true},"attemptAt":{"type":"string","format":"date-time","description":"Timestamp when a call was attempted, formatted as ISO8601 date string.","nullable":true},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the call attempt was created, formatted as ISO8601 date string.","nullable":true}},"required":["userUuid","attemptAt","createdAt"]},"CallResultDto":{"type":"object","properties":{"resultCode":{"type":"string","enum":["confirmed","downgraded","converted","dropped","other"],"description":"\nThe current status of the call result:\n* `confirmed` → a call has been made and pledge agreements are confirmed and data may be updated before confirming.\n* `downgraded` → a call has been made and the pledge amount has been downgraded to a lower value.\n* `converted` → a call has been made and the pledge was converted. For example: change of donation period.\n* `dropped` → a call has been made and the pledge was dropped. For example due to: a regret, complaint or missing IBAN.\n* `other` → a call has been made. This status is applied when other statuses do not apply.","nullable":false},"completedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"notes":{"type":"string","nullable":true},"duration":{"type":"number","description":"The duration of the call result recording, in seconds. This field is deprecated and will be removed in the future. Use `call.recordingDuration` instead.","nullable":true,"deprecated":true},"donorRetentionRating":{"type":"number","description":"The donor retention rating is available when status of the call is completed. The donor retention rating values can be between 1 and 10.","nullable":true,"enum":[0,1,2,3,4,5,6,7,8,9,10]}},"required":["resultCode","completedAt","notes","duration","donorRetentionRating"]},"FocusAreaDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"name":{"type":"string","description":"Name of the focus area"},"externalSource":{"description":"External source of the focus area","nullable":true,"allOf":[{"$ref":"#/components/schemas/ExternalSourceDto"}]}},"required":["uuid","name","externalSource"]},"ExternalSourceDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the external source"},"identifier":{"type":"string","description":"Identifier of this entity in the external source"}},"required":["name","identifier"]}}},"paths":{"/api/v1/pledges/{uuid}":{"get":{"operationId":"PledgeCaseDetailsRestController_getDetails","summary":"","description":"Fetch details of a pledge case.","parameters":[{"name":"uuid","required":true,"in":"path","schema":{"type":"string"}},{"name":"include","required":false,"in":"query","description":"Include additional data in the response","schema":{"type":"array","items":{"type":"string","enum":["transactions","calls","recruiterFullName"]}}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PledgeCaseDto"}}}},"400":{"description":"Bad request. Response body shows what the problem is."},"401":{"description":"Service account not properly authenticated"},"403":{"description":"Service account forbids executing this action"},"default":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PledgeCaseDto"}}}}},"tags":["pledges"]}}}}
```

## Update a pledge case

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

```json
{"openapi":"3.0.0","info":{"title":"TapRaise API","version":"v1"},"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"jwt","type":"http"}},"schemas":{"UpdatePledgeCaseInput":{"type":"object","properties":{"recruitingLocationLabel":{"type":"string","description":"The label of the location where the pledge was recruited."},"donationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"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."},"donationAmount":{"type":"number","description":"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.."},"recruiterUserUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the recruiter that recruited the pledge."},"startsAt":{"type":"string","description":"Date of pledge start, formatted as ISO8601 date string"},"endsAt":{"type":"string","description":"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."},"externalMetadata":{"type":"object","description":"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."}}},"PledgeCaseDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"status":{"type":"string","enum":["lead","active","dropped","cancelled","fulfilled"],"description":"\nThe current status of the pledge:\n* `lead` → lead pledge, to be collected. Initial status.\n* `active` → active pledge, being collected.\n* `dropped` → dropped before it was ever collected or released.\n* `cancelled` → cancelled after it was collected or released.\n* `fulfilled` → ended after reaching its end date."},"startsAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"endsAt":{"format":"date-time","type":"string","nullable":true,"description":"ISO8601 compatible datetime string"},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"updatedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string describing when the pledge was last updated"},"releasedAt":{"format":"date-time","type":"string","nullable":true,"description":"ISO8601 compatible datetime string"},"owningOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"owningOrganization":{"description":"Organization recruited for","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"recruitingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"recruitingOrganization":{"description":"Recruiting organization","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"recruitingLocationLabel":{"type":"string","nullable":true,"description":"The label of the location where the pledge was recruited."},"initialDonationAmount":{"type":"number","description":"The donation amount at the moment the pledge was submitted."},"donationAmount":{"type":"number","description":"The current donation amount"},"initialDonationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"The donation interval at the moment the pledge was submitted."},"donationInterval":{"type":"string","enum":["once","monthly","halfYearly","quarterly","yearly"],"description":"The current donation interval"},"preferredPaymentDay":{"type":"number","description":"The preferred payment day of the month (options: 1 - 28). Default value, when not supplied or user has no preference, is: <code>null</code>"},"person":{"description":"Related person.\n\nNote: Not included when this pledge case is requested with the `include` query parameter via the GET calls endpoint. In that case you can use the CallDto.person.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonDto"}]},"recruitmentType":{"type":"string","enum":["d2d","street"],"nullable":true},"recruiterUserUuid":{"type":"string","format":"uuid","description":"UUID (v4)","deprecated":true},"recruiterUser":{"description":"User that recruited the pledge","allOf":[{"$ref":"#/components/schemas/RecruiterUserDto"}]},"signatureSignedUrl":{"type":"string","nullable":true,"description":"Temporary URL to signature file, valid for 1 hour"},"transactions":{"description":"Transactions that were created for this pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET pledges endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"calls":{"description":"Calls that were created for this pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET pledges endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/CallDto"}},"focusAreas":{"default":[],"type":"array","items":{"$ref":"#/components/schemas/FocusAreaDto"}},"externalSource":{"nullable":true,"description":"When the pledge case is imported into TapRaise, for instance from Backstage, it has an external source definition set that describes where it comes from and what its identifier in the external system is.","allOf":[{"$ref":"#/components/schemas/ExternalSourceDto"}]},"externalMetadata":{"type":"object","nullable":true,"description":"Additional properties provided by/about the external system."},"campaignCode":{"type":"string","nullable":true,"description":"Campaign code defined by the organization"},"collectionDate":{"format":"date-time","type":"string","nullable":true,"description":"Collection date of the pledge case defined by the organization. ISO8601 compatible datetime string."}},"required":["uuid","status","startsAt","endsAt","createdAt","updatedAt","owningOrganizationUuid","owningOrganization","recruitingOrganizationUuid","recruitingOrganization","recruitingLocationLabel","initialDonationAmount","donationAmount","initialDonationInterval","donationInterval","preferredPaymentDay","person","recruitmentType","recruiterUserUuid","recruiterUser","signatureSignedUrl","transactions","calls","focusAreas","externalSource","externalMetadata","campaignCode","collectionDate"]},"OrganizationDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"name":{"type":"string","description":"Name of organization"}},"required":["uuid","name"]},"PersonDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4). Deprecated: use the 'uuid' property instead.","deprecated":true},"academicTitle":{"type":"string","nullable":true},"initials":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastNamePrefix":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"dateOfBirth":{"type":"string","nullable":true,"description":"Local date of birth for user, formatted as YYYY-MM-DD"},"socialSecurityNumber":{"type":"string","nullable":true,"description":"Social security number as string without any separators."},"iban":{"type":"string","nullable":true},"address":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/AddressDto"}]},"phoneNumber":{"type":"string","nullable":true},"mobilePhoneNumber":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"gender":{"type":"string","enum":["male","female","other"],"nullable":true},"optInEmail":{"type":"boolean","nullable":true},"optInPhone":{"type":"boolean","nullable":true},"optInMail":{"type":"boolean","nullable":true},"optInSms":{"type":"boolean","nullable":true},"language":{"type":"string","nullable":true,"description":"ISO-639-1 language code"},"mandate":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/MandateDto"}]},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"},"owningOrganization":{"description":"Organization recruited for","allOf":[{"$ref":"#/components/schemas/OrganizationDto"}]},"qualityResult":{"nullable":true,"description":"The generated quality result of the person. This is only included when requested via the 'include' parameter in the request, if available for the endpoint you're calling. If the value is `null` it means that the quality result is not yet generated.","allOf":[{"$ref":"#/components/schemas/QualityResultDto"}]}},"required":["uuid","personUuid","academicTitle","initials","firstName","lastNamePrefix","lastName","dateOfBirth","iban","address","phoneNumber","mobilePhoneNumber","email","gender","optInEmail","optInPhone","optInMail","optInSms","language","mandate","createdAt","owningOrganization","qualityResult"]},"AddressDto":{"type":"object","properties":{"street":{"type":"string","nullable":true},"houseNumber":{"type":"string","nullable":true},"houseNumberExtension":{"type":"string","nullable":true},"zipCode":{"type":"string","nullable":true},"city":{"type":"string","nullable":true},"country":{"type":"string","nullable":true,"description":"Country code in ISO 3166-1 alpha-2"}}},"MandateDto":{"type":"object","properties":{"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string"}},"required":["createdAt"]},"QualityResultDto":{"type":"object","properties":{"score":{"type":"number","description":"The combined score of the quality gates","nullable":false},"maxScore":{"type":"number","description":"The combined max score that could be reached with the applied the quality gates","nullable":false},"percentage":{"type":"number","description":"The percentage of the score compared to the max score","nullable":false},"createdAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"gateResults":{"description":"The results from the quality gates that are part of this quality result","nullable":false,"type":"array","items":{"$ref":"#/components/schemas/QualityGateResultDto"}}},"required":["score","maxScore","percentage","createdAt","gateResults"]},"QualityGateResultDto":{"type":"object","properties":{"identifier":{"type":"string","description":"The identifier of the quality gate","nullable":false,"enum":["addressIsAvailable","addressIsComplete","addressIsValid","addressDoesNotMatchRecruiterUsersAddress","ibanDoesNotMatchAnotherPersonsIban","ibanDoesNotMatchRecruiterUsersIban","ibanIsAvailable","ibanIsValid","phoneNumberDoesNotMatchRecruiterUsersPhoneNumber","phoneNumberIsNotASequence","phoneNumberIsAvailable","phoneNumberMatchesPattern","phoneNumberDoesNotMatchAnotherPersonsPhoneNumber","emailIsAvailable","emailMatchesEmailPattern","emailIsDeliverable"]},"category":{"type":"string","description":"The category of the quality gate","nullable":false,"enum":["addressQuality","recruiterFraud","uniqueness","ibanQuality","emailQuality","phoneNumberQuality"]},"score":{"type":"number","description":"The score for this quality gate","nullable":false},"maxScore":{"type":"number","description":"The maximum score that could be reached with this quality gate","nullable":false},"percentage":{"type":"number","description":"The percentage of the score compared to the max score","nullable":false},"explanation":{"type":"string","description":"The explanation of the score","nullable":false,"enum":["ok","ibanMatchesPersonIban","ibanMatchesRecruiterIban","ibanIsMissing","ibanIsInvalid","ibanMayBeInvalid","addressIsMissing","addressIsIncomplete","addressIsInvalid","addressIsNotValidated","addressMatchesRecruiterAddress","phoneNumberIsASequence","mobilePhoneNumberIsASequence","phoneNumberMatchesRecruiterPhoneNumber","phoneNumberMatchesAnotherPersonsPhoneNumber","mobilePhoneNumberMatchesRecruiterPhoneNumber","phoneNumberIsMissing","phoneNumberDoesNotMatchPattern","mobilePhoneNumberDoesNotMatchPattern","emailIsMissing","emailDoesNotMatchEmailPattern","emailNotDeliverable","emailValidationUnknown"]},"metadata":{"type":"object","description":"Additional metadata for this quality gate result","nullable":true}},"required":["identifier","category","score","maxScore","percentage","explanation","metadata"]},"RecruiterUserDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"identifier":{"type":"string","description":"Recruiter user identifier"},"name":{"type":"string","description":"Recruiter user name. Only returned if you have permission to view it.","nullable":true}},"required":["uuid","identifier","name"]},"TransactionDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"origin":{"description":"This field requires you to connect the transaction to an origin, for example pledge case.","allOf":[{"$ref":"#/components/schemas/TransactionOriginDto"}]},"amount":{"type":"number","description":"Transaction amount. Only supporting Euros at this point."},"name":{"type":"string","description":"Name of the person that made this transaction at the moment in time. Might also be used for the name of the bank account holder.","nullable":true},"iban":{"type":"string","description":"IBAN of the bank account that made this transaction.","nullable":true},"description":{"type":"string","description":"Description of the transaction, usually provided by the payment initiator."},"provider":{"type":"string","enum":["cm","mollie"],"description":"Identifier of the payment provider used for this transaction.","nullable":true},"method":{"type":"string","enum":["idealqr","direct_debit"],"description":"Payment method used for this transaction.","nullable":true},"referenceId":{"type":"string","description":"Reference id provided by the payment initiator.","nullable":true},"transactionId":{"type":"string","description":"Transaction id provided by the payment provider.","nullable":true},"providerMetadata":{"type":"object","description":"Meta data provided by/about the payment provider.","nullable":true},"createdAt":{"format":"date-time","type":"string","description":"Date of transaction creation, formatted as ISO8601 date string."},"updatedAt":{"format":"date-time","type":"string","description":"Date of transaction last update, formatted as ISO8601 date string."},"status":{"type":"string","enum":["open","paid","failed","cancelled","reversed"],"description":"\nThe current status of the transaction:\n* `open` → open transaction, to be paid.\n* `paid` → paid transaction.\n* `failed` → failed transaction before it was paid.\n* `cancelled` → cancelled transaction before it was paid.\n* `reversed` → reversed transaction or chargeback."}},"required":["uuid","personUuid","origin","amount","description","createdAt","updatedAt","status"]},"TransactionOriginDto":{"type":"object","properties":{"name":{"type":"string","enum":["pledgeCase"]},"identifier":{"type":"string","format":"uuid","description":"UUID (v4)"}},"required":["name","identifier"]},"CallDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)","nullable":false},"status":{"type":"string","enum":["completed","requested","cancelled","expired"],"description":"\nThe current status of the call:\n* `requested` → a call is requested and should be made. Initial status.\n* `completed` → a call is done and completed. End status.\n* `cancelled` → a call was requested but is cancelled and thus never called. End status.\n* `expired` → a call was expired since the person was not reached within a specified number of attempts. End status.","nullable":false},"requestedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"externalMetadata":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CallExternalMetadataDto"}]},"attempts":{"nullable":false,"description":"Contains a collection of attempts that were made to complete the call","type":"array","items":{"$ref":"#/components/schemas/CallAttemptDto"}},"attemptsCount":{"type":"number","description":"The number of call attempts","nullable":false},"result":{"description":"The result of a completed call","nullable":true,"allOf":[{"$ref":"#/components/schemas/CallResultDto"}]},"lastUpdatedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"cancelledAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"completedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"expiredAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":true},"notes":{"type":"string","description":"The notes of the call","nullable":true},"personUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the person that is being called.","nullable":false},"relatedCaseUuid":{"type":"string","format":"uuid","description":"UUID (v4) of any of the person's pledge cases that is related to this call.","nullable":true},"callingOrganizationUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the organization that will perform this call.","nullable":true},"type":{"type":"string","enum":["verification","happy_call","winback"],"description":"\nThe current type of the call:\n* `verification` → used for verifying the personal details when a donor was newly recruited.\n* `happy_call` → used for existing donors to keep them engaged.\n* `winback` → used for donors to get them resubscribed.","nullable":false},"pledgeCase":{"description":"Related pledge case.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PledgeCaseDto"}]},"person":{"description":"Related person.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"allOf":[{"$ref":"#/components/schemas/PersonDto"}]},"transactions":{"description":"Related transactions.\n\nNote: Only included when explicitly requested via the `include` query parameter via the GET calls endpoint.","nullable":true,"type":"array","items":{"$ref":"#/components/schemas/TransactionDto"}},"recordingDuration":{"type":"number","description":"The duration of the call recording, in seconds","nullable":true}},"required":["uuid","status","requestedAt","externalMetadata","attempts","attemptsCount","result","lastUpdatedAt","cancelledAt","completedAt","expiredAt","notes","personUuid","relatedCaseUuid","callingOrganizationUuid","type","pledgeCase","person","transactions","recordingDuration"]},"CallExternalMetadataDto":{"type":"object","properties":{"applicationName":{"type":"string","description":"The name of the application that created the call","nullable":false},"referenceId":{"type":"string","description":"The reference id of the call in the external system","nullable":false},"agentReferenceId":{"type":"string","description":"The reference id of the agent in the external system","nullable":true},"statusCode":{"type":"string","description":"The status code of the call in the external system","nullable":true},"statusDescription":{"type":"string","description":"The status description of the call in the external system","nullable":true},"additionalProperties":{"type":"object","description":"Additional properties provided by/about the external system.","nullable":true}},"required":["applicationName","referenceId","agentReferenceId","statusCode","statusDescription","additionalProperties"]},"CallAttemptDto":{"type":"object","properties":{"userUuid":{"type":"string","format":"uuid","description":"UUID (v4) of the user that attempted a call.","nullable":true},"attemptAt":{"type":"string","format":"date-time","description":"Timestamp when a call was attempted, formatted as ISO8601 date string.","nullable":true},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the call attempt was created, formatted as ISO8601 date string.","nullable":true}},"required":["userUuid","attemptAt","createdAt"]},"CallResultDto":{"type":"object","properties":{"resultCode":{"type":"string","enum":["confirmed","downgraded","converted","dropped","other"],"description":"\nThe current status of the call result:\n* `confirmed` → a call has been made and pledge agreements are confirmed and data may be updated before confirming.\n* `downgraded` → a call has been made and the pledge amount has been downgraded to a lower value.\n* `converted` → a call has been made and the pledge was converted. For example: change of donation period.\n* `dropped` → a call has been made and the pledge was dropped. For example due to: a regret, complaint or missing IBAN.\n* `other` → a call has been made. This status is applied when other statuses do not apply.","nullable":false},"completedAt":{"format":"date-time","type":"string","description":"ISO8601 compatible datetime string","nullable":false},"notes":{"type":"string","nullable":true},"duration":{"type":"number","description":"The duration of the call result recording, in seconds. This field is deprecated and will be removed in the future. Use `call.recordingDuration` instead.","nullable":true,"deprecated":true},"donorRetentionRating":{"type":"number","description":"The donor retention rating is available when status of the call is completed. The donor retention rating values can be between 1 and 10.","nullable":true,"enum":[0,1,2,3,4,5,6,7,8,9,10]}},"required":["resultCode","completedAt","notes","duration","donorRetentionRating"]},"FocusAreaDto":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID (v4)"},"name":{"type":"string","description":"Name of the focus area"},"externalSource":{"description":"External source of the focus area","nullable":true,"allOf":[{"$ref":"#/components/schemas/ExternalSourceDto"}]}},"required":["uuid","name","externalSource"]},"ExternalSourceDto":{"type":"object","properties":{"name":{"type":"string","description":"Name of the external source"},"identifier":{"type":"string","description":"Identifier of this entity in the external source"}},"required":["name","identifier"]}}},"paths":{"/api/v1/pledges/{uuid}/actions/update":{"put":{"operationId":"UpdatePledgeCaseRestController_updatePledgeCase","summary":"Update a pledge case","description":"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. \n\nOnly 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.\n\nThe person who is allowed to update a pledge case is limited by your service account.\n\nThis endpoint will return the updated pledge case in the response body.","parameters":[{"name":"uuid","required":true,"in":"path","description":"The uuid of the pledge case","schema":{"format":"uuid","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePledgeCaseInput"}}}},"responses":{"200":{"description":"Pledge case was updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PledgeCaseDto"}}}},"400":{"description":"Bad request. Response body shows what the problem is."},"401":{"description":"Service account not properly authenticated"},"403":{"description":"Service account forbids executing this action"},"404":{"description":"Pledge case is not found"}},"tags":["pledges"]}}}}
```

{% openapi src="/files/GogkapyFjqSaKHM4TgxG" path="/api/v1/pledges/{uuid}/actions/{statusUpdateAction}" method="put" %}
[v1-14-aug-2024.json](https://105158476-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGSMK61uFxhlKDWQyrNcr%2Fuploads%2F2FPY03rTJQu0ig7wfwH0%2Fv1-14-aug-2024.json?alt=media\&token=43c8998e-dd95-4788-b5b4-33d081850458)
{% endopenapi %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.tapraise.com/api/api-reference/pledges.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
