University of Pittsburgh · Authentication Profile
University Of Pittsburgh Authentication
Authentication
University of Pittsburgh secures its APIs with api_key, none, and saml across 6 declared security schemes, as derived from its OpenAPI definitions.
UniversityHigher EducationEducationUnited StatesPublic Research UniversityResearch DataOpen DataEpidemiologyPublic HealthCivic DataScholarly PublishingInstitutional RepositoryLibraryIdentity FederationOAI-PMHOpen Access
Methods: api_key, none, saml
Schemes: 6
OAuth flows:
API key in:
Security Schemes
ProjectTychoApiKey api_key
WPRDCCkanPublicRead none
ULSOaiPmhPublicRead none
ULSOjsRestApiClosed api_key
DScholarshipOaiPmhPublicRead none
PittPassportShibboleth saml
Source
Authentication Profile
# authorship: API Evangelist. Not published by the University of Pittsburgh.
x-method: derived
x-authorship: >-
Written by API Evangelist from live probes of the University of Pittsburgh's own public
surfaces. Pitt publishes no equivalent document. The `method:` key below is the university
pipeline's provenance vocabulary (how we came to hold the facts); x-method above is the
authorship vocabulary the provenance manifest reads (who wrote the file).
generated: '2026-08-30'
method: probed
source: >-
Live probes on 2026-08-30 of every surface attributed to the University of Pittsburgh, plus the
published API reference at https://www.tycho.pitt.edu/dataset/api/ and
openapi/university-of-pittsburgh-project-tycho-api-openapi.yml.
provider: University of Pittsburgh
providerId: university-of-pittsburgh
summary:
types:
- api_key
- none
- saml
institution_operated_public_apis_requiring_no_auth: 2
institution_operated_public_apis_requiring_a_key: 1
tenant_operated_public_apis_requiring_no_auth: 1
oauth_surfaces_operated_by_the_institution: 0
institution_wide_key_issuance: false
schemes:
- name: ProjectTychoApiKey
type: api_key
operator: institution
applies_to: https://www.tycho.pitt.edu/api
location: query
parameter: apikey
registration: >-
Free. Create an account at https://www.tycho.pitt.edu and read the key off the user Profile
page. No approval step, plan tier or contract is documented.
description: >-
Every Project Tycho API call carries the key in the query string as `apikey`. There is no
header-based alternative, so the credential is written into server access logs, browser
history, Referer headers and any intermediary cache that sees the URL. The key is also
evaluated BEFORE routing: a request to a path that does not exist returns the same "Invalid
API key" body as a real path, so an unauthenticated client cannot discover or verify the
surface at all.
evidence:
url: https://www.tycho.pitt.edu/api/condition?apikey=INVALIDKEY
status: 200
content_type: text/html
body: 'Invalid API key. Please see the <a href="/dataset/api">API Help</a> (https://www.tycho.pitt.edu/dataset/api) for more information.'
defects:
- >-
An authentication failure is served with HTTP 200 and an HTML fragment. A client branching on
response.ok, or a pipeline checking the status line, reads a rejected credential as a success.
- >-
The credential is a URL query parameter with no header alternative and no documented rotation,
expiry or revocation path.
- name: WPRDCCkanPublicRead
type: none
operator: institution
applies_to: https://data.wprdc.org/api/3/action
description: >-
The Western Pennsylvania Regional Data Center's CKAN Action API is readable with no credential.
Probed keyless on 2026-08-30: package_search returned HTTP 200 with 24,782 bytes of JSON,
status_show returned CKAN 2.11.6, package_list returned 13,372 bytes. CKAN's write actions
require an API token, but no public write path is offered here. Note that the portal presents a
click-through Data Use Agreement to browsers which the API does not enforce.
evidence:
url: https://data.wprdc.org/api/3/action/package_search?rows=1
status: 200
content_type: application/json
- name: ULSOaiPmhPublicRead
type: none
operator: institution
applies_to: https://anthro-age.pitt.edu/ojs/anthro-age/oai
description: >-
The University Library System's OAI-PMH 2.0 providers are open to anonymous harvesting. Identify,
ListMetadataFormats and ListRecords all answered HTTP 200 with no credential on 2026-08-30
across four separate journal hosts.
evidence:
url: https://anthro-age.pitt.edu/ojs/anthro-age/oai?verb=Identify
status: 200
content_type: text/xml
- name: ULSOjsRestApiClosed
type: api_key
operator: institution
applies_to: https://anthro-age.pitt.edu/ojs/anthro-age/api/v1
description: >-
The PKP Open Journal Systems REST API is deployed alongside each OAI-PMH provider but is closed
to the public: it answers HTTP 403 with {"error":"api.403.unauthorized"} to unauthenticated
callers. OJS gates this API behind a per-user API token issued inside the journal, which is not
obtainable by a member of the public. Recorded so the surface is not mistaken for an open one.
evidence:
url: https://anthro-age.pitt.edu/ojs/anthro-age/api/v1/issues
status: 403
content_type: application/json
body: '{"error":"api.403.unauthorized","errorMessage":"You are not authorized to access the requested resource."}'
- name: DScholarshipOaiPmhPublicRead
type: none
operator: tenant
vendor: Hyku Commons (Samvera Hyku)
applies_to: https://d-scholarship.pitt.edu/catalog/oai
description: >-
D-Scholarship@Pitt's OAI-PMH provider is open to anonymous harvesting. Identify,
ListMetadataFormats (oai_dc, oai_hyku) and ListRecords all answered HTTP 200 with no credential
on 2026-08-30. Recorded with operator `tenant`: d-scholarship.pitt.edu CNAMEs to
pittir.hykucommons.org and the provider is Hyku's blacklight_oai_provider, so the content and
the DOIs are Pitt's but the endpoint and its access model are the platform's. Note that the
repository's HTML surface at the same hostname returns HTTP 403 behind a Cloudflare challenge to
the same client that the OAI path serves without complaint.
evidence:
url: https://d-scholarship.pitt.edu/catalog/oai?verb=Identify
status: 200
content_type: text/xml
- name: PittPassportShibboleth
type: saml
operator: institution
applies_to: https://passport.pitt.edu/idp/shibboleth
description: >-
Pitt Passport is the campus SAML 2.0 / Shibboleth identity provider. It authenticates people to
relying service providers; it is not a data API and issues no credential a machine client can
use to call one. Recorded because it is the most unambiguously institution-operated
machine-readable surface the University of Pittsburgh publishes, and because it is what makes
the `shibboleth` and `saml` conformance hits real.
evidence:
url: https://passport.pitt.edu/idp/shibboleth
status: 200
content_type: application/xml
notes:
- >-
The University of Pittsburgh operates no OAuth 2.0 authorization server, no API gateway, no
developer portal and no institution-wide key issuance. developer.pitt.edu and apis.pitt.edu do
not resolve; https://www.pitt.edu/apis.json and https://www.pitt.edu/llms.txt return 404. Each
surface above carries its own unrelated auth model because each was built by a different unit.
Work with this as data
Every security artifact 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 security posture
4 MCP tools reach this
find_securityBrowse and filter every security artifact in the catalog.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.
Call it yourself
curl for this page
This security artifact
curl "https://apis.io/api/v1/security/university-of-pittsburgh-authentication"
All security posture
curl "https://apis.io/api/v1/security?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.