University of California, Santa Barbara · Authentication Profile

Ucsb Authentication

Authentication

University of California, Santa Barbara secures its APIs with apiKey, basic, and oauth2 across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

EducationHigher EducationUniversityPublic Research UniversityUC SystemUnited StatesCaliforniaCampusStudent Information SystemCourse CatalogAcademicsIdentity FederationResearch RepositoryLibraryAPI GatewayDeveloper Portal
Methods: apiKey, basic, oauth2 Schemes: 3 OAuth flows: authorizationCode API key in: header

Security Schemes

ucsb-api-key apiKey
· in: header (ucsb-api-key)
BasicAuth http
scheme: basic
Google End User OAuth oauth2
· flows: authorizationCode

Source

Authentication Profile

Raw ↑
generated: '2026-08-30'
method: searched
source: https://developer.ucsb.edu/docs/security/overview
docs: https://developer.ucsb.edu/documentation
summary:
  types:
  - apiKey
  - basic
  - oauth2
  api_key_in:
  - header
  oauth2_flows:
  - authorizationCode
  note: >-
    UCSB documents a three-layer security model for the Campus API Gateway, and it is one of
    the more clearly written institutional API security pages in this cohort. Layer 1 is an
    application API key (the portal calls it the Consumer Key) checked at the gateway. Layer 2
    is HTTP Basic against a Campus LDAP service account, passed THROUGH the gateway to the
    backend web service so the backend can scope what a given department's application may
    see. Layer 3, used only where the calling end user must be identified, is Google OAuth —
    which UCSB states explicitly is a stopgap: "Temporarily, Google can provide this OAuth
    information as the Campus Identity team works on implementing an OAuth provider specific
    for our campus needs." UCSB's own campus OAuth provider is on the long-term roadmap and
    is not shipped.
schemes:
- name: ucsb-api-key
  type: apiKey
  in: header
  parameter: ucsb-api-key
  layer: Campus API Gateway
  purpose: >-
    Authenticates the calling APPLICATION to the gateway and resolves which API products that
    application is entitled to. Required on every call, including on APIs with no further
    security limitations.
  issued_at: https://developer.ucsb.edu/
  issuance: >-
    Register a developer-portal account (manually approved by an administrator), create an
    App, and read the Consumer Key off the App page. UCSB recommends a functional account
    (e.g. lsit-developers@ucsb.edu) over an individual one so entitlements survive staff
    turnover.
  scoped: true
  scope_model: >-
    Per-API-product entitlement, not OAuth scopes. An unentitled key returns
    oauth.v2.InvalidApiKeyForGivenResource.
  declared_in: 21 of 21 published OpenAPI documents (as ucsb-api-key or apiKey/ucsbApiKey)
  sources:
  - https://developer.ucsb.edu/docs/security/api-key
  - openapi/ucsb-academic-quarter-calendar-openapi.yml
- name: BasicAuth
  type: http
  scheme: basic
  layer: backend Web API Service
  purpose: >-
    Carries a Campus LDAP SERVICE ACCOUNT to the backend so the backend can apply per-caller
    data filtering. UCSB's worked example: an application from the College of Engineering may
    only be permitted student information for that college.
  issued_at: null
  issuance: Campus LDAP service/functional account, requested through campus IT — not self-service.
  scoped: true
  declared_in: >-
    11 of 21 published OpenAPI documents (BasicAuth / basicAuth / ucsbnetid-password), all of
    them Students, Registrar or BARC contracts.
  sources:
  - https://developer.ucsb.edu/docs/security/basic-authentication
  - https://developer.ucsb.edu/docs/accounts/ldap-accounts
- name: Google End User OAuth
  type: oauth2
  flows:
  - flow: authorizationCode
    provider: Google
  layer: backend Web API Service
  purpose: >-
    Identifies the END USER of the calling application where the backend must know who is
    asking, not just which app is asking.
  self_described_as_interim: true
  interim_evidence: >-
    "Temporarily, Google can provide this OAuth information as the Campus Identity team works
    on implementing an OAuth provider specific for our campus needs."
    — https://developer.ucsb.edu/docs/security/overview
  declared_in: >-
    Not declared as an oauth2 securityScheme in any published OpenAPI. Its transport is visible
    only in the gateway's CORS allow-list, which admits a ucsb-user-jwt header.
  sources:
  - https://developer.ucsb.edu/docs/security/google-end-user-oauth
observed_transport:
  probed: true
  probed_on: '2026-08-30'
  evidence: >-
    api.ucsb.edu returns Access-Control-Allow-Headers "origin, x-requested-with, accept,
    ucsb-api-key, ucsb-api-version, authorization, ucsb-user-jwt, content-type" on every
    response, including 401 and 404. The three UCSB-specific headers — ucsb-api-key,
    ucsb-api-version and ucsb-user-jwt — are the whole auth and versioning surface, and the
    gateway advertises them without a key.
onboarding:
  self_service: false
  approval: manual
  steps:
  - Register a portal account at https://developer.ucsb.edu/user/register
  - Wait for an administrator to approve the account manually
  - Create an App to obtain a Consumer Key
  - File an API Access Request for any API above the Auto-Approved tier
  note: >-
    UCSB states the manual approval step is current practice and that automatic approval is
    intended but not implemented.
  sources:
  - https://developer.ucsb.edu/docs/getting-started
  - https://developer.ucsb.edu/docs/creating-your-first-app
gaps:
- No campus-operated OAuth 2.0 or OIDC provider for API authorization; Google is used as an
  acknowledged interim.
- No /.well-known/openid-configuration and no /.well-known/oauth-authorization-server on
  api.ucsb.edu, developer.ucsb.edu or www.ucsb.edu.
- No security.txt on any UCSB host probed.

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/ucsb-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.