API Explorer 1018 endpoints

Create Retention Hold

POST /obp/v7.0.0/management/banks/BANK_ID/retention-holds

OBPv7.0.0-createRetentionHold Roles: CanManageRetentionHold(per bank) Data-RetentionAPI

Place a legal hold. reason is required.

A legal hold keeps resources out of every retention run until it is released: they are not archived, anonymised or deleted, and an archived resource on hold is not deleted from the archive. A hold names one resource by resource_type and resource_id (for a dynamic entity record, entity_name may be given too), or, for dynamic_entity_record, every record of one dynamic entity by entity_name alone. A consent is named by its consent_reference_id. A chat room with a held message is kept whole.

BANK_ID is the space: a bank's id, or SYS for the system space. The Role is checked at that BANK_ID.

User Authentication is Required. The User must be logged in. The Application must also be authenticated.

URL Parameters:

BANK_ID: gh.29.uk

JSON request body fields (4)
reason
reason
resource_type
resource_type
entity_name
EXAMPLE COMPANY LTD
resource_id
resource_id
JSON response body fields (9)
bank_id
gh.29.uk
is_active
false
placed_at
placed_at
placed_by_user_id
placed_by_user_id
reason
reason
resource_type
resource_type
retention_hold_id
retention_hold_id
entity_name
EXAMPLE COMPANY LTD
resource_id
resource_id
Example request body
{
  "resource_type": "dynamic_entity_record",
  "resource_id": "3d2c1b0a-9f8e-4d7c-6b5a-4f3e2d1c0b9a",
  "entity_name": "application",
  "reason": "Requested by the records officer while a complaint is open."
}
Example success response
{
  "retention_hold_id": "2b1a0f9e-8d7c-4b6a-a594-837261504f3e",
  "bank_id": "SYS",
  "resource_type": "dynamic_entity_record",
  "resource_id": "3d2c1b0a-9f8e-4d7c-6b5a-4f3e2d1c0b9a",
  "entity_name": "application",
  "reason": "Requested by the records officer while a complaint is open.",
  "placed_by_user_id": "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
  "placed_at": "2026-01-01T00:00:00Z",
  "is_active": true
}
Possible errors (6)
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-10001: Incorrect json format.
  • OBP-30617: Invalid retention hold.
  • OBP-50000: Unknown Error.
Implemented by OBPv7.0.0 createRetentionHold