University of Waterloo Wcms API

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

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

university-of-waterloo-wcms-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Waterloo OpenData AcademicOrganizations 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
          description: Unique Id of this news item
          nullable: true
        title:
          type: string
          description: Title of the news item
          nullable: true
        postedDate:
          type: string
          description: Content created or posted date
          format: date-time
          nullable: true
        updatedDate:
          type: string
          description: Content updated date
          format: date-time
          nullable: true
        itemUri:
          type: string
          description: URI to the news item in WCMS
          nullable: true
        audience:
          type: string
          description: Intended audience tag(s)
          nullable: true
        content:
          type: string
          description: News item content, often with HTML markup
          nullable: true
      additionalProperties: false
      description: Model representing News data associated to a Site in the WCMS
    SiteBlogPost:
      type: object
      properties:
        siteId:
          type: integer
          description: Unique, numeric site ID
          format: int32
        uniqueKey:
          type: string
          description: Unique Id of this post item
          nullable: true
        title:
          type: string
          description: Title of the blog post
          nullable: true
        postedDate:
          type: string
          description: Content created or posted date
          format: date-time
          nullable: true
        updatedDate:
          type: string
          description: Content updated date
          format: date-time
          nullable: true
        itemUri:
          type: string
          description: URI to the item in WCMS
          nullable: true
        audience:
          type: string
          description: Intended audience tag(s)
          nullable: true
        content:
          type: string
          description: Blog post content, often with HTML markup
          nullable: true
        delegatedAuthorName:
          type: string
          description: Display name of the delegated author for this blog post
          nullable: true
        delegatedAuthorUri:
          type: string
          description: Link to the WCMS profiel of the delegated author
          nullable: true
        publisherUsername:
          type: string
          description: Username of the person publishing the content, not necessarily the author
          nullable: true
      additionalProperties: false
      description: Model representing a WCMS blog post item
    Site:
      type: object
      properties:
        siteId:
          type: integer
          description: Unique, numeric site ID
          format: int32
        relativeUri:
          type: string
          description: Relative URI of the site from the root uWaterloo CMS domain
          nullable: true
        name:
          type: string
          description: Display name of the Site
          nullable: true
        completeUri:
          type: string
          description: Complete URI of the site, including root domain
          nullable: true
        ownerUnitCode:
          type: string
          description: If available, the department owner code for this Site. Can loosely map to Academic Groups.
          nullable: true
        ownerUnitNameShort:
          type: string
          description: Short name of the department owner for this Site. See OwnerUnitCode for more.
          nullable: true
        ownerUnitNameFull:
          type: string
          description: Full name of the department owner for this Site. See OwnerUnitCode for more.
          nullable: true
        ownerGroupCode:
          type: string
          description: If available, the faculty owner code for this Site. Can loosely map to Academic Organization.
          nullable: true
        ownerType:
          type: string
          description: The tag describing the association of the owner department, such as academic, research, and more.
          nullable: true
      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
          description: Unique Id of this evevnt item
          nullable: true
        title:
          type: string
          description: Title of the event
          nullable: true
        eventStartDate:
          type: string
          description: Start date of the event
          format: date-time
          nullable: true
        eventEndDate:
          type: string
          description: End date of the event
          format: date-time
          nullable: true
        recurRule:
          type: string
          description: Description of the event recurrence rule
          nullable: true
        eventTimezone:
          type: string
          description: Time zone description of the event dates
          nullable: true
        itemUri:
          type: string
          description: Link to the Event
          nullable: true
        eventTags:
          type: string
          description: Tag(s) representing the event
          nullable: true
        eventType:
          type: string
          description: Type of the event
          nullable: true
        eventWebsite:
          type: string
          description: Supplemental URI for the event
          nullable: true
        audience:
          type: string
          description: Tag(s) representing the intended audience for the event
          nullable: true
        cost:
          type: string
          description: Cost of the event
          nullable: true
        host:
          type: string
          description: Event host information
          nullable: true
        locationId:
          type: integer
          description: Unique Id of the location hosting the event
          format: int32
          nullable: true
        locationName:
          type: string
          description: Display name of the location hosting the event
          nullable: true
        updatedDate:
          type: string
          description: Date item last updated
          format: date-time
          nullable: true
        content:
          type: string
          description: Description content for the event, often includes HTML markup
          nullable: true
      additionalProperties: false
      description: Model representing a WCMS Event item
  securitySchemes:
    apiKey:
      type: apiKey
      description: Custom API key authentication
      name: x-api-key
      in: header