DOR Services API — component schemas

JSON Schema extracted from the components.schemas block of Stanford University Libraries' first-party OpenAPI for the DOR Services API. Institution-operated: every server in the source contract is under stanford.edu.

UniversityHigher EducationEducationResearchUnited StatesCaliforniaPrivate Research UniversityAssociation of American UniversitiesResearch RepositoryCourse CatalogIdentity FederationLibraryDigital RepositoryArtificial IntelligenceIIIF
View JSON Schema on GitHub

JSON Schema

stanford-dor-services-api-schemas.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stanford/main/json-schema/stanford-dor-services-api-schemas.json",
  "title": "DOR Services API \u2014 component schemas",
  "description": "JSON Schema extracted from the components.schemas block of Stanford University Libraries' first-party OpenAPI for the DOR Services API. Institution-operated: every server in the source contract is under stanford.edu.",
  "x-operator": "institution",
  "x-generated": "2026-08-19",
  "x-method": "derived",
  "x-source": "https://raw.githubusercontent.com/sul-dlss/dor-services-app/main/openapi.yml",
  "$defs": {
    "ReleaseTag": {
      "description": "A tag that indicates the item or collection should be released.",
      "type": "object",
      "additionalProperties": true,
      "required": [
        "release",
        "what"
      ],
      "properties": {
        "who": {
          "description": "Who did this release",
          "type": "string",
          "example": "petucket"
        },
        "what": {
          "description": "What is being released. This item or the whole collection.",
          "type": "string",
          "enum": [
            "self",
            "collection"
          ],
          "example": "self"
        },
        "date": {
          "description": "When did this action happen",
          "type": "string",
          "format": "date-time"
        },
        "to": {
          "description": "What platform is it released to",
          "type": "string",
          "example": "Searchworks"
        },
        "release": {
          "type": "boolean"
        }
      }
    },
    "AdministrativeTag": {
      "type": "string",
      "pattern": "^.+( : .+)+$",
      "example": "Foo : Bar : Baz"
    },
    "AdministrativeTagEscaped": {
      "type": "string",
      "pattern": "^.+(\\+(?:%3A|:)\\+.+)+$",
      "example": "Foo+%3A+Bar+%3A+Baz"
    },
    "LaneId": {
      "description": "Lane for prioritizing the work",
      "type": "string",
      "enum": [
        "default",
        "low",
        "high"
      ],
      "default": "default"
    },
    "UserVersion": {
      "type": "object",
      "description": "Information about a user version.",
      "properties": {
        "version": {
          "type": "integer",
          "description": "the number of the object version"
        },
        "userVersion": {
          "type": "integer",
          "description": "the number of the user version"
        },
        "withdrawn": {
          "type": "boolean",
          "description": "whether the user version is withdrawn"
        },
        "withdrawable": {
          "type": "boolean",
          "description": "whether the user version can be withdrawn"
        },
        "restorable": {
          "type": "boolean",
          "description": "whether the user version can be restored"
        },
        "head": {
          "type": "boolean",
          "description": "whether the user version is the head"
        }
      }
    },
    "UserVersionLog": {
      "type": "object",
      "description": "User versions for an object.",
      "properties": {
        "versions": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/UserVersion"
          }
        }
      }
    },
    "Version": {
      "type": "object",
      "description": "Similar to the version inventory specified by OCFL: https://ocfl.io/draft/spec/#version-inventory",
      "properties": {
        "versionId": {
          "type": "integer",
          "description": "the number of the version"
        },
        "tag": {
          "type": "string",
          "description": "the number of the version"
        },
        "message": {
          "type": "string",
          "description": "a message that explains what changed"
        },
        "cocina": {
          "type": "boolean",
          "description": "whether the version has cocina data. (Legacy versions may not have cocina data.)"
        }
      }
    },
    "VersionLog": {
      "type": "object",
      "description": "Similar to the version inventory specified by OCFL: https://ocfl.io/draft/spec/#version-inventory",
      "properties": {
        "versions": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Version"
          }
        }
      }
    },
    "VersionStatus": {
      "type": "object",
      "required": [
        "versionId",
        "open",
        "openable",
        "assembling",
        "accessioning",
        "closeable",
        "discardable",
        "versionDescription"
      ],
      "properties": {
        "versionId": {
          "type": "integer",
          "description": "the number of the version"
        },
        "open": {
          "type": "boolean",
          "description": "whether the version is open"
        },
        "openable": {
          "type": "boolean",
          "description": "whether the version can be opened"
        },
        "assembling": {
          "type": "boolean",
          "description": "whether there is an active assembly workflow (not just assemblyWF)"
        },
        "accessioning": {
          "type": "boolean",
          "description": "whether there is an active accessioningWF workflow"
        },
        "closeable": {
          "type": "boolean",
          "description": "whether the version can be closed"
        },
        "versionDescription": {
          "type": "string",
          "description": "a message that explains what changed"
        }
      }
    },
    "BackgroundJobResultResponse": {
      "type": "object",
      "properties": {
        "output": {
          "$ref": "#/components/schemas/ErrorResponse"
        },
        "status": {
          "type": "string",
          "description": "the status of the background job",
          "enum": [
            "pending",
            "processing",
            "complete"
          ]
        }
      }
    },
    "ErrorResponse": {
      "type": "object",
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Error"
          }
        }
      }
    },
    "Error": {
      "type": "object",
      "properties": {
        "title": {
          "type": "string",
          "description": "a short, human-readable summary of the problem that SHOULD NOT change from occurrence to occurrence of the problem.",
          "example": "Invalid Attribute"
        },
        "detail": {
          "type": "string",
          "description": "a human-readable explanation specific to this occurrence of the problem.",
          "example": "Title must contain at least three characters."
        },
        "meta": {
          "type": "object",
          "description": "used to include non-standard meta-information",
          "example": {
            "backtrace": [
              "where things went wrong"
            ]
          }
        },
        "source": {
          "type": "object",
          "properties": {
            "pointer": {
              "type": "string",
              "example": "/data/attributes/title"
            }
          }
        }
      }
    },
    "ObjectEvent": {
      "type": "object",
      "required": [
        "event_type",
        "data"
      ],
      "properties": {
        "event_type": {
          "description": "the type of event",
          "type": "string"
        },
        "data": {
          "description": "details about the event",
          "type": "object"
        }
      }
    },
    "VirtualObjectRequest": {
      "type": "object",
      "required": [
        "virtual_object_id",
        "constituent_ids"
      ],
      "properties": {
        "virtual_object_id": {
          "$ref": "https://raw.githubusercontent.com/sul-dlss/cocina-models/refs/tags/v0.113.0/schema.json#/$defs/Druid"
        },
        "constituent_ids": {
          "type": "array",
          "items": {
            "$ref": "https://raw.githubusercontent.com/sul-dlss/cocina-models/refs/tags/v0.113.0/schema.json#/$defs/Druid"
          }
        }
      }
    },
    "WorkflowProcessStatus": {
      "type": "string",
      "enum": [
        "waiting",
        "completed",
        "error",
        "queued",
        "skipped",
        "started",
        "retrying"
      ]
    }
  }
}