Stanford University Tags API

Tags

Operations 6

GET /v1/objects/{object_id}/administrative_tags Show administrative tags for an object #
POST /v1/objects/{object_id}/administrative_tags Create (or replace) one or more administrative tags #
GET /v1/administrative_tags/search Search for existing tags #
DELETE /v1/objects/{object_id}/administrative_tags/{id} Delete an administrative tag for an object #
PUT /v1/objects/{object_id}/administrative_tags/{id} Update one administrative tag #
PATCH /v1/objects/{object_id}/administrative_tags/{id} Update one administrative tag #

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-tags-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-tags-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Backend API for the Stanford Digital Repository
  version: 1.0.0
  title: DOR Services Tags API
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://dor-services-{env}.stanford.edu
  description: Production service
  variables:
    env:
      default: prod
- url: https://dor-services-{env}.stanford.edu
  description: Staging service
  variables:
    env:
      default: stage
- url: https://dor-services-{env}.stanford.edu
  description: QA service
  variables:
    env:
      default: qa
security:
- bearerAuth: []
tags:
- name: tags
  description: Tags
paths:
  /v1/objects/{object_id}/administrative_tags:
    get:
      tags:
      - tags
      summary: Show administrative tags for an object
      description: ''
      operationId: administrative_tags#show
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AdministrativeTag'
      parameters:
      - name: object_id
        in: path
        description: ID of object
        required: true
        schema:
          $ref: https://raw.githubusercontent.com/sul-dlss/cocina-models/refs/tags/v0.113.0/schema.json#/$defs/Druid
    post:
      tags:
      - tags
      summary: Create (or replace) one or more administrative tags
      description: ''
      operationId: administrative_tags#create
      responses:
        '201':
          description: Created
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Object not found
          content:
            text/plain:
              schema:
                type: string
        '409':
          description: Request would result in a duplicate tag
          content:
            text/plain:
              schema:
                type: string
        '412':
          description: Provided ETag didn't match the previous version.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      parameters:
      - name: object_id
        in: path
        description: ID of object
        required: true
        schema:
          $ref: https://raw.githubusercontent.com/sul-dlss/cocina-models/refs/tags/v0.113.0/schema.json#/$defs/Druid
      requestBody:
        description: one or more administrative tags for an object
        content:
          application/json:
            schema:
              type: object
              required:
              - administrative_tags
              properties:
                replace:
                  type: boolean
                  default: false
                administrative_tags:
                  type: array
                  minItems: 1
                  items:
                    $ref: '#/components/schemas/AdministrativeTag'
  /v1/administrative_tags/search:
    get:
      tags:
      - tags
      summary: Search for existing tags
      description: This is useful for doing autocomplete of tags in Argo
      operationId: administrative_tags#search
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
      parameters:
      - name: q
        in: query
        description: The pattern to query for
        required: true
        schema:
          type: string
  /v1/objects/{object_id}/administrative_tags/{id}:
    delete:
      tags:
      - tags
      summary: Delete an administrative tag for an object
      description: ''
      operationId: administrative_tags#destroy
      responses:
        '204':
          description: Deleted
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Object or tag not found
          content:
            text/plain:
              schema:
                type: string
      parameters:
      - name: object_id
        in: path
        description: ID of object
        required: true
        schema:
          $ref: https://raw.githubusercontent.com/sul-dlss/cocina-models/refs/tags/v0.113.0/schema.json#/$defs/Druid
      - name: id
        in: path
        description: ID of tag to remove
        required: true
        schema:
          $ref: '#/components/schemas/AdministrativeTagEscaped'
    put:
      tags:
      - tags
      summary: Update one administrative tag
      description: ''
      operationId: administrative_tags#update (PUT)
      responses:
        '204':
          description: Updated
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Object or tag not found
          content:
            text/plain:
              schema:
                type: string
        '409':
          description: Request would result in a duplicate tag
          content:
            text/plain:
              schema:
                type: string
      parameters:
      - name: object_id
        in: path
        description: ID of object
        required: true
        schema:
          $ref: https://raw.githubusercontent.com/sul-dlss/cocina-models/refs/tags/v0.113.0/schema.json#/$defs/Druid
      - name: id
        in: path
        description: ID of tag to replace
        required: true
        schema:
          $ref: '#/components/schemas/AdministrativeTagEscaped'
      requestBody:
        description: A replacement administrative tag
        content:
          application/json:
            schema:
              type: object
              required:
              - administrative_tag
              properties:
                administrative_tag:
                  $ref: '#/components/schemas/AdministrativeTag'
    patch:
      tags:
      - tags
      summary: Update one administrative tag
      description: ''
      operationId: administrative_tags#update (PATCH)
      responses:
        '204':
          description: Updated
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Object or tag not found
        '409':
          description: Request would result in a duplicate tag
      parameters:
      - name: object_id
        in: path
        description: ID of object
        required: true
        schema:
          $ref: https://raw.githubusercontent.com/sul-dlss/cocina-models/refs/tags/v0.113.0/schema.json#/$defs/Druid
      - name: id
        in: path
        description: ID of tag to replace
        required: true
        schema:
          $ref: '#/components/schemas/AdministrativeTagEscaped'
      requestBody:
        description: A replacement administrative tag
        content:
          application/json:
            schema:
              type: object
              required:
              - administrative_tag
              properties:
                administrative_tag:
                  $ref: '#/components/schemas/AdministrativeTag'
components:
  schemas:
    AdministrativeTagEscaped:
      type: string
      pattern: ^.+(\+(?:%3A|:)\+.+)+$
      example: Foo+%3A+Bar+%3A+Baz
    AdministrativeTag:
      type: string
      pattern: '^.+( : .+)+$'
      example: 'Foo : Bar : Baz'
    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
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT