Stanford University Identifiers API

Identifier operations

Operations 4

POST /identifiers Create a new identifier #
GET /identifiers List all identifiers #
GET /identifiers/{id} Show an identifier #
POST /suri2/namespaces/druid/identifiers Create a new identifier

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/stanford-identifiers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

stanford-identifiers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: API for Stanford Uniform Resource Identifier (SURI) service
  version: 1.0.0
  title: SURI Identifiers API
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://sul-suri-{env}.stanford.edu
  description: Production service
  variables:
    env:
      default: prod
- url: https://sul-suri-{env}.stanford.edu
  description: Staging service
  variables:
    env:
      default: stage
- url: https://sul-suri-{env}.stanford.edu
  description: Quality Assurance service
  variables:
    env:
      default: qa
tags:
- name: identifiers
  description: Identifier operations
paths:
  /identifiers:
    post:
      tags:
      - identifiers
      summary: Create a new identifier
      description: ''
      operationId: identifiers#create
      parameters:
      - name: quantity
        in: query
        description: 'number of identifiers to mint (note: this argument is not yet implemented since there are apparently zero clients using it)'
        required: false
        schema:
          type: integer
      responses:
        '201':
          description: Identifier created successfully
          headers:
            location:
              description: location of identifier
              schema:
                type: string
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/BareDruid'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      tags:
      - identifiers
      summary: List all identifiers
      description: ''
      operationId: identifiers#index
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    identifier:
                      $ref: '#/components/schemas/BareDruid'
  /identifiers/{id}:
    get:
      tags:
      - identifiers
      summary: Show an identifier
      description: ''
      operationId: identifiers#show
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identifier'
        '404':
          description: Identifier not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      parameters:
      - name: id
        in: path
        description: druid to return
        required: true
        schema:
          $ref: '#/components/schemas/BareDruid'
  /suri2/namespaces/druid/identifiers:
    post:
      tags:
      - identifiers
      summary: Create a new identifier
      description: ''
      deprecated: true
      parameters:
      - name: quantity
        in: query
        description: 'number of identifiers to mint (note: this argument is not yet implemented since there are apparently zero clients using it)'
        required: false
        schema:
          type: integer
      responses:
        '201':
          description: Identifier created successfully
          headers:
            location:
              description: location of identifier
              schema:
                type: string
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/BareDruid'
        '500':
          description: Internal server error
components:
  schemas:
    BareDruid:
      description: Digital Repository Unique Identifier (DRUID) without `druid:` prefix
      type: string
      pattern: ^[b-df-hjkmnp-tv-z]{2}[0-9]{3}[b-df-hjkmnp-tv-z]{2}[0-9]{4}$
      example: bc123df4567
    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.
        source:
          type: object
          properties:
            pointer:
              type: string
              example: /data/attributes/title
    Identifier:
      description: an ID record stored in the database
      type: object
      properties:
        id:
          type: integer
          example: 123
        identifier:
          $ref: '#/components/schemas/BareDruid'
        created_by:
          type:
          - string
          - 'null'
        created_at:
          type: string
        updated_at:
          type: string
      required:
      - id
      - identifier
      - created_at
      - updated_at