How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

DOR Services API

The backend API for the Stanford Digital Repository, and the largest contract Stanford publishes — OpenAPI 3.1.2, 40 paths, 53 operations, Apache 2.0, bearer auth. Validates writes against Stanford's own cocina metadata model (422 on violation) and supports DOI assignment. Servers are dor-services-{env}.stanford.edu; the deployment is internal.

DOR Services API is one of 15 APIs that Stanford University publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 JSON Schema definition.

Tagged areas include Digital Repository, Research Data, Metadata, and Preservation. The published artifact set on APIs.io includes an OpenAPI specification and 1 JSON Schema.

This API exposes 53 operations across 40 paths, organized into 10 resource areas, and defines 15 schemas. It is described by OpenAPI 3.1.2, at version 1.0.0.

Requests are made against 3 base URLs: https://dor-services-{env}.stanford.edu, https://dor-services-{env}.stanford.edu, https://dor-services-{env}.stanford.edu.

53 operations 40 paths 15 schemas 3 DELETE24 GET1 HEAD3 PATCH20 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.2
API Version
1.0.0
Servers
https://dor-services-{env}.stanford.edu
https://dor-services-{env}.stanford.edu
https://dor-services-{env}.stanford.edu
Authentication
HTTP Bearer
License
Resource Areas
10

Authentication & Security 1

DOR Services API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (JWT) (bearerAuth). By default, every request must be authenticated.

Paths & Operations 53

Across 40 paths, the API surfaces 53 operations — 3 DELETE, 24 GET, 1 HEAD, 3 PATCH, 20 POST, 2 PUT. They span 10 resource areas: Operations, jobs, objects, integrations, tags, release_tags, workspaces, events, versions, workflows. Each is listed below with its method, path, parameters, and response codes.

Operations 1
GET
/v1/about
A healthcheck endpoint
→ 200
jobs 1

Operations involving background jobs

GET
/v1/background_job_results/{id}
View results of a background job
background_job_results#show 1 param → 200202404
objects 14

Digital Repository Objects

POST
/v1/virtual_objects
Create a virtual object.
virtual_objects#create body → 201
POST
/v1/objects/{id}/publish
Publish object to PURL
objects#publish 2 params → 201
POST
/v1/objects/{id}/accession
Start an assembly workflow, optionally opening a version
objects#accession 4 params → 201409
POST
/v1/objects/{id}/apply_admin_policy_defaults
Applies the default values (copyright, usestatement, rights) from the admin policy
admin_policy_defaults#apply 1 param → 200400404422500
GET
/v1/objects/{object_id}/query/collections
List the collections that an object belongs to
queries#collections 1 param → 200
GET
/v1/objects/{object_id}/members
List the members of this collection
members#index 1 param → 200
GET
/v1/objects/{id}/solr
Show solr document for head version
objects#solr 2 params → 200404
POST
/v1/objects
Register a new object
objects#create 2 params body → 201400404409422500502503
GET
/v1/objects/find
Finds an object
objects#find 1 param → 200404
POST
/v1/objects/find_all
Finds multiple objects
objects#find_all body → 200
PATCH
/v1/objects/{id}
Update object metadata
objects#update 3 params body → 200400404409412500
GET
/v1/objects/{id}
Retrieve the object COCINA metadata
objects#show 1 param → 200304422500
HEAD
/v1/objects/{id}
Retrieve the head for object COCINA metadata
objects#head 1 param → 200422500
DELETE
/v1/objects/{id}
Destroys the object
objects#destroy 2 params → 201400404500
integrations 3

Integrations with other Systems

POST
/v1/objects/{id}/reindex
Reindex the object in Solr
objects#reindex 1 param → 204
POST
/v1/objects/{id}/indexable
Validate the object for indexing in Solr without actually indexing it
objects#indexable 1 param body → 204422500
POST
/v1/objects/{id}/refresh_metadata
Update object metadata with marc from Symphony
metadata_refresh#refresh_metadata 1 param → 200400422500
tags 6

Tags

GET
/v1/objects/{object_id}/administrative_tags
Show administrative tags for an object
administrative_tags#show 1 param → 200
POST
/v1/objects/{object_id}/administrative_tags
Create (or replace) one or more administrative tags
administrative_tags#create 1 param body → 201400404409412
GET
/v1/administrative_tags/search
Search for existing tags
administrative_tags#search 1 param → 200
DELETE
/v1/objects/{object_id}/administrative_tags/{id}
Delete an administrative tag for an object
administrative_tags#destroy 2 params → 204400404
PUT
/v1/objects/{object_id}/administrative_tags/{id}
Update one administrative tag
administrative_tags#update (PUT) 2 params body → 204400404409
PATCH
/v1/objects/{object_id}/administrative_tags/{id}
Update one administrative tag
administrative_tags#update (PATCH) 2 params body → 204400404409
release_tags 2

Operations about release tags

GET
/v1/objects/{object_id}/release_tags
The release tag log for this object
release_tags#index 2 params → 200422
POST
/v1/objects/{object_id}/release_tags
Create a new releasetag for this object
release_tag#create 2 params body → 201
workspaces 2

Operations about workspaces

POST
/v1/objects/{object_id}/workspace
Create a workspace for an object
workspaces#create 1 param → 200
POST
/v1/objects/{object_id}/workspace/reset
Resets a workspace for an object
workspaces#reset 3 params → 204
events 2

Operations about events

GET
/v1/objects/{object_id}/events
Return a list of events about this object
events#index 2 params → 200
POST
/v1/objects/{object_id}/events
Create an event about this object
events#create 1 param body → 201
versions 14

Operations about object versions

GET
/v1/objects/{object_id}/versions/current
Return the current version number for this object
versions#current 1 param → 200404
DELETE
/v1/objects/{object_id}/versions/current
Destroys current open version for this object
versions#destroy_current 1 param → 204409404
GET
/v1/objects/{object_id}/versions/status
Return the status of the current version for this object
versions#status 1 param → 200404
POST
/v1/objects/{object_id}/versions/current/close
Close the currently open version for this object
versions#close_current 7 params → 200
GET
/v1/objects/{object_id}/versions
The version log for this object
versions#index 1 param → 200
POST
/v1/objects/{object_id}/versions
Open a new version for this object
versions#create 4 params → 200
GET
/v1/objects/{object_id}/versions/{id}
Show the cocina for a particular object version
versions#show 2 params → 200400404409
GET
/v1/objects/{object_id}/versions/{id}/solr
Show solr document for a particular object version
versions#solr 3 params → 200404
GET
/v1/objects/{object_id}/user_versions
The user version log for this object
user_versions#index 1 param → 200
POST
/v1/objects/{object_id}/user_versions
Create a user version for this object
user_versions#create 1 param body → 201422
GET
/v1/objects/{object_id}/user_versions/{id}
Show the cocina for a particular user version
user_versions#show 2 params → 200404409
PATCH
/v1/objects/{object_id}/user_versions/{id}
Update a user version for this object
user_versions#update 2 params body → 200422
GET
/v1/objects/{object_id}/user_versions/{id}/solr
Show solr document for a particular user version
user_versions#solr 3 params → 200404
POST
/v1/objects/versions/status
Finds versions for multiple objects.
versions#batch_status body → 200
workflows 8

Operations about workflows

GET
/v1/workflow_templates
List all workflow templates
workflow_templates#index → 200
GET
/v1/workflow_templates/{id}
View a workflow template (e.g., its associated processes)
workflow_templates#show 1 param → 200404
GET
/v1/objects/{object_id}/lifecycles
List the lifecycles for this object
workflow_lifecycles#index 2 params → 200404
GET
/v1/objects/{object_id}/workflows
List the workflows for this object
workflows#index 1 param → 200
GET
/v1/objects/{object_id}/workflows/{id}
Get the status for a workflow for this object.
workflow#show 2 params → 200
POST
/v1/objects/{object_id}/workflows/{id}
Create a new workflow for this object
workflow#create 4 params body → 201400
POST
/v1/objects/{object_id}/workflows/{id}/skip_all
Skip all processes in a workflow for this object.
workflow#skip_all 3 params → 204404
PUT
/v1/objects/{object_id}/workflows/{workflow_id}/processes/{id}
Update a workflow process (step) for this object.
workflow_processes#update 3 params body → 204400404409

Schemas 15

The contract defines 15 schemas that model the data the API accepts and returns. The most detailed are VersionStatus (7 properties), UserVersion (6 properties), ReleaseTag (5 properties), Error (4 properties). Each schema is shown below with its type and property counts.

ReleaseTag
object
A tag that indicates the item or collection should be released.
5 properties 2 required
AdministrativeTag
string
AdministrativeTagEscaped
string
LaneId
string
Lane for prioritizing the work
UserVersion
object
Information about a user version.
6 properties
UserVersionLog
object
User versions for an object.
1 property
Version
object
Similar to the version inventory specified by OCFL: https://ocfl.io/draft/spec/version-inventory
4 properties
VersionLog
object
Similar to the version inventory specified by OCFL: https://ocfl.io/draft/spec/version-inventory
1 property
VersionStatus
object
7 properties 8 required
BackgroundJobResultResponse
object
2 properties
ErrorResponse
object
1 property
Error
object
4 properties
ObjectEvent
object
2 properties 2 required
VirtualObjectRequest
object
2 properties 2 required
WorkflowProcessStatus
string

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

stanford-dor-services-api-openapi.yml Raw ↑

Other APIs Stanford University publishes across the network.

Stanford Libraries PURL API
Stanford Libraries IIIF API
Stanford Libraries Library Hours API
Stanford Libraries Digital Stacks API
Stanford Libraries Embed API
Preservation Catalog HTTP API
Technical Metadata API
SURI API
ExploreCourses course-data XML query interface
Stanford Identity Provider — SAML 2.0 metadata
Stanford AI API Gateway
Where this information came from

This is an independent, third-party profile of DOR Services API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.