Skip to content

Instantly share code, notes, and snippets.

@ikenna
Created September 10, 2022 15:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ikenna/fde588540db2a69dbc7d32f8db8fe1d6 to your computer and use it in GitHub Desktop.
Save ikenna/fde588540db2a69dbc7d32f8db8fe1d6 to your computer and use it in GitHub Desktop.
# Copied from https://github.com/columbia-it/django-jsonapi-training/blob/master/docs/schemas/openapi.yaml
openapi: 3.0.2
info:
version: 1.2.0
title: myapp
description: '![alt-text](https://cuit.columbia.edu/sites/default/files/logo/CUIT_Logo_286_web.jpg
"CUIT logo")
A sample API that uses courses as an example to demonstrate representing
[JSON:API 1.0](http://jsonapi.org/format) in the OpenAPI 3.0 specification.
See [https://columbia-it-django-jsonapi-training.readthedocs.io](https://columbia-it-django-jsonapi-training.readthedocs.io)
for more about this.
(c) 2018-2021 The Trustees of Columbia University in the City of New York
'
contact:
name: Alan Crosswell
license:
name: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
License
url: https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode
paths:
/v1/courses/:
get:
operationId: List/v1/courses/
description: "A course of instruction. e.g. COMSW1002 Computing in Context\n\
\ntesting [mkdocstrings](https://pawamoy.github.io/mkdocstrings):\n\nChanges\
\ from [sphinxcontrib.apidoc](https://github.com/sphinx-contrib/apidoc):\n\
\n* Uses markdown in docstring rather than RsT. Will require lots of changes\
\ to docstrings.\n* Must have a docstring under each member in order for it\
\ to show up in the docs:\n * `#:` does not implement apidoc-style comments\
\ for members."
parameters:
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[subject_area_code]
required: false
in: query
description: subject_area_code
schema:
type: string
- name: filter[subject_area_code.lt]
required: false
in: query
description: subject_area_code__lt
schema:
type: string
- name: filter[subject_area_code.gt]
required: false
in: query
description: subject_area_code__gt
schema:
type: string
- name: filter[subject_area_code.gte]
required: false
in: query
description: subject_area_code__gte
schema:
type: string
- name: filter[subject_area_code.lte]
required: false
in: query
description: subject_area_code__lte
schema:
type: string
- name: filter[subject_area_code.in]
required: false
in: query
description: subject_area_code__in
schema:
type: string
- name: filter[course_name]
required: false
in: query
description: course_name
schema:
type: string
- name: filter[course_name.icontains]
required: false
in: query
description: course_name__icontains
schema:
type: string
- name: filter[course_name.iexact]
required: false
in: query
description: course_name__iexact
schema:
type: string
- name: filter[course_name.contains]
required: false
in: query
description: course_name__contains
schema:
type: string
- name: filter[course_description.icontains]
required: false
in: query
description: course_description__icontains
schema:
type: string
- name: filter[course_description.iexact]
required: false
in: query
description: course_description__iexact
schema:
type: string
- name: filter[course_description.contains]
required: false
in: query
description: course_description__contains
schema:
type: string
- name: filter[course_description]
required: false
in: query
description: course_description
schema:
type: string
- name: filter[course_description.lt]
required: false
in: query
description: course_description__lt
schema:
type: string
- name: filter[course_description.gt]
required: false
in: query
description: course_description__gt
schema:
type: string
- name: filter[course_description.gte]
required: false
in: query
description: course_description__gte
schema:
type: string
- name: filter[course_description.lte]
required: false
in: query
description: course_description__lte
schema:
type: string
- name: filter[course_description.in]
required: false
in: query
description: course_description__in
schema:
type: string
- name: filter[course_identifier.icontains]
required: false
in: query
description: course_identifier__icontains
schema:
type: string
- name: filter[course_identifier.iexact]
required: false
in: query
description: course_identifier__iexact
schema:
type: string
- name: filter[course_identifier.contains]
required: false
in: query
description: course_identifier__contains
schema:
type: string
- name: filter[course_identifier]
required: false
in: query
description: course_identifier
schema:
type: string
- name: filter[course_identifier.lt]
required: false
in: query
description: course_identifier__lt
schema:
type: string
- name: filter[course_identifier.gt]
required: false
in: query
description: course_identifier__gt
schema:
type: string
- name: filter[course_identifier.gte]
required: false
in: query
description: course_identifier__gte
schema:
type: string
- name: filter[course_identifier.lte]
required: false
in: query
description: course_identifier__lte
schema:
type: string
- name: filter[course_identifier.in]
required: false
in: query
description: course_identifier__in
schema:
type: string
- name: filter[course_number]
required: false
in: query
description: course_number
schema:
type: string
- name: filter[course_terms.term_identifier]
required: false
in: query
description: course_terms__term_identifier
schema:
type: string
- name: filter[course_terms.term_identifier.lt]
required: false
in: query
description: course_terms__term_identifier__lt
schema:
type: string
- name: filter[course_terms.term_identifier.gt]
required: false
in: query
description: course_terms__term_identifier__gt
schema:
type: string
- name: filter[course_terms.term_identifier.gte]
required: false
in: query
description: course_terms__term_identifier__gte
schema:
type: string
- name: filter[course_terms.term_identifier.lte]
required: false
in: query
description: course_terms__term_identifier__lte
schema:
type: string
- name: filter[course_terms.term_identifier.in]
required: false
in: query
description: course_terms__term_identifier__in
schema:
type: string
- name: filter[school_bulletin_prefix_code]
required: false
in: query
description: school_bulletin_prefix_code
schema:
type: string
- name: filter[school_bulletin_prefix_code.regex]
required: false
in: query
description: school_bulletin_prefix_code__regex
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: List/v1/courses/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/Course'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
post:
operationId: create/v1/courses/
description: "A course of instruction. e.g. COMSW1002 Computing in Context\n\
\ntesting [mkdocstrings](https://pawamoy.github.io/mkdocstrings):\n\nChanges\
\ from [sphinxcontrib.apidoc](https://github.com/sphinx-contrib/apidoc):\n\
\n* Uses markdown in docstring rather than RsT. Will require lots of changes\
\ to docstrings.\n* Must have a docstring under each member in order for it\
\ to show up in the docs:\n * `#:` does not implement apidoc-style comments\
\ for members."
parameters: []
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
school_bulletin_prefix_code:
type: string
maxLength: 10
suffix_two:
type: string
description: two-character identifier suffix
maxLength: 2
subject_area_code:
type: string
description: Subject
maxLength: 10
course_number:
type: string
description: '"Shortcut" identifier (formerly for touch-tone
registration)'
maxLength: 10
course_identifier:
type: string
description: Course identifier (one-character suffix)
pattern: '[A-Z]{4}[0-9]{4}[A-Z]'
maxLength: 9
minLength: 9
course_name:
type: string
description: Course official title
maxLength: 80
course_description:
type: string
description: Course description
required:
- school_bulletin_prefix_code
- suffix_two
- subject_area_code
- course_number
- course_identifier
- course_name
- course_description
relationships:
type: object
properties:
course_terms:
$ref: '#/components/schemas/reltomany'
responses:
'201':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-201).
Assigned `id` and/or any other changes are in this response.'
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Course'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-204)
with the supplied `id`. No other changes from what was POSTed.'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-creating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict](https://jsonapi.org/format/#crud-creating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/courses/{id}/:
get:
operationId: retrieve/v1/courses/{id}/
description: "A course of instruction. e.g. COMSW1002 Computing in Context\n\
\ntesting [mkdocstrings](https://pawamoy.github.io/mkdocstrings):\n\nChanges\
\ from [sphinxcontrib.apidoc](https://github.com/sphinx-contrib/apidoc):\n\
\n* Uses markdown in docstring rather than RsT. Will require lots of changes\
\ to docstrings.\n* Must have a docstring under each member in order for it\
\ to show up in the docs:\n * `#:` does not implement apidoc-style comments\
\ for members."
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[subject_area_code]
required: false
in: query
description: subject_area_code
schema:
type: string
- name: filter[subject_area_code.lt]
required: false
in: query
description: subject_area_code__lt
schema:
type: string
- name: filter[subject_area_code.gt]
required: false
in: query
description: subject_area_code__gt
schema:
type: string
- name: filter[subject_area_code.gte]
required: false
in: query
description: subject_area_code__gte
schema:
type: string
- name: filter[subject_area_code.lte]
required: false
in: query
description: subject_area_code__lte
schema:
type: string
- name: filter[subject_area_code.in]
required: false
in: query
description: subject_area_code__in
schema:
type: string
- name: filter[course_name]
required: false
in: query
description: course_name
schema:
type: string
- name: filter[course_name.icontains]
required: false
in: query
description: course_name__icontains
schema:
type: string
- name: filter[course_name.iexact]
required: false
in: query
description: course_name__iexact
schema:
type: string
- name: filter[course_name.contains]
required: false
in: query
description: course_name__contains
schema:
type: string
- name: filter[course_description.icontains]
required: false
in: query
description: course_description__icontains
schema:
type: string
- name: filter[course_description.iexact]
required: false
in: query
description: course_description__iexact
schema:
type: string
- name: filter[course_description.contains]
required: false
in: query
description: course_description__contains
schema:
type: string
- name: filter[course_description]
required: false
in: query
description: course_description
schema:
type: string
- name: filter[course_description.lt]
required: false
in: query
description: course_description__lt
schema:
type: string
- name: filter[course_description.gt]
required: false
in: query
description: course_description__gt
schema:
type: string
- name: filter[course_description.gte]
required: false
in: query
description: course_description__gte
schema:
type: string
- name: filter[course_description.lte]
required: false
in: query
description: course_description__lte
schema:
type: string
- name: filter[course_description.in]
required: false
in: query
description: course_description__in
schema:
type: string
- name: filter[course_identifier.icontains]
required: false
in: query
description: course_identifier__icontains
schema:
type: string
- name: filter[course_identifier.iexact]
required: false
in: query
description: course_identifier__iexact
schema:
type: string
- name: filter[course_identifier.contains]
required: false
in: query
description: course_identifier__contains
schema:
type: string
- name: filter[course_identifier]
required: false
in: query
description: course_identifier
schema:
type: string
- name: filter[course_identifier.lt]
required: false
in: query
description: course_identifier__lt
schema:
type: string
- name: filter[course_identifier.gt]
required: false
in: query
description: course_identifier__gt
schema:
type: string
- name: filter[course_identifier.gte]
required: false
in: query
description: course_identifier__gte
schema:
type: string
- name: filter[course_identifier.lte]
required: false
in: query
description: course_identifier__lte
schema:
type: string
- name: filter[course_identifier.in]
required: false
in: query
description: course_identifier__in
schema:
type: string
- name: filter[course_number]
required: false
in: query
description: course_number
schema:
type: string
- name: filter[course_terms.term_identifier]
required: false
in: query
description: course_terms__term_identifier
schema:
type: string
- name: filter[course_terms.term_identifier.lt]
required: false
in: query
description: course_terms__term_identifier__lt
schema:
type: string
- name: filter[course_terms.term_identifier.gt]
required: false
in: query
description: course_terms__term_identifier__gt
schema:
type: string
- name: filter[course_terms.term_identifier.gte]
required: false
in: query
description: course_terms__term_identifier__gte
schema:
type: string
- name: filter[course_terms.term_identifier.lte]
required: false
in: query
description: course_terms__term_identifier__lte
schema:
type: string
- name: filter[course_terms.term_identifier.in]
required: false
in: query
description: course_terms__term_identifier__in
schema:
type: string
- name: filter[school_bulletin_prefix_code]
required: false
in: query
description: school_bulletin_prefix_code
schema:
type: string
- name: filter[school_bulletin_prefix_code.regex]
required: false
in: query
description: school_bulletin_prefix_code__regex
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: retrieve/v1/courses/{id}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Course'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
patch:
operationId: partial_update/v1/courses/{id}/
description: "A course of instruction. e.g. COMSW1002 Computing in Context\n\
\ntesting [mkdocstrings](https://pawamoy.github.io/mkdocstrings):\n\nChanges\
\ from [sphinxcontrib.apidoc](https://github.com/sphinx-contrib/apidoc):\n\
\n* Uses markdown in docstring rather than RsT. Will require lots of changes\
\ to docstrings.\n* Must have a docstring under each member in order for it\
\ to show up in the docs:\n * `#:` does not implement apidoc-style comments\
\ for members."
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
school_bulletin_prefix_code:
type: string
maxLength: 10
suffix_two:
type: string
description: two-character identifier suffix
maxLength: 2
subject_area_code:
type: string
description: Subject
maxLength: 10
course_number:
type: string
description: '"Shortcut" identifier (formerly for touch-tone
registration)'
maxLength: 10
course_identifier:
type: string
description: Course identifier (one-character suffix)
pattern: '[A-Z]{4}[0-9]{4}[A-Z]'
maxLength: 9
minLength: 9
course_name:
type: string
description: Course official title
maxLength: 80
course_description:
type: string
description: Course description
relationships:
type: object
properties:
course_terms:
$ref: '#/components/schemas/reltomany'
responses:
'200':
description: partial_update/v1/courses/{id}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Course'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-updating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-updating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict]([Conflict](https://jsonapi.org/format/#crud-updating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
delete:
operationId: destroy/v1/courses/{id}/
description: "A course of instruction. e.g. COMSW1002 Computing in Context\n\
\ntesting [mkdocstrings](https://pawamoy.github.io/mkdocstrings):\n\nChanges\
\ from [sphinxcontrib.apidoc](https://github.com/sphinx-contrib/apidoc):\n\
\n* Uses markdown in docstring rather than RsT. Will require lots of changes\
\ to docstrings.\n* Must have a docstring under each member in order for it\
\ to show up in the docs:\n * `#:` does not implement apidoc-style comments\
\ for members."
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
responses:
'200':
description: '[OK](https://jsonapi.org/format/#crud-deleting-responses-200)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/onlymeta'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[no content](https://jsonapi.org/format/#crud-deleting-responses-204)'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Resource does not exist](https://jsonapi.org/format/#crud-deleting-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/course_terms/:
get:
operationId: List/v1/course_terms/
description: 'A specific course term (year+semester) instance.
e.g. 20183COMSW1002'
parameters:
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[term_identifier]
required: false
in: query
description: term_identifier
schema:
type: string
- name: filter[term_identifier.lt]
required: false
in: query
description: term_identifier__lt
schema:
type: string
- name: filter[term_identifier.gt]
required: false
in: query
description: term_identifier__gt
schema:
type: string
- name: filter[term_identifier.gte]
required: false
in: query
description: term_identifier__gte
schema:
type: string
- name: filter[term_identifier.lte]
required: false
in: query
description: term_identifier__lte
schema:
type: string
- name: filter[term_identifier.in]
required: false
in: query
description: term_identifier__in
schema:
type: string
- name: filter[audit_permitted_code]
required: false
in: query
description: audit_permitted_code
schema:
type: string
- name: filter[exam_credit_flag]
required: false
in: query
description: exam_credit_flag
schema:
type: string
- name: filter[course.id]
required: false
in: query
description: course__id
schema:
type: string
- name: filter[course.id.lt]
required: false
in: query
description: course__id__lt
schema:
type: string
- name: filter[course.id.gt]
required: false
in: query
description: course__id__gt
schema:
type: string
- name: filter[course.id.gte]
required: false
in: query
description: course__id__gte
schema:
type: string
- name: filter[course.id.lte]
required: false
in: query
description: course__id__lte
schema:
type: string
- name: filter[course.id.in]
required: false
in: query
description: course__id__in
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: List/v1/course_terms/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/CourseTerm'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
post:
operationId: create/v1/course_terms/
description: 'A specific course term (year+semester) instance.
e.g. 20183COMSW1002'
parameters: []
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
term_identifier:
type: string
pattern: '[0-9]{4}[123][A-Z]{4}[0-9]{4}[A-Z]'
maxLength: 14
minLength: 14
audit_permitted_code:
type: integer
exam_credit_flag:
type: boolean
required:
- term_identifier
relationships:
type: object
properties:
course:
$ref: '#/components/schemas/reltoone'
instructors:
$ref: '#/components/schemas/reltomany'
responses:
'201':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-201).
Assigned `id` and/or any other changes are in this response.'
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/CourseTerm'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-204)
with the supplied `id`. No other changes from what was POSTed.'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-creating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict](https://jsonapi.org/format/#crud-creating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/course_terms/{id}/:
get:
operationId: retrieve/v1/course_terms/{id}/
description: 'A specific course term (year+semester) instance.
e.g. 20183COMSW1002'
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[term_identifier]
required: false
in: query
description: term_identifier
schema:
type: string
- name: filter[term_identifier.lt]
required: false
in: query
description: term_identifier__lt
schema:
type: string
- name: filter[term_identifier.gt]
required: false
in: query
description: term_identifier__gt
schema:
type: string
- name: filter[term_identifier.gte]
required: false
in: query
description: term_identifier__gte
schema:
type: string
- name: filter[term_identifier.lte]
required: false
in: query
description: term_identifier__lte
schema:
type: string
- name: filter[term_identifier.in]
required: false
in: query
description: term_identifier__in
schema:
type: string
- name: filter[audit_permitted_code]
required: false
in: query
description: audit_permitted_code
schema:
type: string
- name: filter[exam_credit_flag]
required: false
in: query
description: exam_credit_flag
schema:
type: string
- name: filter[course.id]
required: false
in: query
description: course__id
schema:
type: string
- name: filter[course.id.lt]
required: false
in: query
description: course__id__lt
schema:
type: string
- name: filter[course.id.gt]
required: false
in: query
description: course__id__gt
schema:
type: string
- name: filter[course.id.gte]
required: false
in: query
description: course__id__gte
schema:
type: string
- name: filter[course.id.lte]
required: false
in: query
description: course__id__lte
schema:
type: string
- name: filter[course.id.in]
required: false
in: query
description: course__id__in
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: retrieve/v1/course_terms/{id}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/CourseTerm'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
patch:
operationId: partial_update/v1/course_terms/{id}/
description: 'A specific course term (year+semester) instance.
e.g. 20183COMSW1002'
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
term_identifier:
type: string
pattern: '[0-9]{4}[123][A-Z]{4}[0-9]{4}[A-Z]'
maxLength: 14
minLength: 14
audit_permitted_code:
type: integer
exam_credit_flag:
type: boolean
relationships:
type: object
properties:
course:
$ref: '#/components/schemas/reltoone'
instructors:
$ref: '#/components/schemas/reltomany'
responses:
'200':
description: partial_update/v1/course_terms/{id}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/CourseTerm'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-updating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-updating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict]([Conflict](https://jsonapi.org/format/#crud-updating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
delete:
operationId: destroy/v1/course_terms/{id}/
description: 'A specific course term (year+semester) instance.
e.g. 20183COMSW1002'
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
responses:
'200':
description: '[OK](https://jsonapi.org/format/#crud-deleting-responses-200)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/onlymeta'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[no content](https://jsonapi.org/format/#crud-deleting-responses-204)'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Resource does not exist](https://jsonapi.org/format/#crud-deleting-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/people/:
get:
operationId: List/v1/people/
description: A person.
parameters:
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: List/v1/people/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/Person'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
post:
operationId: create/v1/people/
description: A person.
parameters: []
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
name:
type: string
maxLength: 100
required:
- name
relationships:
type: object
properties:
instructor:
$ref: '#/components/schemas/reltoone'
responses:
'201':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-201).
Assigned `id` and/or any other changes are in this response.'
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Person'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-204)
with the supplied `id`. No other changes from what was POSTed.'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-creating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict](https://jsonapi.org/format/#crud-creating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/people/{id}/:
get:
operationId: retrieve/v1/people/{id}/
description: A person.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: retrieve/v1/people/{id}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Person'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
patch:
operationId: partial_update/v1/people/{id}/
description: A person.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
name:
type: string
maxLength: 100
relationships:
type: object
properties:
instructor:
$ref: '#/components/schemas/reltoone'
responses:
'200':
description: partial_update/v1/people/{id}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Person'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-updating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-updating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict]([Conflict](https://jsonapi.org/format/#crud-updating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
delete:
operationId: destroy/v1/people/{id}/
description: A person.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
responses:
'200':
description: '[OK](https://jsonapi.org/format/#crud-deleting-responses-200)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/onlymeta'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[no content](https://jsonapi.org/format/#crud-deleting-responses-204)'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Resource does not exist](https://jsonapi.org/format/#crud-deleting-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/instructors/:
get:
operationId: List/v1/instructors/
description: An instructor.
parameters:
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[course_name]
required: false
in: query
description: course_name
schema:
type: string
- name: filter[course_name.gt]
required: false
in: query
description: course_name__gt
schema:
type: string
- name: filter[course_name.gte]
required: false
in: query
description: course_name__gte
schema:
type: string
- name: filter[course_name.lt]
required: false
in: query
description: course_name__lt
schema:
type: string
- name: filter[course_name.lte]
required: false
in: query
description: course_name__lte
schema:
type: string
- name: filter[name]
required: false
in: query
description: name
schema:
type: string
- name: filter[name.gt]
required: false
in: query
description: name__gt
schema:
type: string
- name: filter[name.gte]
required: false
in: query
description: name__gte
schema:
type: string
- name: filter[name.lt]
required: false
in: query
description: name__lt
schema:
type: string
- name: filter[name.lte]
required: false
in: query
description: name__lte
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: List/v1/instructors/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/Instructor'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
post:
operationId: create/v1/instructors/
description: An instructor.
parameters: []
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
type: object
required:
- type
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
relationships:
type: object
properties:
course_terms:
$ref: '#/components/schemas/reltomany'
person:
$ref: '#/components/schemas/reltoone'
responses:
'201':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-201).
Assigned `id` and/or any other changes are in this response.'
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Instructor'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-204)
with the supplied `id`. No other changes from what was POSTed.'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-creating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict](https://jsonapi.org/format/#crud-creating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/instructors/{id}/:
get:
operationId: retrieve/v1/instructors/{id}/
description: An instructor.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[course_name]
required: false
in: query
description: course_name
schema:
type: string
- name: filter[course_name.gt]
required: false
in: query
description: course_name__gt
schema:
type: string
- name: filter[course_name.gte]
required: false
in: query
description: course_name__gte
schema:
type: string
- name: filter[course_name.lt]
required: false
in: query
description: course_name__lt
schema:
type: string
- name: filter[course_name.lte]
required: false
in: query
description: course_name__lte
schema:
type: string
- name: filter[name]
required: false
in: query
description: name
schema:
type: string
- name: filter[name.gt]
required: false
in: query
description: name__gt
schema:
type: string
- name: filter[name.gte]
required: false
in: query
description: name__gte
schema:
type: string
- name: filter[name.lt]
required: false
in: query
description: name__lt
schema:
type: string
- name: filter[name.lte]
required: false
in: query
description: name__lte
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: retrieve/v1/instructors/{id}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Instructor'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
patch:
operationId: partial_update/v1/instructors/{id}/
description: An instructor.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
relationships:
type: object
properties:
course_terms:
$ref: '#/components/schemas/reltomany'
person:
$ref: '#/components/schemas/reltoone'
responses:
'200':
description: partial_update/v1/instructors/{id}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Instructor'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-updating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-updating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict]([Conflict](https://jsonapi.org/format/#crud-updating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
delete:
operationId: destroy/v1/instructors/{id}/
description: An instructor.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
responses:
'200':
description: '[OK](https://jsonapi.org/format/#crud-deleting-responses-200)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/onlymeta'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[no content](https://jsonapi.org/format/#crud-deleting-responses-204)'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Resource does not exist](https://jsonapi.org/format/#crud-deleting-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/courses/{id}/relationships/{related_field}/:
get:
operationId: retrieve/v1/courses/{id}/relationships/{related_field}/
description: View for courses.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: retrieve/v1/courses/{id}/relationships/{related_field}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
post:
operationId: create/v1/courses/{id}/relationships/{related_field}/
description: View for courses.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'201':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-201).
Assigned `id` and/or any other changes are in this response.'
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-204)
with the supplied `id`. No other changes from what was POSTed.'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-creating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict](https://jsonapi.org/format/#crud-creating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
patch:
operationId: partialUpdate/v1/courses/{id}/relationships/{related_field}/
description: View for courses.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'200':
description: partialUpdate/v1/courses/{id}/relationships/{related_field}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-updating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-updating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict]([Conflict](https://jsonapi.org/format/#crud-updating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
delete:
operationId: destroy/v1/courses/{id}/relationships/{related_field}/
description: View for courses.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'200':
description: '[OK](https://jsonapi.org/format/#crud-deleting-responses-200)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/onlymeta'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[no content](https://jsonapi.org/format/#crud-deleting-responses-204)'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Resource does not exist](https://jsonapi.org/format/#crud-deleting-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/courses/{id}/course_terms/:
get:
operationId: List/v1/courses/{id}/course_terms/
description: 'A specific course term (year+semester) instance.
e.g. 20183COMSW1002'
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[term_identifier]
required: false
in: query
description: term_identifier
schema:
type: string
- name: filter[term_identifier.lt]
required: false
in: query
description: term_identifier__lt
schema:
type: string
- name: filter[term_identifier.gt]
required: false
in: query
description: term_identifier__gt
schema:
type: string
- name: filter[term_identifier.gte]
required: false
in: query
description: term_identifier__gte
schema:
type: string
- name: filter[term_identifier.lte]
required: false
in: query
description: term_identifier__lte
schema:
type: string
- name: filter[term_identifier.in]
required: false
in: query
description: term_identifier__in
schema:
type: string
- name: filter[audit_permitted_code]
required: false
in: query
description: audit_permitted_code
schema:
type: string
- name: filter[exam_credit_flag]
required: false
in: query
description: exam_credit_flag
schema:
type: string
- name: filter[course.id]
required: false
in: query
description: course__id
schema:
type: string
- name: filter[course.id.lt]
required: false
in: query
description: course__id__lt
schema:
type: string
- name: filter[course.id.gt]
required: false
in: query
description: course__id__gt
schema:
type: string
- name: filter[course.id.gte]
required: false
in: query
description: course__id__gte
schema:
type: string
- name: filter[course.id.lte]
required: false
in: query
description: course__id__lte
schema:
type: string
- name: filter[course.id.in]
required: false
in: query
description: course__id__in
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: List/v1/courses/{id}/course_terms/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/CourseTerm'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/course_terms/{id}/relationships/{related_field}/:
get:
operationId: retrieve/v1/course_terms/{id}/relationships/{related_field}/
description: View for course_terms.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: retrieve/v1/course_terms/{id}/relationships/{related_field}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
post:
operationId: create/v1/course_terms/{id}/relationships/{related_field}/
description: View for course_terms.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'201':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-201).
Assigned `id` and/or any other changes are in this response.'
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-204)
with the supplied `id`. No other changes from what was POSTed.'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-creating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict](https://jsonapi.org/format/#crud-creating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
patch:
operationId: partialUpdate/v1/course_terms/{id}/relationships/{related_field}/
description: View for course_terms.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'200':
description: partialUpdate/v1/course_terms/{id}/relationships/{related_field}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-updating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-updating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict]([Conflict](https://jsonapi.org/format/#crud-updating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
delete:
operationId: destroy/v1/course_terms/{id}/relationships/{related_field}/
description: View for course_terms.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'200':
description: '[OK](https://jsonapi.org/format/#crud-deleting-responses-200)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/onlymeta'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[no content](https://jsonapi.org/format/#crud-deleting-responses-204)'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Resource does not exist](https://jsonapi.org/format/#crud-deleting-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/course_terms/{id}/course/:
get:
operationId: fetch/v1/course_terms/{id}/course/
description: "A course of instruction. e.g. COMSW1002 Computing in Context\n\
\ntesting [mkdocstrings](https://pawamoy.github.io/mkdocstrings):\n\nChanges\
\ from [sphinxcontrib.apidoc](https://github.com/sphinx-contrib/apidoc):\n\
\n* Uses markdown in docstring rather than RsT. Will require lots of changes\
\ to docstrings.\n* Must have a docstring under each member in order for it\
\ to show up in the docs:\n * `#:` does not implement apidoc-style comments\
\ for members."
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
responses:
'200':
description: fetch/v1/course_terms/{id}/course/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Course'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/course_terms/{id}/instructors/:
get:
operationId: List/v1/course_terms/{id}/instructors/
description: An instructor.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[course_name]
required: false
in: query
description: course_name
schema:
type: string
- name: filter[course_name.gt]
required: false
in: query
description: course_name__gt
schema:
type: string
- name: filter[course_name.gte]
required: false
in: query
description: course_name__gte
schema:
type: string
- name: filter[course_name.lt]
required: false
in: query
description: course_name__lt
schema:
type: string
- name: filter[course_name.lte]
required: false
in: query
description: course_name__lte
schema:
type: string
- name: filter[name]
required: false
in: query
description: name
schema:
type: string
- name: filter[name.gt]
required: false
in: query
description: name__gt
schema:
type: string
- name: filter[name.gte]
required: false
in: query
description: name__gte
schema:
type: string
- name: filter[name.lt]
required: false
in: query
description: name__lt
schema:
type: string
- name: filter[name.lte]
required: false
in: query
description: name__lte
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: List/v1/course_terms/{id}/instructors/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/Instructor'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/people/{id}/relationships/{related_field}/:
get:
operationId: retrieve/v1/people/{id}/relationships/{related_field}/
description: View for people.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: retrieve/v1/people/{id}/relationships/{related_field}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
post:
operationId: create/v1/people/{id}/relationships/{related_field}/
description: View for people.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'201':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-201).
Assigned `id` and/or any other changes are in this response.'
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-204)
with the supplied `id`. No other changes from what was POSTed.'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-creating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict](https://jsonapi.org/format/#crud-creating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
patch:
operationId: partialUpdate/v1/people/{id}/relationships/{related_field}/
description: View for people.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'200':
description: partialUpdate/v1/people/{id}/relationships/{related_field}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-updating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-updating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict]([Conflict](https://jsonapi.org/format/#crud-updating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
delete:
operationId: destroy/v1/people/{id}/relationships/{related_field}/
description: View for people.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'200':
description: '[OK](https://jsonapi.org/format/#crud-deleting-responses-200)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/onlymeta'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[no content](https://jsonapi.org/format/#crud-deleting-responses-204)'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Resource does not exist](https://jsonapi.org/format/#crud-deleting-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/people/{id}/instructor/:
get:
operationId: fetch/v1/people/{id}/instructor/
description: An instructor.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
responses:
'200':
description: fetch/v1/people/{id}/instructor/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Instructor'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/instructors/{id}/relationships/{related_field}/:
get:
operationId: retrieve/v1/instructors/{id}/relationships/{related_field}/
description: View for instructors.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: retrieve/v1/instructors/{id}/relationships/{related_field}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
post:
operationId: create/v1/instructors/{id}/relationships/{related_field}/
description: View for instructors.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'201':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-201).
Assigned `id` and/or any other changes are in this response.'
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[Created](https://jsonapi.org/format/#crud-creating-responses-204)
with the supplied `id`. No other changes from what was POSTed.'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-creating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-creating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict](https://jsonapi.org/format/#crud-creating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
patch:
operationId: partialUpdate/v1/instructors/{id}/relationships/{related_field}/
description: View for instructors.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'200':
description: partialUpdate/v1/instructors/{id}/relationships/{related_field}/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'403':
description: '[Forbidden](https://jsonapi.org/format/#crud-updating-responses-403)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Related resource does not exist](https://jsonapi.org/format/#crud-updating-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'409':
description: '[Conflict]([Conflict](https://jsonapi.org/format/#crud-updating-responses-409)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
delete:
operationId: destroy/v1/instructors/{id}/relationships/{related_field}/
description: View for instructors.relationships
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- name: related_field
in: path
required: true
description: ''
schema:
type: string
requestBody:
content:
application/vnd.api+json:
schema:
required:
- data
properties:
data:
$ref: '#/components/schemas/ResourceIdentifierObject'
responses:
'200':
description: '[OK](https://jsonapi.org/format/#crud-deleting-responses-200)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/onlymeta'
'202':
description: Accepted for [asynchronous processing](https://jsonapi.org/recommendations/#asynchronous-processing)
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/datum'
'204':
description: '[no content](https://jsonapi.org/format/#crud-deleting-responses-204)'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: '[Resource does not exist](https://jsonapi.org/format/#crud-deleting-responses-404)'
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/instructors/{id}/course_terms/:
get:
operationId: List/v1/instructors/{id}/course_terms/
description: 'A specific course term (year+semester) instance.
e.g. 20183COMSW1002'
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
- name: page[number]
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page[size]
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: filter[id]
required: false
in: query
description: id
schema:
type: string
- name: filter[id.lt]
required: false
in: query
description: id__lt
schema:
type: string
- name: filter[id.gt]
required: false
in: query
description: id__gt
schema:
type: string
- name: filter[id.gte]
required: false
in: query
description: id__gte
schema:
type: string
- name: filter[id.lte]
required: false
in: query
description: id__lte
schema:
type: string
- name: filter[id.in]
required: false
in: query
description: id__in
schema:
type: string
- name: filter[term_identifier]
required: false
in: query
description: term_identifier
schema:
type: string
- name: filter[term_identifier.lt]
required: false
in: query
description: term_identifier__lt
schema:
type: string
- name: filter[term_identifier.gt]
required: false
in: query
description: term_identifier__gt
schema:
type: string
- name: filter[term_identifier.gte]
required: false
in: query
description: term_identifier__gte
schema:
type: string
- name: filter[term_identifier.lte]
required: false
in: query
description: term_identifier__lte
schema:
type: string
- name: filter[term_identifier.in]
required: false
in: query
description: term_identifier__in
schema:
type: string
- name: filter[audit_permitted_code]
required: false
in: query
description: audit_permitted_code
schema:
type: string
- name: filter[exam_credit_flag]
required: false
in: query
description: exam_credit_flag
schema:
type: string
- name: filter[course.id]
required: false
in: query
description: course__id
schema:
type: string
- name: filter[course.id.lt]
required: false
in: query
description: course__id__lt
schema:
type: string
- name: filter[course.id.gt]
required: false
in: query
description: course__id__gt
schema:
type: string
- name: filter[course.id.gte]
required: false
in: query
description: course__id__gte
schema:
type: string
- name: filter[course.id.lte]
required: false
in: query
description: course__id__lte
schema:
type: string
- name: filter[course.id.in]
required: false
in: query
description: course__id__in
schema:
type: string
- name: filter[search]
required: false
in: query
description: A search term.
schema:
type: string
responses:
'200':
description: List/v1/instructors/{id}/course_terms/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/CourseTerm'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
/v1/instructors/{id}/person/:
get:
operationId: fetch/v1/instructors/{id}/person/
description: A person.
parameters:
- name: id
in: path
required: true
description: globally unique id (UUID4)
schema:
type: string
- $ref: '#/components/parameters/include'
- $ref: '#/components/parameters/fields'
- $ref: '#/components/parameters/sort'
responses:
'200':
description: fetch/v1/instructors/{id}/person/
content:
application/vnd.api+json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Person'
included:
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/resource'
links:
description: Link members related to primary data
allOf:
- $ref: '#/components/schemas/links'
- $ref: '#/components/schemas/pagination'
jsonapi:
$ref: '#/components/schemas/jsonapi'
'401':
description: not authorized
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
'404':
description: not found
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/failure'
components:
schemas:
jsonapi:
type: object
description: The server's implementation
properties:
version:
type: string
meta:
$ref: '#/components/schemas/meta'
additionalProperties: false
resource:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
attributes:
type: object
relationships:
type: object
links:
$ref: '#/components/schemas/links'
meta:
$ref: '#/components/schemas/meta'
link:
oneOf:
- description: a string containing the link's URL
type: string
format: uri-reference
- type: object
required:
- href
properties:
href:
description: a string containing the link's URL
type: string
format: uri-reference
meta:
$ref: '#/components/schemas/meta'
links:
type: object
additionalProperties:
$ref: '#/components/schemas/link'
reltoone:
description: a singular 'to-one' relationship
type: object
properties:
links:
$ref: '#/components/schemas/relationshipLinks'
data:
$ref: '#/components/schemas/relationshipToOne'
meta:
$ref: '#/components/schemas/meta'
relationshipToOne:
description: reference to other resource in a to-one relationship
anyOf:
- $ref: '#/components/schemas/nulltype'
- $ref: '#/components/schemas/linkage'
reltomany:
description: a multiple 'to-many' relationship
type: object
properties:
links:
$ref: '#/components/schemas/relationshipLinks'
data:
$ref: '#/components/schemas/relationshipToMany'
meta:
$ref: '#/components/schemas/meta'
relationshipLinks:
description: optional references to other resource objects
type: object
additionalProperties: true
properties:
self:
$ref: '#/components/schemas/link'
related:
$ref: '#/components/schemas/link'
relationshipToMany:
description: An array of objects each containing the 'type' and 'id' for to-many
relationships
type: array
items:
$ref: '#/components/schemas/linkage'
uniqueItems: true
ResourceIdentifierObject:
oneOf:
- $ref: '#/components/schemas/relationshipToOne'
- $ref: '#/components/schemas/relationshipToMany'
linkage:
type: object
description: the 'type' and 'id'
required:
- type
- id
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
meta:
$ref: '#/components/schemas/meta'
pagination:
type: object
properties:
first:
$ref: '#/components/schemas/pageref'
last:
$ref: '#/components/schemas/pageref'
prev:
$ref: '#/components/schemas/pageref'
next:
$ref: '#/components/schemas/pageref'
pageref:
oneOf:
- type: string
format: uri-reference
- $ref: '#/components/schemas/nulltype'
failure:
type: object
required:
- errors
properties:
errors:
$ref: '#/components/schemas/errors'
meta:
$ref: '#/components/schemas/meta'
jsonapi:
$ref: '#/components/schemas/jsonapi'
links:
$ref: '#/components/schemas/links'
errors:
type: array
items:
$ref: '#/components/schemas/error'
uniqueItems: true
error:
type: object
additionalProperties: false
properties:
id:
type: string
status:
type: string
links:
$ref: '#/components/schemas/links'
code:
type: string
title:
type: string
detail:
type: string
source:
type: object
properties:
pointer:
type: string
description: A [JSON Pointer](https://tools.ietf.org/html/rfc6901) to
the associated entity in the request document [e.g. `/data` for a
primary data object, or `/data/attributes/title` for a specific attribute.
parameter:
type: string
description: A string indicating which query parameter caused the error.
meta:
$ref: '#/components/schemas/meta'
onlymeta:
additionalProperties: false
properties:
meta:
$ref: '#/components/schemas/meta'
meta:
type: object
additionalProperties: true
datum:
description: singular item
properties:
data:
$ref: '#/components/schemas/resource'
nulltype:
type: object
nullable: true
default: null
type:
type: string
description: The [type](https://jsonapi.org/format/#document-resource-object-identification)
member is used to describe resource objects that share common attributes and
relationships.
id:
type: string
description: "Each resource object\u2019s type and id pair MUST [identify](https://jsonapi.org/format/#document-resource-object-identification)\
\ a single, unique resource."
Course:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
last_mod_user_name:
type: string
readOnly: true
description: who last modified this instance
last_mod_date:
type: string
format: date
readOnly: true
description: when they modified it
school_bulletin_prefix_code:
type: string
maxLength: 10
suffix_two:
type: string
description: two-character identifier suffix
maxLength: 2
subject_area_code:
type: string
description: Subject
maxLength: 10
course_number:
type: string
description: '"Shortcut" identifier (formerly for touch-tone registration)'
maxLength: 10
course_identifier:
type: string
description: Course identifier (one-character suffix)
pattern: '[A-Z]{4}[0-9]{4}[A-Z]'
maxLength: 9
minLength: 9
course_name:
type: string
description: Course official title
maxLength: 80
course_description:
type: string
description: Course description
required:
- school_bulletin_prefix_code
- suffix_two
- subject_area_code
- course_number
- course_identifier
- course_name
- course_description
relationships:
type: object
properties:
course_terms:
$ref: '#/components/schemas/reltomany'
CourseTerm:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
last_mod_user_name:
type: string
readOnly: true
description: who last modified this instance
last_mod_date:
type: string
format: date
readOnly: true
description: when they modified it
term_identifier:
type: string
pattern: '[0-9]{4}[123][A-Z]{4}[0-9]{4}[A-Z]'
maxLength: 14
minLength: 14
audit_permitted_code:
type: integer
exam_credit_flag:
type: boolean
required:
- term_identifier
relationships:
type: object
properties:
course:
$ref: '#/components/schemas/reltoone'
instructors:
$ref: '#/components/schemas/reltomany'
Person:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
last_mod_user_name:
type: string
readOnly: true
description: who last modified this instance
last_mod_date:
type: string
format: date
readOnly: true
description: when they modified it
name:
type: string
maxLength: 100
required:
- name
relationships:
type: object
properties:
instructor:
$ref: '#/components/schemas/reltoone'
Instructor:
type: object
required:
- type
- id
additionalProperties: false
properties:
type:
$ref: '#/components/schemas/type'
id:
$ref: '#/components/schemas/id'
links:
type: object
properties:
self:
$ref: '#/components/schemas/link'
attributes:
type: object
properties:
effective_start_date:
type: string
format: date
nullable: true
description: date when this instance becomes valid
effective_end_date:
type: string
format: date
nullable: true
description: date when this instance becomes invalid
last_mod_user_name:
type: string
readOnly: true
description: who last modified this instance
last_mod_date:
type: string
format: date
readOnly: true
description: when they modified it
relationships:
type: object
properties:
course_terms:
$ref: '#/components/schemas/reltomany'
person:
$ref: '#/components/schemas/reltoone'
parameters:
include:
name: include
in: query
description: '[list of included related resources](https://jsonapi.org/format/#fetching-includes)'
required: false
style: form
schema:
type: string
fields:
name: fields
in: query
description: '[sparse fieldsets](https://jsonapi.org/format/#fetching-sparse-fieldsets).
Use fields[\<typename\>]=field1,field2,...,fieldN'
required: false
style: deepObject
schema:
type: object
explode: true
sort:
name: sort
in: query
description: '[list of fields to sort by](https://jsonapi.org/format/#fetching-sorting)'
required: false
style: form
schema:
type: string
securitySchemes:
basicAuth:
type: http
scheme: basic
description: basic authentication
sessionAuth:
type: apiKey
in: cookie
name: JSESSIONID
description: Session authentication
oauth-test:
type: oauth2
description: test OAuth2 service
flows:
authorizationCode:
authorizationUrl: https://oauth-test.cc.columbia.edu/as/authorization.oauth2
tokenUrl: https://oauth-test.cc.columbia.edu/as/token.oauth2
scopes:
auth-columbia: Columbia UNI login
create: create
read: read
update: update
delete: delete
openid: disclose your identity
profile: your user profile
email: your email address
https://api.columbia.edu/scope/group: groups you are a member of
demo-djt-sla-bronze: 'permitted to access the django-jsonapi-training
demo: 1 request per second'
demo-djt-sla-update: permitted to update the django-jsonapi-training resources
oauth-dev:
type: oauth2
description: dev OAuth2 service
flows:
authorizationCode:
authorizationUrl: https://oauth-dev.cuit.columbia.edu:8443/as/authorization.oauth2
tokenUrl: https://oauth-dev.cuit.columbia.edu:8443/as/token.oauth2
scopes:
auth-columbia: Columbia UNI login
create: create
read: read
update: update
delete: delete
openid: disclose your identity
profile: your user profile
email: your email address
https://api.columbia.edu/scope/group: groups you are a member of
demo-djt-sla-bronze: 'permitted to access the django-jsonapi-training
demo: 1 request per second'
demo-djt-sla-update: permitted to update the django-jsonapi-training resources
oauth-local:
type: oauth2
description: local DOT OAuth2 service
flows:
authorizationCode:
authorizationUrl: http://localhost:8000/o/authorize/
tokenUrl: http://localhost:8000/o/token/
scopes:
auth-columbia: Columbia UNI login
create: create
read: read
update: update
delete: delete
openid: disclose your identity
profile: your user profile
email: your email address
https://api.columbia.edu/scope/group: groups you are a member of
demo-djt-sla-bronze: 'permitted to access the django-jsonapi-training
demo: 1 request per second'
demo-djt-sla-update: permitted to update the django-jsonapi-training resources
servers:
- url: http://localhost:8000
description: local dev
- url: https://localhost
description: local docker
- url: https://ac45devapp01.cc.columbia.edu
description: demo
- url: '{serverURL}'
description: provide your server URL
variables:
serverURL:
default: http://localhost:8000
security:
- basicAuth: []
- sessionAuth: []
- oauth-test:
- - auth-columbia
- openid
- https://api.columbia.edu/scope/group
- oauth-dev:
- - auth-columbia
- openid
- https://api.columbia.edu/scope/group
- oauth-local:
- - auth-columbia
- openid
- https://api.columbia.edu/scope/group
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment