aid: unsw-sydney
name: University of New South Wales
x-type: university
x-category: Public Research University
description: 'The University of New South Wales (UNSW Sydney) is a public research university in Sydney,
  Australia, and a member of the Group of Eight. Like almost every institution, UNSW is a federation of
  buyers rather than an API producer, and its programmable footprint has to be read that way. The one
  substantial platform UNSW runs itself — the Enterprise API Gateway and Developer Portal on Microsoft
  Azure API Management at apideveloper.unsw.edu.au — is completely gated: onboarding is request-based,
  the API catalogue is invisible before sign-in, no base URL is disclosed, and the portal states outright
  that consumers cannot exercise APIs in the portal. The surfaces a member of the public can actually
  read are three, and all three are institution- operated: the UNSWorks institutional repository REST
  API (DSpace 7.0, anonymous discovery search, authenticated item browse), its OAI-PMH 2.0 harvesting
  endpoint exposing twelve metadata formats back to 2007, and the UNSW Shibboleth identity provider whose
  SAML 2.0 entity metadata is published under the institution''s own domain and registered in the Australian
  Access Federation. Everything else is a tenancy on someone else''s platform — an Ex Libris Primo library
  discovery view, a vendor-hosted Moodle that is a conformant LTI 1.3 platform, a Microsoft Power Apps
  research-data toolkit — or student-society work on non-institution domains. UNSW publishes no OpenAPI,
  no open data portal, no status page, no changelog and no API governance ruleset.'
type: Index
deliveryModel:
  model: saas
  license_evidence:
    not_product:
    - csesoc/handbook-api
    - devsoc-unsw/timetable-scraper
  open_source: unknown
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: low
  source:
  - openapi
  - pricing
  - repository-not-product
  generated: '2026-09-25'
  method: derived
accessModel:
  pricing: free
  onboarding: request-based
  trial: false
  try_now: false
  public: false
  label: Free
  confidence: high
  source:
  - plans
  - probed
  generated: '2026-08-19'
  method: probed
position: Consuming
access: 3rd-Party
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/unsw-sydney.png
url: https://raw.githubusercontent.com/api-evangelist/unsw-sydney/refs/heads/main/apis.yml
tags:
- University
- Higher Education
- Education
- Research
- Australia
- Group of Eight
- Sydney
- Research Repository
- Identity Federation
- Course Catalog
- Library
- Open Repository
created: '2026-06-03'
modified: '2026-09-16'
specificationVersion: '0.23'
apis:
- aid: unsw-sydney:shibboleth-idp
  name: UNSW Shibboleth Identity Provider (AAF / eduGAIN)
  x-operator: institution
  x-operator-evidence: entityID https://aaf.unsw.edu.au/idp/shibboleth, served from the institution's
    own domain and registered in the Australian Access Federation aggregate with OrganizationName "The
    University of New South Wales" and mdui:DisplayName "The University of New South Wales (UNSW)". The
    asserted shibmd:Scope is unsw.edu.au.
  description: UNSW's own SAML 2.0 identity provider — a Shibboleth IdP whose entity metadata is published
    as a machine-readable XML document at the entityID URL and is carried in the AAF federation aggregate,
    which participates in eduGAIN. SingleSignOnService endpoints are exposed over HTTP-POST and HTTP-Redirect
    bindings. This is institution-operated by definition and is the class of surface a university runs
    itself even when every application on top is a vendor's. A second UNSW-operated entity, the AC Lab
    System service provider at sp.acls.analytical.unsw.edu.au, is registered in the same federation with
    OrganizationName unsw.edu.au.
  humanURL: https://aaf.edu.au/
  baseURL: https://aaf.unsw.edu.au/idp/shibboleth
  tags:
  - Identity Federation
  - Shibboleth
  - SAML
  - SSO
  - eduGAIN
  tags_raw:
  - Identity Federation
  - Shibboleth
  - SAML
  - Single Sign-On
  - eduGAIN
  properties:
  - type: Examples
    url: examples/unsw-sydney-shibboleth-idp-metadata-example.xml
  - type: Conformance
    url: conformance/unsw-sydney-education-standards-conformance.yml
  - type: Authentication
    url: authentication/unsw-sydney-authentication.yml
  - type: Documentation
    url: https://md.aaf.edu.au/aaf-metadata.xml
- aid: unsw-sydney:developer-portal
  name: UNSW Enterprise Developer Portal
  x-operator: institution
  x-operator-evidence: apideveloper.unsw.edu.au is under the institution's own registrable domain and
    is branded with UNSW's own logo. The underlying product is Microsoft Azure API Management, but the
    gateway, the catalogue and the onboarding process are UNSW's.
  description: 'The front door to UNSW''s Enterprise API Gateway, built on Microsoft Azure API Management.
    Cataloguing it is a statement about the gate, not about the APIs behind it: /apis returns 404, there
    is no self-service signup, no base URL is published, and the portal''s own text states that consumers
    "will not be able to try out the APIs in the Developer Portal, due to security constraints of the
    organisation." Provider and consumer onboarding both run through request forms, an internal cyber
    review and manually issued credentials. Nothing about the number, shape or lifecycle of the APIs behind
    the gate is publicly knowable, and this profile makes no claim about them.'
  humanURL: https://apideveloper.unsw.edu.au/
  tags:
  - Developer Portal
  - Azure API Management
  - Enterprise
  - Gated
  - Integration
  properties:
  - type: Documentation
    url: https://apideveloper.unsw.edu.au/getting-started
  - type: Signup
    url: https://apideveloper.unsw.edu.au/signin
  - type: Support
    url: https://apideveloper.unsw.edu.au/contact-us
  - type: Authentication
    url: authentication/unsw-sydney-authentication.yml
- aid: unsw-sydney:moodle-lti
  name: Moodle @ UNSW (TELT) — LTI 1.3 platform
  x-operator: tenant
  x-operator-evidence: Hostname moodle.telt.unsw.edu.au is under unsw.edu.au, but the matching service-provider
    entity in the AAF federation metadata declares OrganizationName ltgplc.com / "Learning Technologies
    Group Pty Ltd" (Open LMS) as the operating organisation, and a staging twin exists at unsw-mdl-stage.enter.openlms.cloud.
    Vendor platform, institution-specific hostname.
  description: 'UNSW''s learning management system, operated for UNSW by Open LMS. It is a live, conformant
    1EdTech LTI 1.3 platform: the public keyset at /mod/lti/certs.php serves RS256 JWKs, the authorisation
    endpoint at /mod/lti/auth.php answers, and the token endpoint at /mod/lti/token.php is present and
    rejects an empty grant. A Moodle web-service endpoint exists but issues tokens only internally. Recorded
    as a tenant relationship: the LTI conformance is real and belongs on UNSW''s profile, the contract
    belongs to Moodle.'
  humanURL: https://moodle.telt.unsw.edu.au/
  baseURL: https://moodle.telt.unsw.edu.au/mod/lti
  tags:
  - LMS
  - LTI
  - Moodle
  - Tenants
  - Teaching
  tags_raw:
  - Learning Management
  - LTI
  - Moodle
  - Tenant
  - Teaching
  properties:
  - type: Examples
    url: examples/unsw-sydney-moodle-lti-jwks-example.json
  - type: Conformance
    url: conformance/unsw-sydney-education-standards-conformance.yml
  - type: Documentation
    url: https://moodle.telt.unsw.edu.au/mod/lti/certs.php
- aid: unsw-sydney:primo-discovery
  name: UNSW Library discovery (Ex Libris Primo VE)
  x-operator: tenant
  x-operator-evidence: Hosted on the shared vendor host unsw.primo.exlibrisgroup.com under an institution-specific
    view identifier, vid=61UNSW_INST:UNSWS. The data is UNSW's; the platform, the host and the contract
    are Ex Libris's.
  description: UNSW Library's discovery layer runs on Ex Libris Primo VE. This entry records the tenancy
    so the relationship is visible in the catalogue; no Ex Libris specification is saved under this institution's
    slug. Any Primo or Alma API contract belongs on Ex Libris's own profile, and crediting UNSW for it
    would be exactly the misattribution this pipeline exists to prevent.
  humanURL: https://www.library.unsw.edu.au/
  baseURL: https://unsw.primo.exlibrisgroup.com/discovery/search?vid=61UNSW_INST:UNSWS
  tags:
  - Library
  - Discovery
  - Ex Libris
  - Primo
  - Tenants
  tags_raw:
  - Library
  - Discovery
  - Ex Libris
  - Primo
  - Tenant
  properties:
  - type: Documentation
    url: https://www.library.unsw.edu.au/
- aid: unsw-sydney:freerooms
  name: Freerooms API (DevSoc, community)
  x-operator: tenant
  x-operator-evidence: Operated by the UNSW Software Development Society on the non-institution domain
    devsoc.app. Built on UNSW timetable and room data; not operated, endorsed or supported by UNSW.
  description: 'A live student-society API exposing UNSW campus buildings and teaching rooms with coordinates,
    capacity, school and usage type — the campus-life surface class, built by students rather than by
    the institution. Confirmed live: /api/buildings and /api/rooms both return JSON without credentials.
    This is the working successor to the archived timetable-scraper, and it is credited as a tenant relationship,
    never as a UNSW-operated API.'
  humanURL: https://freerooms.devsoc.app/
  baseURL: https://freerooms.devsoc.app/api
  tags:
  - Campus Life
  - Room Booking
  - Timetable
  - Community
  - Unofficial
  properties:
  - type: Documentation
    url: https://freerooms.devsoc.app/
  - type: GitHub
    url: https://github.com/devsoc-unsw
  - type: Lifecycle
    url: lifecycle/unsw-sydney-lifecycle.yml
- aid: unsw-sydney:timetable-scraper
  name: UNSW Timetable API (DevSoc, community) — ARCHIVED
  x-operator: tenant
  x-operator-evidence: UNSW Software Development Society project on github.com; the institution neither
    operates nor endorses it.
  description: A scraper and public API for UNSW's timetable site, produced by the UNSW Software Development
    Society. ARCHIVED BY ITS OWNER ON 2026-04-05 and now read-only. The June 2026 profile of this institution
    listed it as a live surface; that is corrected here. Retained as a lifecycle record, not as a current
    surface.
  humanURL: https://github.com/devsoc-unsw/timetable-scraper
  tags:
  - Timetable
  - Course Catalog
  - Community
  - Unofficial
  - Archived
  properties:
  - type: GitHub
    url: https://github.com/devsoc-unsw/timetable-scraper
  - type: Lifecycle
    url: lifecycle/unsw-sydney-lifecycle.yml
- aid: unsw-sydney:handbook-api
  name: UNSW Handbook API (CSESoc, community) — ARCHIVED
  x-operator: tenant
  x-operator-evidence: UNSW Computer Science and Engineering Society project on github.com; the institution
    neither operates nor endorses it.
  description: A public API for fetching degree, specialisation and course information from the UNSW Handbook,
    published by the UNSW Computer Science and Engineering Society. ARCHIVED BY ITS OWNER ON 2026-04-03
    and now read-only. The June 2026 profile listed it as live; that is corrected here. Retained as a
    lifecycle record, not as a current surface.
  humanURL: https://github.com/csesoc/handbook-api
  tags:
  - Handbook
  - Course Catalog
  - Community
  - Unofficial
  - Archived
  properties:
  - type: GitHub
    url: https://github.com/csesoc/handbook-api
  - type: Lifecycle
    url: lifecycle/unsw-sydney-lifecycle.yml
- aid: unsw-sydney:unsw-sydney-core-api
  name: University of New South Wales Core API
  description: Communities, collections, sites and the metadata registry.
  humanURL: https://unsworks.unsw.edu.au/
  baseURL: https://unsworks.unsw.edu.au/server/api
  tags:
  - Core
  tags_raw:
  - core
  properties:
  - type: OpenAPI
    url: openapi/unsw-sydney-core-api-openapi.yml
  - type: JSONSchema
    url: json-schema/unsw-sydney-unsworks-dspace-schema.json
  - type: Examples
    url: examples/unsw-sydney-unsworks-dspace-example.json
  - type: Vocabulary
    url: vocabulary/unsw-sydney-unsworks-vocabulary.yml
  - type: Authentication
    url: authentication/unsw-sydney-authentication.yml
  - type: Errors
    url: errors/unsw-sydney-errors.yml
  - type: Documentation
    url: https://unsworks.unsw.edu.au/server/api
  - type: Examples
    url: examples/unsw-sydney-unsworks-oai-identify-example.xml
  - type: Conformance
    url: conformance/unsw-sydney-education-standards-conformance.yml
  - type: Documentation
    url: https://unsworks.unsw.edu.au/oai/request?verb=Identify
- aid: unsw-sydney:unsw-sydney-discover-api
  name: University of New South Wales Discover API
  description: Public discovery search over repository objects.
  humanURL: https://unsworks.unsw.edu.au/
  baseURL: https://unsworks.unsw.edu.au/server/api
  tags:
  - Discover
  tags_raw:
  - discover
  properties:
  - type: OpenAPI
    url: openapi/unsw-sydney-discover-api-openapi.yml
  - type: JSONSchema
    url: json-schema/unsw-sydney-unsworks-dspace-schema.json
  - type: Examples
    url: examples/unsw-sydney-unsworks-dspace-example.json
  - type: Vocabulary
    url: vocabulary/unsw-sydney-unsworks-vocabulary.yml
  - type: Authentication
    url: authentication/unsw-sydney-authentication.yml
  - type: Errors
    url: errors/unsw-sydney-errors.yml
  - type: Documentation
    url: https://unsworks.unsw.edu.au/server/api
  - type: Examples
    url: examples/unsw-sydney-unsworks-oai-identify-example.xml
  - type: Conformance
    url: conformance/unsw-sydney-education-standards-conformance.yml
  - type: Documentation
    url: https://unsworks.unsw.edu.au/oai/request?verb=Identify
- aid: unsw-sydney:unsw-sydney-oai-pmh-api
  name: University of New South Wales Oai Pmh API
  description: OAI-PMH 2.0 verbs, all exercised live against this endpoint.
  humanURL: https://unsworks.unsw.edu.au/
  baseURL: https://unsworks.unsw.edu.au/oai/request
  tags:
  - OAI-PMH
  tags_raw:
  - oai-pmh
  properties:
  - type: OpenAPI
    url: openapi/unsw-sydney-oai-pmh-api-openapi.yml
  - type: JSONSchema
    url: json-schema/unsw-sydney-unsworks-dspace-schema.json
  - type: Examples
    url: examples/unsw-sydney-unsworks-dspace-example.json
  - type: Vocabulary
    url: vocabulary/unsw-sydney-unsworks-vocabulary.yml
  - type: Authentication
    url: authentication/unsw-sydney-authentication.yml
  - type: Errors
    url: errors/unsw-sydney-errors.yml
  - type: Documentation
    url: https://unsworks.unsw.edu.au/server/api
  - type: Examples
    url: examples/unsw-sydney-unsworks-oai-identify-example.xml
  - type: Conformance
    url: conformance/unsw-sydney-education-standards-conformance.yml
  - type: Documentation
    url: https://unsworks.unsw.edu.au/oai/request?verb=Identify
- aid: unsw-sydney:unsw-sydney-root-api
  name: University of New South Wales Root API
  description: Service entry point and HAL link index.
  humanURL: https://unsworks.unsw.edu.au/
  baseURL: https://unsworks.unsw.edu.au/server/api
  tags:
  - Root
  tags_raw:
  - root
  properties:
  - type: OpenAPI
    url: openapi/unsw-sydney-root-api-openapi.yml
  - type: JSONSchema
    url: json-schema/unsw-sydney-unsworks-dspace-schema.json
  - type: Examples
    url: examples/unsw-sydney-unsworks-dspace-example.json
  - type: Vocabulary
    url: vocabulary/unsw-sydney-unsworks-vocabulary.yml
  - type: Authentication
    url: authentication/unsw-sydney-authentication.yml
  - type: Errors
    url: errors/unsw-sydney-errors.yml
  - type: Documentation
    url: https://unsworks.unsw.edu.au/server/api
  - type: Examples
    url: examples/unsw-sydney-unsworks-oai-identify-example.xml
  - type: Conformance
    url: conformance/unsw-sydney-education-standards-conformance.yml
  - type: Documentation
    url: https://unsworks.unsw.edu.au/oai/request?verb=Identify
common:
- type: CapabilityMap
  url: capabilities/unsw-sydney-capability-edges.yml
  name: University of New South Wales Business Capability Map
- type: Website
  url: https://www.unsw.edu.au/
- type: Documentation
  url: https://apideveloper.unsw.edu.au/getting-started
- type: DeveloperPortal
  url: https://apideveloper.unsw.edu.au/
- type: ResearchRepository
  url: https://unsworks.unsw.edu.au/
- type: IdentityFederation
  url: https://aaf.unsw.edu.au/idp/shibboleth
- type: ResearchComputing
  url: https://docs.restech.unsw.edu.au/
- type: LibraryCatalog
  url: https://www.library.unsw.edu.au/
- type: CourseCatalog
  url: https://www.handbook.unsw.edu.au/
- type: AIPolicy
  url: https://www.teaching.unsw.edu.au/ai/guidelines
- type: AITooling
  url: https://www.unsw.edu.au/myit/emerging-technologies/ai
- type: GitHubOrganization
  url: https://github.com/unsw-edu-au
- type: PrivacyPolicy
  url: https://www.unsw.edu.au/privacy
- type: TermsOfService
  url: https://www.unsw.edu.au/copyright-disclaimer
- type: Support
  url: https://www.unsw.edu.au/myit
- type: Blog
  url: https://www.unsw.edu.au/newsroom
- type: LinkedIn
  url: https://www.linkedin.com/school/unsw/
- type: OpenAPI
  url: openapi/_original/unsw-sydney-unsworks-dspace-openapi.yml
- type: OpenAPI
  url: openapi/_original/unsw-sydney-unsworks-oai-pmh-openapi.yml
- type: JSONSchema
  url: json-schema/unsw-sydney-unsworks-dspace-schema.json
- type: Examples
  url: examples/unsw-sydney-unsworks-dspace-example.json
- type: Vocabulary
  url: vocabulary/unsw-sydney-unsworks-vocabulary.yml
- type: Rules
  url: rules/unsw-sydney-rules.yml
- type: Authentication
  url: authentication/unsw-sydney-authentication.yml
- type: Scopes
  url: scopes/unsw-sydney-scopes.yml
- type: Errors
  url: errors/unsw-sydney-errors.yml
- type: Conformance
  url: conformance/unsw-sydney-education-standards-conformance.yml
- type: Lifecycle
  url: lifecycle/unsw-sydney-lifecycle.yml
- type: JSONLD
  url: json-ld/unsw-sydney-context.jsonld
- type: DomainSecurity
  url: security/unsw-sydney-domain-security.yml
- type: Plans
  url: plans/unsw-sydney-plans-pricing.yml
- type: RateLimits
  url: rate-limits/unsw-sydney-rate-limits.yml
- type: FinOps
  url: finops/unsw-sydney-finops.yml
- type: Review
  url: review.yml
x-coverage:
  state: gated
  reason: gated_developer_portal
  generated: '2026-08-19'
  method: probed
  detail: 'UNSW''s one substantial institution-operated API platform — the Enterprise API Gateway behind
    apideveloper.unsw.edu.au — cannot be read without authorisation, and authorisation is granted only
    through a manual request process that can require a data sharing agreement or a manager''s approval.
    The catalogue path returns 404 unauthenticated, no gateway base URL is published anywhere on the portal,
    and the portal itself states that even authorised consumers cannot exercise APIs from within it. So
    the count, shape, versioning and lifecycle of UNSW''s enterprise APIs are unknowable from outside,
    and this profile asserts nothing about them. What could be read was read completely: the UNSWorks
    DSpace REST API, its OAI-PMH endpoint and the UNSW Shibboleth IdP metadata were all probed live and
    are fully covered. Nothing here was blocked by bot protection, and the thinness of this profile is
    a fact about UNSW''s publishing posture, not a gap in the sweep. UNSW operates no open data portal
    (data.unsw.edu.au redirects to an information-governance page), publishes no OpenAPI, no status page,
    no changelog and no security.txt, and its research-data toolkit sits behind a Microsoft tenant login.'
  evidence:
  - url: https://apideveloper.unsw.edu.au/
    status: 200
  - url: https://apideveloper.unsw.edu.au/getting-started
    status: 200
  - url: https://apideveloper.unsw.edu.au/apis
    status: 404
  - url: https://apideveloper.unsw.edu.au/signin
    status: 200
  - url: https://unsworks.unsw.edu.au/server/api
    status: 200
  - url: https://unsworks.unsw.edu.au/server/api/discover/search/objects?size=1
    status: 200
  - url: https://unsworks.unsw.edu.au/server/api/core/items?size=1
    status: 401
  - url: https://unsworks.unsw.edu.au/oai/request?verb=Identify
    status: 200
  - url: https://unsworks.unsw.edu.au/oai/request?verb=ListMetadataFormats
    status: 200
  - url: https://aaf.unsw.edu.au/idp/shibboleth
    status: 200
  - url: https://md.aaf.edu.au/aaf-metadata.xml
    status: 200
  - url: https://moodle.telt.unsw.edu.au/mod/lti/certs.php
    status: 200
  - url: https://freerooms.devsoc.app/api/buildings
    status: 200
  - url: https://api.unsw.edu.au/
    status: 502
  - url: https://data.unsw.edu.au/
    status: 200
    note: Redirects to https://www.unsw.edu.au/information-governance — not an open data portal.
  - url: https://www.unsw.edu.au/llms.txt
    status: 404
  - url: https://www.unsw.edu.au/.well-known/security.txt
    status: 404
  - url: https://resdata.unsw.edu.au/
    status: 0
    note: NXDOMAIN — retired 2021.
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
