Reactivate Local Hold Request

PUT /api/.../holds/{id}?action=reactivate

Reactivate a local hold request.

Permissions

    CR_HoldRequests_ReactivateRequest: reactivate hold requests

Request Information

Name Type Required Description
id Integer Yes ID of local hold request
action String Yes The value of action must be "reactivate"

The process of reactivating a hold request is "conversational" in nature. Multiple API requests may have to be made as the user may need to acknowledge, bypass, or otherwise answer questions. As such, additional procedural state information will be passed back and forth.

The body of the REQUEST calls to the API will follow this general pattern:

application/json, text/json
{
    ProcedureStep: 1,
    Answer: 1,
}

The body of the RETURNED calls will follow this general pattern:

application/json, text/json
{
    ProcedureStep: null,
    Answer: null,
    PAPIProcedure: 0,
    PAPIProcedureStep: 22,
    PAPIAction: 2,
    PAPIActionProcedure: 0,
    PAPIPromptType: 4,
    PAPIStopType: 0,
    PAPIReturnCode: -4008,
    Success: false,
    Message: "Patron has reached the maximum limit of requests"
}

Workflow Steps

The initial API request should have a ProcedureStep value of 1 (Start). Check the returned values for the Success attribute as an indication if fulfilling the hold request was successful. If Success is true, the request has been successfully reactivated.

For cases where Success is false, check the other PAPI* attributes for what is required next in order to resubmit the API request. The PAPIProcedureStep may contain any of the following values if the Success attribute is false:

  • 2 - Patron is blocked (Continue/Cancel)
  • 22 - Maximum hold request limit has been reached (Continue/Cancel)
  • 32 - Material type limit has been reached for specific material (Continue/Cancel)
The Message attribute contains the prompt to display to the user. When reissuing the call to the API, if required, set the ProcedureStep attribute to the same value as what was returned in PAPIProcedureStep, and the Answer value to 0 for no, and 1 for yes.

HTTP Response Codes

Code Description
200 true
400 FAILURE.
409 CONFLICT. Patron record is secured.

Required Permissions

Permission IDs found here.

    HoldRequests_Modify (based on the pickup branch ID)
    HoldRequests_ReactivateRequest (based on the pickup branch ID)