University of Wisconsin-Madison · Authentication Profile

University Of Wisconsin Madison Authentication

Authentication

University of Wisconsin-Madison secures its APIs with oauth2 across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the clientCredentials flow(s).

UniversityHigher EducationEducationPublic Research UniversityUnited StatesWisconsinBig TenAssociation of American UniversitiesIdentityIdentity FederationCourse CatalogResearch RepositoryStudent Information SystemHuman ResourcesFinanceCurriculum
Methods: oauth2 Schemes: 3 OAuth flows: clientCredentials API key in:

Security Schemes

OAuth2ClientCredentials oauth2
basicAuth http
scheme: basic
none none

Source

Authentication Profile

Raw ↑
generated: '2026-08-19'
method: derived
source: openapi/university-of-wisconsin-madison-oauth-api-openapi.yml
docs: https://git.doit.wisc.edu/interop/external-docs/api-publisher-documentation
x-operator: institution
summary:
  types: [oauth2]
  api_key_in: []
  oauth2_flows: [clientCredentials]
  note: >-
    UW-Madison runs two entirely separate authentication planes and conflating them is the
    easiest mistake to make here. The API plane (api.wisc.edu, Google Apigee, org
    doit-ipt-apigee-prod-ce29) is OAuth 2.0 client-credentials only — machine-to-machine, no
    user context, no OIDC discovery. The human plane (login.wisc.edu) is a UW-operated
    Shibboleth IdP speaking SAML 2.0 and OIDC for campus SSO. No published API contract
    references the login.wisc.edu issuer.
schemes:
- name: OAuth2ClientCredentials
  type: oauth2
  flow: clientCredentials
  token_url: https://api.wisc.edu/oauth/token
  declared_scopes: []
  used_by: >-
    10 of 12 contracts — Person, Mock Person, Mock Person Certificates, HR, Mock HR, Manifest,
    Mock Manifest, Finance, Locations, and (by documentation, not by scheme) Enterprise Billing.
  purpose: Bearer access token for every gated UW-Madison enterprise API.
- name: basicAuth
  type: http
  scheme: basic
  used_by: openapi/university-of-wisconsin-madison-oauth-api-openapi.yml
  purpose: >-
    Presents the client_id/client_secret pair to POST https://api.wisc.edu/oauth/token in
    exchange for an access token. The OAuth contract notes that enabling the OAuth API product
    is not itself necessary in order to obtain tokens.
- name: none
  type: none
  used_by: >-
    openapi/university-of-wisconsin-madison-course-search-api-openapi.yml
    (public.enroll.wisc.edu) — fully open, no credential of any kind. Verified by an
    unauthenticated POST returning 226 and 932 course records.
onboarding:
  self_service: false
  detail: >-
    Access to production APIs is granted, not signed up for. The Person API access page
    documents an institutional access request, and every API product in the portal catalog
    carries approvalType "manual". A UW NetID is required to sign in to the developer portal at
    all, so the credential path is closed to anyone outside the institution.
  gated_by: institutional access request + manual approval per API product
  request_url: https://developer.wisc.edu/person-api/getting-access
  contact: api@doit.wisc.edu
mocks:
  detail: >-
    UW-Madison publishes openly readable MOCK variants on mock.api.wisc.edu for four of its
    gated APIs (Person, Person Certificates, HR, Manifest). This is a deliberate and unusually
    good practice for a university: the contract and the shape of the data are public even
    though the production data is not.
  hosts: [https://mock.api.wisc.edu]
identity_federation:
  operator: institution
  entity_id: https://login.wisc.edu/idp/shibboleth
  saml_metadata: https://login.wisc.edu/idp/shibboleth
  oidc_discovery: https://login.wisc.edu/.well-known/openid-configuration
  scope: wisc.edu
  detail: >-
    Institution-operated Shibboleth IdP serving both SAML 2.0 and OpenID Connect. Governs campus
    SSO and the vendor tenants (Canvas), not the API gateway.

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.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/university-of-wisconsin-madison-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.