Princeton Allsearch search response

Uniform response envelope returned by every /search/{target} operation of the Princeton University Library Allsearch API. Derived from the institution's own OpenAPI 3.1.1 examples and verified against live 200 responses on 2026-08-19. The API declares no components/schemas, so this schema is API Evangelist's, not Princeton's.

UniversityHigher EducationEducationIvy LeagueUnited StatesNew JerseyResearch LibraryResearch DataOpen DataDigital CollectionsIdentity FederationMuseum

Properties

Name Type Description
number integer Total number of matching records in the underlying index, not the number returned.
records array The result window. Length is fixed by the service; the API exposes no page or size parameter.
more string Deep link into the human-facing application that owns this result set (catalog.princeton.edu, findingaids.princeton.edu, dpul.princeton.edu, maps.princeton.edu, …). This is the API's only pagination a
View JSON Schema on GitHub

JSON Schema

princeton-allsearch-search-response.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/princeton/refs/heads/main/json-schema/princeton-allsearch-search-response.json",
  "title": "Princeton Allsearch search response",
  "description": "Uniform response envelope returned by every /search/{target} operation of the Princeton University Library Allsearch API. Derived from the institution's own OpenAPI 3.1.1 examples and verified against live 200 responses on 2026-08-19. The API declares no components/schemas, so this schema is API Evangelist's, not Princeton's.",
  "x-provenance": {
    "generated": "2026-08-19",
    "method": "derived",
    "source": "https://allsearch-api.princeton.edu/api-docs/v1/swagger.yaml",
    "verified_against": "https://allsearch-api.princeton.edu/search/catalog?query=climate",
    "x-operator": "institution"
  },
  "type": "object",
  "required": ["number", "records"],
  "properties": {
    "number": {
      "type": "integer",
      "description": "Total number of matching records in the underlying index, not the number returned.",
      "minimum": 0
    },
    "records": {
      "type": "array",
      "description": "The result window. Length is fixed by the service; the API exposes no page or size parameter.",
      "items": { "$ref": "#/$defs/Record" }
    },
    "more": {
      "type": "string",
      "format": "uri",
      "description": "Deep link into the human-facing application that owns this result set (catalog.princeton.edu, findingaids.princeton.edu, dpul.princeton.edu, maps.princeton.edu, …). This is the API's only pagination affordance: it hands the caller back to the web UI."
    }
  },
  "$defs": {
    "Record": {
      "type": "object",
      "description": "One search hit. The core five fields are stable across every target; everything target-specific is pushed into other_fields.",
      "required": ["title", "id", "url"],
      "properties": {
        "title": { "type": "string" },
        "creator": { "type": "string", "description": "Author, artist or maker. Absent for records that have none." },
        "publisher": { "type": "string" },
        "id": { "type": "string", "description": "Identifier in the owning system (e.g. an Alma MMS ID for catalog records)." },
        "type": { "type": "string", "description": "Record type as the owning system names it — Book, Journal, artobjects, and so on. Not a controlled vocabulary shared across targets." },
        "url": { "type": "string", "format": "uri", "description": "Canonical human-facing URL for the record." },
        "other_fields": {
          "type": "object",
          "description": "Open bag of target-specific fields. Untyped by design; keys observed include online_access_count, resource_url, resource_url_label, first_barcode, first_call_number, first_library, first_status, credit_line, medium, dimensions, primary_image, object_number, date.",
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    }
  }
}