openapi: 3.2.0 info: title: CMU Library Publishing Service Issues API version: '1.0' description: 'Read API for the Carnegie Mellon University Library Publishing Service, the open-access scholarly publishing programme run by CMU University Libraries. It exposes the five journals CMU publishes — Language Development Research (ISSN 2771-7976), Encyclopedia of the History of Science (2642-5890), MAJAL: CMUQ''s Undergraduate Journal, Negotiation and Conflict Management Research (1750-4716) and Tolstoy Studies Journal — along with their issues, articles (379 when probed), keywords, licences and preprint repository objects, plus a full OAI-PMH 2.0 provider. This is the surface the June 2026 profile missed entirely while crediting CMU with figshare''s contract: it is self-hosted on lps.library.cmu.edu at 128.2.24.32, inside Carnegie Mellon''s own /16, and its OAI-PMH Identify response names Carnegie Mellon University Library Publishing Service as the repository and librarypublishing@andrew.cmu.edu as the administrator.' contact: name: Carnegie Mellon University Library Publishing Service email: librarypublishing@andrew.cmu.edu url: https://lps.library.cmu.edu/ x-operator: institution x-operator-evidence: 'lps.library.cmu.edu is under Carnegie Mellon University''s own registrable domain and resolves to 128.2.24.32 — Carnegie Mellon''s own 128.2.0.0/16 address space, not a vendor CDN or cloud tenancy. Contrast kilthub.cmu.edu, which is a CNAME to FIGSHARE.COM and is therefore recorded as `tenant`, and canvas.cmu.edu, which is a CNAME to CMU-VANITY.INSTRUCTURE.COM. The software is Janeway, an open-source publishing platform, but CMU operates the instance: the OAI-PMH Identify response returns repositoryName "Carnegie Mellon University Library Publishing Service" and adminEmail librarypublishing@andrew.cmu.edu, and every journal record carries publisher "Carnegie Mellon University Library Publishing Service". Probed 2026-08-19: /api/ 200 application/json; /api/journals/ 200 (count 5); /api/articles/ 200 (count 379); /api/oai/?verb=Identify 200 application/xml; /api/oai/?verb=ListMetadataFormats 200 (oai_dc, jats); /api/oai/?verb=ListRecords&metadataPrefix=oai_dc 200.' x-provenance: generated: '2026-08-19' method: derived source: Live probes of https://lps.library.cmu.edu/api/ and https://ncmr.lps.library.cmu.edu/api/oai/ on 2026-08-19. The API is a Django REST Framework browsable root that self-describes its collections; every path below was read from that root and confirmed by request. authorship: Written by API Evangelist, not published by Carnegie Mellon University. No OpenAPI, schema endpoint or API documentation page is served for this surface. coverage: The DRF root advertises eighteen collections (accountrole, journals, issues, articles, licences, keywords, accounts, preprints, repository_licenses, repository_fields, preprint_files, user_preprints, repository_subjects, published_preprints, version_queue, identifiers, user_info, logout). The four public read collections that were probed and returned real data are modelled here; the account- and workflow-scoped collections are listed in x-unmodelled-collections rather than guessed at. x-unmodelled-collections: - accountrole - accounts - licences - repository_licenses - repository_fields - preprint_files - user_preprints - repository_subjects - published_preprints - version_queue - identifiers - user_info - logout servers: - url: https://lps.library.cmu.edu description: Production — CMU Library Publishing Service (press-wide root) - url: https://ncmr.lps.library.cmu.edu description: Per-journal host. Each journal answers the same API and OAI-PMH paths scoped to itself; NCMR (Negotiation and Conflict Management Research) is the host that was probed. tags: - name: issues description: Issues within a journal. paths: /api/issues/: get: tags: - issues operationId: listIssues summary: List issues parameters: - name: limit in: query schema: type: integer - name: offset in: query schema: type: integer responses: '200': description: Paginated issue list. content: application/json: schema: $ref: '#/components/schemas/PaginatedResult' components: schemas: PaginatedResult: type: object description: Django REST Framework limit/offset pagination envelope used by every collection. required: - count - results properties: count: type: integer next: type: - string - 'null' format: uri previous: type: - string - 'null' format: uri results: type: array items: type: object additionalProperties: true