University of Waterloo Wcms API

The Wcms API from University of Waterloo — 8 operation(s) for wcms.

Operations 8

GET /v3/Wcms Retrieves information about all active and published WCMS sites
GET /v3/Wcms/{id} Retrieves information about a specific WCMS site by Site Id
GET /v3/Wcms/latestnews/{maxItems} Retrieves the latest news items across all WCMS sites, ordered by posted date
GET /v3/Wcms/latestevents/{maxItems} Retrieves the latest events items across all WCMS sites, ordered by event start date
GET /v3/Wcms/latestposts/{maxItems} Retrieves the latest blog post items across all WCMS sites, ordered by posted date
GET /v3/Wcms/{id}/news Retrieves all news items for a specific WCMS site by Site Id
GET /v3/Wcms/{id}/posts Retrieves all blog post items for a specific WCMS site by Site Id
GET /v3/Wcms/{id}/events Retrieves all event items for a specific WCMS site by Site Id

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/university-of-waterloo-wcms-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

university-of-waterloo-wcms-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Waterloo OpenData Wcms API
  version: v3
servers:
- url: https://openapi.data.uwaterloo.ca
  description: University of Waterloo OpenData API v3
security:
- apiKey: []
tags:
- name: Wcms
paths:
  /v3/Wcms:
    get:
      tags:
      - Wcms
      summary: Retrieves information about all active and published WCMS sites
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Site'
  /v3/Wcms/{id}:
    get:
      tags:
      - Wcms
      summary: Retrieves information about a specific WCMS site by Site Id
      parameters:
      - name: id
        in: path
        description: Unique site Id
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Site'
  /v3/Wcms/latestnews/{maxItems}:
    get:
      tags:
      - Wcms
      summary: Retrieves the latest news items across all WCMS sites, ordered by posted date
      parameters:
      - name: maxItems
        in: path
        description: Number of items to retrieve, default 15, maximum 25
        required: true
        schema:
          type: integer
          format: int32
          default: 15
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SiteNews'
  /v3/Wcms/latestevents/{maxItems}:
    get:
      tags:
      - Wcms
      summary: Retrieves the latest events items across all WCMS sites, ordered by event start date
      parameters:
      - name: maxItems
        in: path
        description: Number of items to retrieve, default 15, maximum 25
        required: true
        schema:
          type: integer
          format: int32
          default: 15
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SiteEvent'
  /v3/Wcms/latestposts/{maxItems}:
    get:
      tags:
      - Wcms
      summary: Retrieves the latest blog post items across all WCMS sites, ordered by posted date
      parameters:
      - name: maxItems
        in: path
        description: Number of items to retrieve, default 15, maximum 25
        required: true
        schema:
          type: integer
          format: int32
          default: 15
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SiteBlogPost'
  /v3/Wcms/{id}/news:
    get:
      tags:
      - Wcms
      summary: Retrieves all news items for a specific WCMS site by Site Id
      parameters:
      - name: id
        in: path
        description: Unique Id for the Site
        required: true
        schema:
          type: integer
          format: int32
      - name: maxItems
        in: query
        description: (Optional) Maximum amount of items to retrieve
        schema:
          type: integer
          format: int32
      - name: newestFirst
        in: query
        description: (Optional) Requires maxItems parameter, sorts items by created date, newest first
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SiteNews'
  /v3/Wcms/{id}/posts:
    get:
      tags:
      - Wcms
      summary: Retrieves all blog post items for a specific WCMS site by Site Id
      parameters:
      - name: id
        in: path
        description: Unique Id for the Site
        required: true
        schema:
          type: integer
          format: int32
      - name: maxItems
        in: query
        description: (Optional) Maximum amount of items to retrieve
        schema:
          type: integer
          format: int32
      - name: newestFirst
        in: query
        description: (Optional) Requires maxItems parameter, sorts items by created date, newest first
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SiteBlogPost'
  /v3/Wcms/{id}/events:
    get:
      tags:
      - Wcms
      summary: Retrieves all event items for a specific WCMS site by Site Id
      parameters:
      - name: id
        in: path
        description: Unique Id for the Site
        required: true
        schema:
          type: integer
          format: int32
      - name: maxItems
        in: query
        description: (Optional) Maximum amount of items to retrieve
        schema:
          type: integer
          format: int32
      - name: newestFirst
        in: query
        description: (Optional) Requires maxItems parameter, sorts items by created date, newest first
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SiteEvent'
components:
  schemas:
    SiteNews:
      type: object
      properties:
        siteId:
          type: integer
          description: Unique, numeric site ID of the Site this news originates from
          format: int32
        uniqueKey:
          type:
          - string
          - 'null'
          description: Unique Id of this news item
        title:
          type:
          - string
          - 'null'
          description: Title of the news item
        postedDate:
          type:
          - string
          - 'null'
          description: Content created or posted date
          format: date-time
        updatedDate:
          type:
          - string
          - 'null'
          description: Content updated date
          format: date-time
        itemUri:
          type:
          - string
          - 'null'
          description: URI to the news item in WCMS
        audience:
          type:
          - string
          - 'null'
          description: Intended audience tag(s)
        content:
          type:
          - string
          - 'null'
          description: News item content, often with HTML markup
      additionalProperties: false
      description: Model representing News data associated to a Site in the WCMS
    Site:
      type: object
      properties:
        siteId:
          type: integer
          description: Unique, numeric site ID
          format: int32
        relativeUri:
          type:
          - string
          - 'null'
          description: Relative URI of the site from the root uWaterloo CMS domain
        name:
          type:
          - string
          - 'null'
          description: Display name of the Site
        completeUri:
          type:
          - string
          - 'null'
          description: Complete URI of the site, including root domain
        ownerUnitCode:
          type:
          - string
          - 'null'
          description: If available, the department owner code for this Site. Can loosely map to Academic Groups.
        ownerUnitNameShort:
          type:
          - string
          - 'null'
          description: Short name of the department owner for this Site. See OwnerUnitCode for more.
        ownerUnitNameFull:
          type:
          - string
          - 'null'
          description: Full name of the department owner for this Site. See OwnerUnitCode for more.
        ownerGroupCode:
          type:
          - string
          - 'null'
          description: If available, the faculty owner code for this Site. Can loosely map to Academic Organization.
        ownerType:
          type:
          - string
          - 'null'
          description: The tag describing the association of the owner department, such as academic, research, and more.
      additionalProperties: false
      description: Model representing a Site on the Waterloo CMS
    SiteEvent:
      type: object
      properties:
        siteId:
          type: integer
          description: Unique, numeric site ID
          format: int32
        uniqueKey:
          type:
          - string
          - 'null'
          description: Unique Id of this evevnt item
        title:
          type:
          - string
          - 'null'
          description: Title of the event
        eventStartDate:
          type:
          - string
          - 'null'
          description: Start date of the event
          format: date-time
        eventEndDate:
          type:
          - string
          - 'null'
          description: End date of the event
          format: date-time
        recurRule:
          type:
          - string
          - 'null'
          description: Description of the event recurrence rule
        eventTimezone:
          type:
          - string
          - 'null'
          description: Time zone description of the event dates
        itemUri:
          type:
          - string
          - 'null'
          description: Link to the Event
        eventTags:
          type:
          - string
          - 'null'
          description: Tag(s) representing the event
        eventType:
          type:
          - string
          - 'null'
          description: Type of the event
        eventWebsite:
          type:
          - string
          - 'null'
          description: Supplemental URI for the event
        audience:
          type:
          - string
          - 'null'
          description: Tag(s) representing the intended audience for the event
        cost:
          type:
          - string
          - 'null'
          description: Cost of the event
        host:
          type:
          - string
          - 'null'
          description: Event host information
        locationId:
          type:
          - integer
          - 'null'
          description: Unique Id of the location hosting the event
          format: int32
        locationName:
          type:
          - string
          - 'null'
          description: Display name of the location hosting the event
        updatedDate:
          type:
          - string
          - 'null'
          description: Date item last updated
          format: date-time
        content:
          type:
          - string
          - 'null'
          description: Description content for the event, often includes HTML markup
      additionalProperties: false
      description: Model representing a WCMS Event item
    SiteBlogPost:
      type: object
      properties:
        siteId:
          type: integer
          description: Unique, numeric site ID
          format: int32
        uniqueKey:
          type:
          - string
          - 'null'
          description: Unique Id of this post item
        title:
          type:
          - string
          - 'null'
          description: Title of the blog post
        postedDate:
          type:
          - string
          - 'null'
          description: Content created or posted date
          format: date-time
        updatedDate:
          type:
          - string
          - 'null'
          description: Content updated date
          format: date-time
        itemUri:
          type:
          - string
          - 'null'
          description: URI to the item in WCMS
        audience:
          type:
          - string
          - 'null'
          description: Intended audience tag(s)
        content:
          type:
          - string
          - 'null'
          description: Blog post content, often with HTML markup
        delegatedAuthorName:
          type:
          - string
          - 'null'
          description: Display name of the delegated author for this blog post
        delegatedAuthorUri:
          type:
          - string
          - 'null'
          description: Link to the WCMS profiel of the delegated author
        publisherUsername:
          type:
          - string
          - 'null'
          description: Username of the person publishing the content, not necessarily the author
      additionalProperties: false
      description: Model representing a WCMS blog post item
  securitySchemes:
    apiKey:
      type: apiKey
      description: Custom API key authentication
      name: x-api-key
      in: header