Update a requirement
Update a requirement's status, notes, or other fields.
Shortcut Actions:
Use the action field for common operations:
approve- Mark requirement as approvedreject- Mark requirement as rejected (requires rejectionReason)waive- Waive the requirementsubmit- Mark as submitted (typically used by applicant)
Requires writeApplications permission.
Account-scoped: Requires X-Account-ID header
Path Parameters
- Type: stringapplication
Id requiredThe unique ID of the application
- Type: integerrequirement
Id requiredThe ID of the requirement
Headers
- Type: stringx
-account -id requiredAccount ID for the request
Body·
required
application/json
Input for updating a requirement
- Type: stringenumaction
Shortcut action to perform
values- approve
- reject
- waive
- submit
- Type: stringapplicant
Notes max length:2000Notes from applicant
- Type: stringrejection
Reason max length:1000Required when action is "reject" or status is "rejected"
- Type: stringenumstatus
New status (use action for common operations)
values- pending
- submitted
- approved
- rejected
- waived
- Type: stringunderwriter
Notes max length:2000Notes from underwriter
Responses
- application/json
- application/json
- 401
Unauthorized - User not authenticated
- 403
Forbidden - User does not have writeApplications permission
- 404
Requirement or application not found
- application/json
Request Example for patch/applications/{applicationId}/requirements/{requirementId}
curl 'https://api.pulsecrm.com/applications/{applicationId}/requirements/1' \
--request PATCH \
--header 'x-account-id: 2311' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"action": "approve",
"underwriterNotes": "Document verified and accepted"
}'
{
"id": 1,
"applicationId": 1,
"type": "document",
"questionText": "string",
"documentKey": "string",
"customDocumentName": "string",
"documentDescription": "string",
"forOwner": true,
"ownerUniqueId": "string",
"fieldSection": "string",
"fieldPath": "string",
"fieldLabel": "string",
"currentValue": "string",
"reason": "string",
"priority": "required",
"status": "pending",
"requestedBy": 1,
"requestedAt": "2026-05-23T20:01:15.036Z",
"resolvedBy": 1,
"resolvedAt": "2026-05-23T20:01:15.036Z",
"underwriterNotes": "string",
"applicantNotes": "string",
"rejectionReason": "string",
"createdAt": "2026-05-23T20:01:15.036Z",
"updatedAt": "2026-05-23T20:01:15.036Z",
"requestedByUser": {
"id": 1,
"name": "string",
"email": "string"
}
}