openapi: 3.0.1 info: title: IdCard Web Service (IdCardWS) Campus Degree API description: IdCard Web Service (IdCardWS) provides a RESTful API to UW IdCard data. Subscribe to http://mailman.u.washington.edu/mailman/listinfo/idcardws-users to get notifications about planned outages, support and the announcement of new features. contact: name: Enterprise Web Services & Events Team url: https://itconnect.uw.edu/service/enterprise-web-services-and-events/ email: idcardws-support@uw.edu version: v1 servers: - url: /idcard tags: - name: Degree paths: /v5/degree/{major_abbr},{pathway},{level},{type},{year},{quarter}: get: tags: - Degree summary: Get a specific degree program that matches the supplied parameters description: "
\r\n {\r\n \"DisplayTitle\" : \"Degree\",\r\n \"ews_guid\" : \"7106549C-4066-485F-B6CA-2B03BF2D5D05\",\r\n \"LongDescription\" : \"Return a specific degree program that matches the supplied parameters\",\r\n \"ShortDescription\" : \"Return a specific degree program\",\r\n \"OriginatingSchema\" : [ { \"source\":\"swssdb\" } ],\r\n \"Notes\" : \"This resource requires any of the following ASTRA roles:\r\n - sws:Support\r\n - sws:UnitReader\r\n This resource supports the following authentication types:\r\n - X.509 Certificate\r\n - NetID\r\n - AccessToken\r\n A student can be enrolled in multiple degrees. Degrees are children of Programs (major/pathway).\",\r\n \"Links\" : [ \"https://metadata.uw.edu/Catalog/ViewItem/Term/studentdata.degree\" ],\r\n \"Synonyms\" : []\r\n }\r\n "
operationId: GetDegree
parameters:
- name: major_abbr
in: path
description: ''
required: true
schema:
type: string
default: ''
- name: pathway
in: path
description: ''
required: true
schema:
type: string
default: ''
- name: level
in: path
description: ''
required: true
schema:
type: string
default: ''
- name: type
in: path
description: ''
required: true
schema:
type: string
default: ''
- name: year
in: path
description: 'The 4 digit year. For example: 2025'
required: true
schema:
maxLength: 4
minLength: 4
type: string
default: ''
- name: quarter
in: query
description: 'The 1 digit quarter. For example: 0=Default, 1=winter, 2=spring, 3=summer, 4=autumn'
schema:
maxLength: 6
minLength: 6
type: string
default: ''
responses:
'400':
description: 'Invalid arg: year | Invalid arg: quarter'
'200':
description: OK
content:
text/html:
schema:
$ref: '#/components/schemas/DegreeViewModel'
application/xml:
schema:
$ref: '#/components/schemas/DegreeViewModel'
text/xml:
schema:
$ref: '#/components/schemas/DegreeViewModel'
text/plain:
schema:
$ref: '#/components/schemas/DegreeViewModel'
application/json:
schema:
$ref: '#/components/schemas/DegreeViewModel'
text/json:
schema:
$ref: '#/components/schemas/DegreeViewModel'
'202':
description: Accepted
'301':
description: MovedPermanently
'302':
description: Found
'304':
description: NotModified
'401':
description: Identity '{identity}' is not authorized to access this resource.
'405':
description: MethodNotAllowed
'500':
description: InternalServerError
'503':
description: ServiceUnavailable
/v5/degree:
get:
tags:
- Degree
summary: Search for a degree program that matches the supplied parameters
description: "\r\n {\r\n \"DisplayTitle\" : \"Degree Search\",\r\n \"ews_guid\" : \"F830EF22-38C3-4279-A199-9C8A8038C149\",\r\n \"LongDescription\" : \"Search for a degree program that matches the supplied parameters\",\r\n \"ShortDescription\" : \"Search for a degree program\",\r\n \"OriginatingSchema\" : [ { \"source\":\"swssdb\" } ],\r\n \"Notes\" : \"This resource requires any of the following ASTRA roles:\r\n - sws:Support\r\n - sws:UnitReader\r\n This resource supports the following authentication types:\r\n - X.509 Certificate\r\n - NetID\r\n - AccessToken\r\n A student can be enrolled in multiple degrees. Degrees are children of Programs (major/pathway).\",\r\n \"Links\" : [ \"https://metadata.uw.edu/Catalog/ViewItem/Term/studentdata.degree\" ],\r\n \"Synonyms\" : []\r\n }\r\n "
operationId: DegreeSearch
parameters:
- name: campus
in: query
description: ''
schema:
type: string
default: ''
- name: major_abbr
in: query
description: ''
schema:
type: string
default: ''
- name: pathway
in: query
description: ''
schema:
type: string
default: ''
- name: year
in: query
description: 'The 4 digit year. For example: 2025'
schema:
type: string
default: ''
- name: quarter
in: query
description: 'The 1 digit quarter. For example: 0=Default, 1=winter, 2=spring, 3=summer, 4=autumn'
schema:
type: string
default: ''
- name: page_size
in: query
description: ''
schema:
type: string
default: ''
- name: page_start
in: query
description: ''
schema:
type: string
default: ''
responses:
'400':
description: 'Invalid arg: year | Invalid arg: quarter | Invalid arg: major_abbr | Invalid arg: pathway'
'200':
description: OK
content:
text/html:
schema:
$ref: '#/components/schemas/DegreeSearchViewModel'
application/xml:
schema:
$ref: '#/components/schemas/DegreeSearchViewModel'
text/xml:
schema:
$ref: '#/components/schemas/DegreeSearchViewModel'
text/plain:
schema:
$ref: '#/components/schemas/DegreeSearchViewModel'
application/json:
schema:
$ref: '#/components/schemas/DegreeSearchViewModel'
text/json:
schema:
$ref: '#/components/schemas/DegreeSearchViewModel'
'202':
description: Accepted
'301':
description: MovedPermanently
'302':
description: Found
'304':
description: NotModified
'401':
description: Identity '{identity}' is not authorized to access this resource.
'405':
description: MethodNotAllowed
'500':
description: InternalServerError
'503':
description: ServiceUnavailable
components:
schemas:
ProgramResourceUri:
type: object
properties:
Href:
type: string
nullable: true
MajorAbbreviation:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_abbr\" }\r\n ],\r\n \"TechnicalDescription\": \"Major Abbreviation\"\r\n }\r\n "
nullable: true
Pathway:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_pathway\" }\r\n ],\r\n \"TechnicalDescription\": \"Pathway\"\r\n }\r\n "
nullable: true
Year:
type: integer
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_first_yr\" },\r\n { \"source\":\"SWSSDB.sr_major_code.major_last_yr\" }\r\n ],\r\n \"TechnicalDescription\": \"Year\"\r\n }\r\n "
format: int32
Quarter:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_first_qtr\" },\r\n { \"source\":\"SWSSDB.sr_major_code.major_last_qtr\" }\r\n ],\r\n \"TechnicalDescription\": \"Quarter\"\r\n }\r\n "
nullable: true
additionalProperties: false
description: "{\r\n \"DisplayTitle\" : \"Program Resource URI\",\r\n \"TargetSchema\" : [{\"target\" : \"SWS.Program\"}],\r\n \"TargetOperationId\" : [\"GetProgram\"]\r\n}"
DegreeSearchResourceUri:
type: object
properties:
CampusShortName:
type: string
nullable: true
Year:
type: integer
format: int32
Quarter:
type: string
nullable: true
Pathway:
type: string
nullable: true
MajorAbbreviation:
type: string
nullable: true
PageStart:
type: string
nullable: true
PageSize:
type: string
nullable: true
Href:
type: string
nullable: true
additionalProperties: false
description: "{\r\n \"DisplayTitle\" : \"Degree Search Resource URI\",\r\n \"TargetSchema\" : [{\"target\" : \"SWS.Degree\"}],\r\n \"TargetOperationId\" : [\"DegreeSearch\"]\r\n}"
DepartmentViewModel:
type: object
properties:
CollegeAbbreviation:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_dept_code.dept_college\" }\r\n ],\r\n \"TechnicalDescription\": \"College Abbreviation\"\r\n }\r\n "
nullable: true
DepartmentAbbreviation:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_dept_code.dept_abbr\" }\r\n ],\r\n \"TechnicalDescription\": \"Department Abbreviation\"\r\n }\r\n "
nullable: true
DepartmentFullName:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_dept_code.dept_full_nm\" }\r\n ],\r\n \"TechnicalDescription\": \"Department Full Name\"\r\n }\r\n "
nullable: true
additionalProperties: false
description: "{\r\n \"DisplayTitle\" : \"Department Model\",\r\n \"TargetSchema\" : [{\"target\" : \"SWS.Department\"}]\r\n}"
DegreeSearchViewModel:
type: object
properties:
Current:
$ref: '#/components/schemas/DegreeSearchResourceUri'
Next:
$ref: '#/components/schemas/DegreeSearchResourceUri'
Previous:
$ref: '#/components/schemas/DegreeSearchResourceUri'
TotalCount:
type: integer
format: int32
Degrees:
type: array
items:
$ref: '#/components/schemas/DegreeViewModel'
nullable: true
readOnly: true
additionalProperties: false
description: "{\r\n \"DisplayTitle\" : \"Degree Search Model\",\r\n \"TargetSchema\" : [{\"target\" : \"SWS.Degree\"}]\r\n}"
TermResourceUri:
type: object
properties:
Href:
type: string
nullable: true
Year:
type: integer
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_last_yr\" },\r\n { \"source\":\"SWSSDB.sr_major_code.major_first_yr\" },\r\n { \"source\":\"SWSSDB.sys_tbl_39_calendar.table_key\" },\r\n { \"source\":\"SWSSDB.student_1.last_yr_enrolled\" },\r\n { \"source\":\"SDB.SWI610.trm/yr\" },\r\n { \"source\":\"SWSSDB.sr_course_titles.first_eff_yr\" },\r\n { \"source\":\"UWEO.selSWSRegistrations.FirstEffectiveTerm/Year\"}\r\n ],\r\n \"TechnicalDescription\": \"Year for the given term\"\r\n }\r\n "
format: int32
Quarter:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_last_qtr\" },\r\n { \"source\":\"SWSSDB.sr_major_code.major_first_qtr\" },\r\n { \"source\":\"SWSSDB.sys_tbl_39_calendar.table_key\" },\r\n { \"source\":\"SWSSDB.student_1.last_qtr_enrolled\" },\r\n { \"source\":\"SDB.SWI610.trm/qtr\" },\r\n { \"source\":\"SWSSDB.sr_course_titles.first_eff_qtr\" },\r\n { \"source\":\"UWEO.selSWSRegistrations.FirstEffectiveTerm/Quarter\"}\r\n ],\r\n \"TechnicalDescription\": \"Quarter for the given term\"\r\n }\r\n "
nullable: true
additionalProperties: false
description: "{\r\n \"DisplayTitle\" : \"Term Resource URI\",\r\n \"TargetSchema\" : [{\"target\" : \"SWS.Term\"}],\r\n \"TargetOperationId\" : [\"GetTerm\"]\r\n}"
DegreeResourceUri:
type: object
properties:
Href:
type: string
nullable: true
MajorAbbreviation:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_abbr\" }\r\n ],\r\n \"TechnicalDescription\": \"Major Abbreviation\"\r\n }\r\n "
nullable: true
Pathway:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_pathway\" }\r\n ],\r\n \"TechnicalDescription\": \"Pathway\"\r\n }\r\n "
nullable: true
DegreeLevel:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_degree.deg_level\" }\r\n ],\r\n \"TechnicalDescription\": \"Degree Level\"\r\n }\r\n "
nullable: true
DegreeType:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_degree.deg_type\" }\r\n ],\r\n \"TechnicalDescription\": \"Degree Type\"\r\n }\r\n "
nullable: true
Year:
type: integer
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_degree.deg_first_yr\" },\r\n { \"source\":\"SWSSDB.sr_degree.deg_last_yr\" }\r\n ],\r\n \"TechnicalDescription\": \"Year\"\r\n }\r\n "
format: int32
Quarter:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_degree.deg_first_qtr\" },\r\n { \"source\":\"SWSSDB.sr_degree.deg_last_qtr\" }\r\n ],\r\n \"TechnicalDescription\": \"Quarter\"\r\n }\r\n "
nullable: true
additionalProperties: false
description: "{\r\n \"DisplayTitle\" : \"Degree Resource URI\",\r\n \"TargetSchema\" : [{\"target\" : \"SWS.Degree\"}],\r\n \"TargetOperationId\" : [\"GetDegree\"]\r\n}"
ProgramViewModel:
type: object
properties:
ProgramUri:
$ref: '#/components/schemas/ProgramResourceUri'
Department:
$ref: '#/components/schemas/DepartmentViewModel'
MajorFullName:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_full_nm\" }\r\n ],\r\n \"TechnicalDescription\": \"Full name\"\r\n }\r\n "
nullable: true
MajorName:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_name\" }\r\n ],\r\n \"TechnicalDescription\": \"Name\"\r\n }\r\n "
nullable: true
MajorShortName:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_short_nm\" }\r\n ],\r\n \"TechnicalDescription\": \"Short name\"\r\n }\r\n "
nullable: true
Pathway:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_major_code.major_pathway\" }\r\n ],\r\n \"TechnicalDescription\": \"Pathway\"\r\n }\r\n "
nullable: true
FirstEffectiveTerm:
$ref: '#/components/schemas/TermResourceUri'
LastEffectiveTerm:
$ref: '#/components/schemas/TermResourceUri'
Href:
type: string
nullable: true
additionalProperties: false
description: "{\r\n \"DisplayTitle\" : \"Program Model\",\r\n \"TargetSchema\" : [{\"target\" : \"SWS.Program\"}]\r\n}"
DegreeViewModel:
type: object
properties:
DegreeUri:
$ref: '#/components/schemas/DegreeResourceUri'
Program:
$ref: '#/components/schemas/ProgramViewModel'
Campus:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sys_tbl_25_campus.branch_name\" }\r\n ],\r\n \"TechnicalDescription\": \"Campus name\"\r\n }\r\n "
nullable: true
DegreeLevel:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_degree.deg_level\" }\r\n ],\r\n \"TechnicalDescription\": \"Degree level\"\r\n }\r\n "
nullable: true
DegreeType:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_degree.deg_type\" }\r\n ],\r\n \"TechnicalDescription\": \"Degree type\"\r\n }\r\n "
nullable: true
Title:
type: string
description: "\r\n {\r\n \"OriginatingSchema\" : [\r\n { \"source\":\"SWSSDB.sr_degree.deg_title\" }\r\n ],\r\n \"TechnicalDescription\": \"Title\"\r\n }\r\n "
nullable: true
FirstEffectiveTerm:
$ref: '#/components/schemas/TermResourceUri'
LastEffectiveTerm:
$ref: '#/components/schemas/TermResourceUri'
Href:
type: string
nullable: true
additionalProperties: false
description: "{\r\n \"DisplayTitle\" : \"Degree Model\",\r\n \"TargetSchema\" : [{\"target\" : \"SWS.Degree\"}]\r\n}"