JHU Hub API

REST API over the Hub database, the central repository of news articles, announcements, photo galleries, faculty experts and events at Johns Hopkins. Built to power hub.jhu.edu and reused across JHU schools, divisions and centers. Fifteen resource families, each exposing a collection, a single object and a subcollection endpoint, in HAL-formatted JSON. Requires an API key on the `key` query parameter and a version on the `v` parameter; keys are issued by email to Johns Hopkins affiliates.

OpenAPI Specification

johns-hopkins-university-hub-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Johns Hopkins University Hub API
  description: 'The Hub API exposes data from the Hub database, the central repository of news articles, announcements,
    photo galleries, faculty experts and events maintained by Johns Hopkins University. It was built to power the
    Hub website (https://hub.jhu.edu) and is reused by schools, divisions and centers across the university to display
    news and events on their own sites.


    Every request requires an API key supplied as the `key` query string parameter and an API version supplied as
    the `v` query string parameter (the current version is `1`). API keys are issued to Johns Hopkins affiliates
    on request by email.


    Responses are JSON in the Hypertext Application Language (HAL) format, composed of an `_embedded` object, a
    `_links` object and the resource''s own data.


    PROVENANCE: this document was DERIVED by API Evangelist from the operator''s own public documentation at https://api.hub.jhu.edu/docs/
    on 2026-08-19. It is not published by Johns Hopkins University. Endpoint paths, query string parameters, defaults
    and response envelope are taken from that documentation; no endpoint, parameter or schema has been invented.
    Response payloads could not be executed against because key issuance is restricted to Johns Hopkins affiliates,
    so resource attribute schemas are intentionally left open.'
  version: '1'
  contact:
    name: Johns Hopkins University Hub API
    url: https://api.hub.jhu.edu/docs/
  termsOfService: https://api.hub.jhu.edu/docs/getting-started/connecting/
servers:
- url: https://api.hub.jhu.edu
  description: Johns Hopkins University Hub API
security:
- apiKey: []
tags:
- name: Content
  description: 'Content endpoints: announcements, articles, events, files, galleries and people.'
- name: Taxonomy
  description: 'Taxonomy endpoints: the vocabularies used to categorize and attribute Hub content.'
paths:
  /announcements:
    get:
      tags:
      - Content
      operationId: listAnnouncements
      summary: Get a collection of announcements
      description: Announcements published to the Johns Hopkins Hub. Returns a HAL collection response. All query
        string parameters are optional.
      parameters:
      - &id001
        $ref: '#/components/parameters/key'
      - &id002
        $ref: '#/components/parameters/v'
      - &id003
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/channels'
      - $ref: '#/components/parameters/divisions'
      - $ref: '#/components/parameters/include_subterms'
      responses:
        '200':
          description: A HAL collection of announcements.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /announcements/{id}:
    get:
      tags:
      - Content
      operationId: getAnnouncement
      summary: Get one announcement
      description: Returns a single announcement resource as a HAL object.
      parameters:
      - *id001
      - *id002
      - *id003
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single announcement object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /announcements/{id}/{subcollection}:
    get:
      tags:
      - Content
      operationId: getAnnouncementSubcollection
      summary: Get a subcollection of one announcement
      description: Returns a HAL collection of resources related to a single announcement. The available subcollection
        names are the names of the embedded relationships on the announcement resource.
      parameters:
      - *id001
      - *id002
      - *id003
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /articles:
    get:
      tags:
      - Content
      operationId: listArticles
      summary: Get a collection of articles
      description: News articles published to the Johns Hopkins Hub, including At Work and Johns Hopkins Magazine
        content. Returns a HAL collection response. All query string parameters are optional.
      parameters:
      - &id004
        $ref: '#/components/parameters/key'
      - &id005
        $ref: '#/components/parameters/v'
      - &id006
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/channels'
      - $ref: '#/components/parameters/divisions'
      - $ref: '#/components/parameters/include_subterms'
      - $ref: '#/components/parameters/topics'
      - $ref: '#/components/parameters/source'
      responses:
        '200':
          description: A HAL collection of articles.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /articles/{id}:
    get:
      tags:
      - Content
      operationId: getArticle
      summary: Get one article
      description: Returns a single article resource as a HAL object.
      parameters:
      - *id004
      - *id005
      - *id006
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single article object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /articles/{id}/{subcollection}:
    get:
      tags:
      - Content
      operationId: getArticleSubcollection
      summary: Get a subcollection of one article
      description: Returns a HAL collection of resources related to a single article. The available subcollection
        names are the names of the embedded relationships on the article resource.
      parameters:
      - *id004
      - *id005
      - *id006
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /events:
    get:
      tags:
      - Content
      operationId: listEvents
      summary: Get a collection of events
      description: Events on the Johns Hopkins events calendar. Events may be one-time or recurring, and may have
        a specific start and end time or last all day. Returns a HAL collection response. All query string parameters
        are optional.
      parameters:
      - &id007
        $ref: '#/components/parameters/key'
      - &id008
        $ref: '#/components/parameters/v'
      - &id009
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/channels'
      - $ref: '#/components/parameters/divisions'
      - $ref: '#/components/parameters/include_subterms'
      - $ref: '#/components/parameters/date'
      - $ref: '#/components/parameters/event_categories'
      - $ref: '#/components/parameters/locations'
      - $ref: '#/components/parameters/open_to'
      responses:
        '200':
          description: A HAL collection of events.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /events/{id}:
    get:
      tags:
      - Content
      operationId: getEvent
      summary: Get one event
      description: Returns a single event resource as a HAL object.
      parameters:
      - *id007
      - *id008
      - *id009
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single event object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /events/{id}/{subcollection}:
    get:
      tags:
      - Content
      operationId: getEventSubcollection
      summary: Get a subcollection of one event
      description: Returns a HAL collection of resources related to a single event. The available subcollection
        names are the names of the embedded relationships on the event resource.
      parameters:
      - *id007
      - *id008
      - *id009
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /files:
    get:
      tags:
      - Content
      operationId: listFiles
      summary: Get a collection of files
      description: Files (images and documents) attached to Hub content. Returns a HAL collection response. All
        query string parameters are optional.
      parameters:
      - &id010
        $ref: '#/components/parameters/key'
      - &id011
        $ref: '#/components/parameters/v'
      - &id012
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/channels'
      responses:
        '200':
          description: A HAL collection of files.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /files/{id}:
    get:
      tags:
      - Content
      operationId: getFile
      summary: Get one file
      description: Returns a single file resource as a HAL object.
      parameters:
      - *id010
      - *id011
      - *id012
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single file object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /files/{id}/{subcollection}:
    get:
      tags:
      - Content
      operationId: getFileSubcollection
      summary: Get a subcollection of one file
      description: Returns a HAL collection of resources related to a single file. The available subcollection names
        are the names of the embedded relationships on the file resource.
      parameters:
      - *id010
      - *id011
      - *id012
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /galleries:
    get:
      tags:
      - Content
      operationId: listGalleries
      summary: Get a collection of gallerys
      description: Photo galleries published to the Johns Hopkins Hub. Returns a HAL collection response. All query
        string parameters are optional.
      parameters:
      - &id013
        $ref: '#/components/parameters/key'
      - &id014
        $ref: '#/components/parameters/v'
      - &id015
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/channels'
      - $ref: '#/components/parameters/divisions'
      - $ref: '#/components/parameters/include_subterms'
      responses:
        '200':
          description: A HAL collection of gallerys.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /galleries/{id}:
    get:
      tags:
      - Content
      operationId: getGallerie
      summary: Get one gallery
      description: Returns a single gallery resource as a HAL object.
      parameters:
      - *id013
      - *id014
      - *id015
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single gallery object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /galleries/{id}/{subcollection}:
    get:
      tags:
      - Content
      operationId: getGallerieSubcollection
      summary: Get a subcollection of one gallery
      description: Returns a HAL collection of resources related to a single gallery. The available subcollection
        names are the names of the embedded relationships on the gallery resource.
      parameters:
      - *id013
      - *id014
      - *id015
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /people:
    get:
      tags:
      - Content
      operationId: listPeople
      summary: Get a collection of persons
      description: People records, specifically faculty experts and media representatives. Returns a HAL collection
        response. All query string parameters are optional.
      parameters:
      - &id016
        $ref: '#/components/parameters/key'
      - &id017
        $ref: '#/components/parameters/v'
      - &id018
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/channels'
      - $ref: '#/components/parameters/person_type'
      responses:
        '200':
          description: A HAL collection of persons.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /people/{id}:
    get:
      tags:
      - Content
      operationId: getPeople
      summary: Get one person
      description: Returns a single person resource as a HAL object.
      parameters:
      - *id016
      - *id017
      - *id018
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single person object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /people/{id}/{subcollection}:
    get:
      tags:
      - Content
      operationId: getPeopleSubcollection
      summary: Get a subcollection of one person
      description: Returns a HAL collection of resources related to a single person. The available subcollection
        names are the names of the embedded relationships on the person resource.
      parameters:
      - *id016
      - *id017
      - *id018
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /announcement_categories:
    get:
      tags:
      - Taxonomy
      operationId: listAnnouncementCategories
      summary: Get a collection of announcement categorys
      description: Non-hierarchical taxonomy used to categorize announcements. Returns a HAL collection response.
        All query string parameters are optional.
      parameters:
      - &id019
        $ref: '#/components/parameters/key'
      - &id020
        $ref: '#/components/parameters/v'
      - &id021
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of announcement categorys.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /announcement_categories/{id}:
    get:
      tags:
      - Taxonomy
      operationId: getAnnouncementCategorie
      summary: Get one announcement category
      description: Returns a single announcement category resource as a HAL object.
      parameters:
      - *id019
      - *id020
      - *id021
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single announcement category object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /announcement_categories/{id}/{subcollection}:
    get:
      tags:
      - Taxonomy
      operationId: getAnnouncementCategorieSubcollection
      summary: Get a subcollection of one announcement category
      description: Returns a HAL collection of resources related to a single announcement category. The available
        subcollection names are the names of the embedded relationships on the announcement category resource.
      parameters:
      - *id019
      - *id020
      - *id021
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /channels:
    get:
      tags:
      - Taxonomy
      operationId: listChannels
      summary: Get a collection of channels
      description: Hierarchical taxonomy used to create custom feeds of content. Returns a HAL collection response.
        All query string parameters are optional.
      parameters:
      - &id022
        $ref: '#/components/parameters/key'
      - &id023
        $ref: '#/components/parameters/v'
      - &id024
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of channels.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /channels/{id}:
    get:
      tags:
      - Taxonomy
      operationId: getChannel
      summary: Get one channel
      description: Returns a single channel resource as a HAL object.
      parameters:
      - *id022
      - *id023
      - *id024
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single channel object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /channels/{id}/{subcollection}:
    get:
      tags:
      - Taxonomy
      operationId: getChannelSubcollection
      summary: Get a subcollection of one channel
      description: Returns a HAL collection of resources related to a single channel. The available subcollection
        names are the names of the embedded relationships on the channel resource.
      parameters:
      - *id022
      - *id023
      - *id024
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /divisions:
    get:
      tags:
      - Taxonomy
      operationId: listDivisions
      summary: Get a collection of divisions
      description: Non-hierarchical taxonomy used to attribute content to a school or division. Returns a HAL collection
        response. All query string parameters are optional.
      parameters:
      - &id025
        $ref: '#/components/parameters/key'
      - &id026
        $ref: '#/components/parameters/v'
      - &id027
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of divisions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /divisions/{id}:
    get:
      tags:
      - Taxonomy
      operationId: getDivision
      summary: Get one division
      description: Returns a single division resource as a HAL object.
      parameters:
      - *id025
      - *id026
      - *id027
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single division object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /divisions/{id}/{subcollection}:
    get:
      tags:
      - Taxonomy
      operationId: getDivisionSubcollection
      summary: Get a subcollection of one division
      description: Returns a HAL collection of resources related to a single division. The available subcollection
        names are the names of the embedded relationships on the division resource.
      parameters:
      - *id025
      - *id026
      - *id027
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event_categories:
    get:
      tags:
      - Taxonomy
      operationId: listEventCategories
      summary: Get a collection of event categorys
      description: Hierarchical taxonomy used to categorize events. Returns a HAL collection response. All query
        string parameters are optional.
      parameters:
      - &id028
        $ref: '#/components/parameters/key'
      - &id029
        $ref: '#/components/parameters/v'
      - &id030
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of event categorys.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event_categories/{id}:
    get:
      tags:
      - Taxonomy
      operationId: getEventCategorie
      summary: Get one event category
      description: Returns a single event category resource as a HAL object.
      parameters:
      - *id028
      - *id029
      - *id030
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single event category object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /event_categories/{id}/{subcollection}:
    get:
      tags:
      - Taxonomy
      operationId: getEventCategorieSubcollection
      summary: Get a subcollection of one event category
      description: Returns a HAL collection of resources related to a single event category. The available subcollection
        names are the names of the embedded relationships on the event category resource.
      parameters:
      - *id028
      - *id029
      - *id030
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of related resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /faculty_expert_affiliations:
    get:
      tags:
      - Taxonomy
      operationId: listFacultyExpertAffiliations
      summary: Get a collection of faculty expert affiliations
      description: Non-hierarchical taxonomy used to assign affiliations to people, specifically faculty experts.
        Returns a HAL collection response. All query string parameters are optional.
      parameters:
      - &id031
        $ref: '#/components/parameters/key'
      - &id032
        $ref: '#/components/parameters/v'
      - &id033
        $ref: '#/components/parameters/callback'
      - $ref: '#/components/parameters/ids'
      - $ref: '#/components/parameters/excluded_ids'
      - $ref: '#/components/parameters/order_by'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      responses:
        '200':
          description: A HAL collection of faculty expert affiliations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /faculty_expert_affiliations/{id}:
    get:
      tags:
      - Taxonomy
      operationId: getFacultyExpertAffiliation
      summary: Get one faculty expert affiliation
      description: Returns a single faculty expert affiliation resource as a HAL object.
      parameters:
      - *id031
      - *id032
      - *id033
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A single faculty expert affiliation object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /faculty_expert_affiliations/{id}/{subcollection}:
    get:
      tags:
      - Taxonomy
      operationId: getFacultyExpertAffiliationSubcollection
      summary: Get a subcollection of one faculty expert affiliation
      description: Returns a HAL collection of resources related to a single faculty expert affiliation. The available
        subcollection names are the names of the embedded relationships on the faculty expert affiliation resource.
      parameters:
      - *id031
      - *id032
      - *id033
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/subcollection'
      - $ref: '#/c

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/johns-hopkins-university/refs/heads/main/openapi/johns-hopkins-university-hub-api-openapi.yml