Skip to content

Case File

A case is created with each root company search. It groups related work (root search, expand layers, LEI lookups) and holds the live entity graph (target + nested counterparties).

Warning

Storage contract (important for integrators)

Resource What you get
GET /casefile/{caseId} Case metadata + search summaries (no nested result) + entity graph on target
GET /search/{searchId}/status Full search document, including result when completed

Do not expect full search result blobs inside case.searches[].


Get case file

Request

GET https://api.revolutio.systems/casefile/{caseId}

Headers

Header Value
X-API-Key or Authorization API key or Bearer token

Path parameters

Parameter Type Description
caseId string Case ID returned from POST /search

Response

{
  "_id": "xyz789caseId",
  "createdAt": "2026-01-15T10:30:00.000Z",
  "updatedAt": "2026-01-15T10:40:00.000Z",
  "userId": "user-uid",
  "target": {
    "_id": "entity-uuid",
    "legalName": "EXAMPLE LTD",
    "companyStatus": "Active",
    "countryOfRegistration": "GB",
    "jurisdiction": "GB",
    "addresses": [],
    "identifiers": [],
    "relationships": [],
    "counterparties": [],
    "sourceDocuments": []
  },
  "searches": [
    {
      "_id": "abc123searchId",
      "caseId": "xyz789caseId",
      "userId": "user-uid",
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-15T10:30:05.000Z",
      "status": "COMPLETED",
      "searchInputs": {
        "identifier": "09215191",
        "jurisdiction": "GB"
      }
    },
    {
      "_id": "expand-search-id",
      "caseId": "xyz789caseId",
      "userId": "user-uid",
      "createdAt": "2026-01-15T10:35:00.000Z",
      "updatedAt": "2026-01-15T10:35:20.000Z",
      "status": "COMPLETED",
      "searchType": "expand",
      "parentEntityId": "counterparty-uuid",
      "searchInputs": {
        "identifier": "HRB 12345",
        "jurisdiction": "DE"
      }
    }
  ]
}
Field Type Description
_id string Case ID
createdAt / updatedAt string ISO 8601 timestamps
userId string Case owner
target Entity Root company graph (present after a successful root search)
searches SearchSummary[] Lightweight history of searches on this case

Search summary fields

Field Type Description
_id string Search ID
caseId string Parent case
userId string Owner
status string PENDING, COMPLETED, FAILED, or EMPTY
searchInputs object Original parameters
searchType string Present for non-root searches: expand, lei
parentEntityId string Expand only: entity that was expanded
pendingDocument boolean Optional flag (e.g. SG async fulfilment still generating)
createdAt / updatedAt string ISO 8601 timestamps
{ "error": "Missing caseId" }
{ "error": "Missing Authorization or X-API-Key header" }
{ "error": "Case not found" }

Example (cURL)

curl -sS "https://api.revolutio.systems/casefile/$CASE_ID" \
  -H "X-API-Key: $REV_API_KEY" | jq .

Reading ownership structure

  • Root company: target
  • Officers / shareholders / related parties: target.counterparties[], linked via relationships[]._parentId
  • Expand layers: after POST /search/expand, new counterparties hang under the expanded entity’s id
  • Proof files: sourceDocuments[]._documentIDDocument Retrieval

For the full payload of a specific search (including expand result and failure details), call GET /search/{searchId}/status.