Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/university-of-washington-program-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Student Web Service (SWS) Program API
description: Student Web Service (SWS) provides a RESTful API to access and update central student data. Subscribe to http://mailman.u.washington.edu/mailman/listinfo/sws-client-app-dev 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: sws-support@uw.edu
version: v5
termsOfService: https://www.washington.edu/online/terms/
servers:
- url: https://ws.admin.washington.edu/student
description: UW-IT Enterprise Web Services production host for the Student Web Service
externalDocs:
description: UW-IT Enterprise Web Services registry
url: https://webservices.washington.edu/sws/
tags:
- name: Program
x-operator: institution
x-provenance:
method: derived
source: openapi/_original/university-of-washington-student-web-service.yaml
generated: '2026-08-30'
note: Re-based by the university pipeline on 2026-08-30. refine-openapis had welded the IdCard Web Service title/contact/base onto outputs split from the Student Web Service original; identity restored from the true parent named above and the relative base resolved to the production host published on the EWS registry.
paths:
/v5/program/{major_abbr},{pathway},{year},{quarter}:
get:
tags:
- Program
summary: Search for a program of study that matches the parameters
description: "<pre>\n {\n \"DisplayTitle\" : \"Program\",\n \"ews_guid\" : \"0B74F119-61ED-44EF-9B5D-61DDF180B9F6\",\n \"LongDescription\" : \"Find the information about a program of study that matches the parameters\",\n \"ShortDescription\" : \"Information about a program of study\",\n \"OriginatingSchema\" : [ { \"source\":\"swssdb\" } ],\n \"Notes\" : \"This resource requires any of the following ASTRA roles:\n - sws:Support\n - sws:UnitReader\n This resource supports the following authentication types:\n - X.509 Certificate\n - NetID\n - AccessToken\n Program is previously considered major and pathway.\",\n \"Links\" : [ \"https://metadata.uw.edu/Catalog/ViewItem/Term/studentdata.degreemajor\" ],\n \"Synonyms\" : []\n }\n </pre>"
operationId: GetProgram
parameters:
- name: major_abbr
in: path
description: ''
required: true
schema:
type: string
- name: pathway
in: path
description: ''
required: true
schema:
type: string
- name: year
in: path
description: 'The 4 digit year. For example: 2025'
required: true
schema:
maxLength: 4
minLength: 4
type: string
- name: quarter
in: path
description: 'The 1 digit quarter. For example: 0=Default, 1=winter, 2=spring, 3=summer, 4=autumn'
required: true
schema:
maxLength: 6
minLength: 6
type: string
responses:
'400':
description: 'Invalid arg: year | Invalid arg: quarter'
'500':
description: System.FormatException | Program is null or empty. | InternalServerError
'200':
description: OK
content:
text/html:
schema:
$ref: '#/components/schemas/ProgramViewModel'
application/xml:
schema:
$ref: '#/components/schemas/ProgramViewModel'
text/xml:
schema:
$ref: '#/components/schemas/ProgramViewModel'
text/plain:
schema:
$ref: '#/components/schemas/ProgramViewModel'
application/json:
schema:
$ref: '#/components/schemas/ProgramViewModel'
text/json:
schema:
$ref: '#/components/schemas/ProgramViewModel'
'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
'503':
description: ServiceUnavailable
/v5/program:
get:
tags:
- Program
summary: Search for programs of study that match the supplied parameters
description: "<pre>\n {\n \"DisplayTitle\" : \"Program Search\",\n \"ews_guid\" : \"8135DEB6-FC3B-4672-B36A-62FB43EE4279\",\n \"LongDescription\" : \"Search for a set of programs of study that match the supplied parameters\",\n \"ShortDescription\" : \"Search for a list of programs of study\",\n \"OriginatingSchema\" : [ { \"source\":\"swssdb\" } ],\n \"Notes\" : \"This resource requires any of the following ASTRA roles:\n - sws:Support\n - sws:UnitReader\n This resource supports the following authentication types:\n - X.509 Certificate\n - NetID\n - AccessToken\n Program is previously considered major and pathway.\",\n \"Links\" : [ \"https://metadata.uw.edu/Catalog/ViewItem/Term/studentdata.degreemajor\" ],\n \"Synonyms\" : []\n }\n </pre>"
operationId: ProgramSearch
parameters:
- name: year
in: query
description: 'The 4 digit year. For example: 2025'
required: true
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'
required: true
schema:
type: string
default: ''
- name: major_abbr
in: query
description: ''
schema:
type: string
default: ''
- name: pathway
in: query
description: ''
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'
'500':
description: System.FormatException | InternalServerError
'200':
description: OK
content:
text/html:
schema:
$ref: '#/components/schemas/ProgramSearchViewModel'
application/xml:
schema:
$ref: '#/components/schemas/ProgramSearchViewModel'
text/xml:
schema:
$ref: '#/components/schemas/ProgramSearchViewModel'
text/plain:
schema:
$ref: '#/components/schemas/ProgramSearchViewModel'
application/json:
schema:
$ref: '#/components/schemas/ProgramSearchViewModel'
text/json:
schema:
$ref: '#/components/schemas/ProgramSearchViewModel'
'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
'503':
description: ServiceUnavailable
components:
schemas:
TermResourceUri:
type: object
properties:
Href:
type:
- string
- 'null'
Year:
type: integer
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_last_yr\" },\n { \"source\":\"SWSSDB.sr_major_code.major_first_yr\" },\n { \"source\":\"SWSSDB.sys_tbl_39_calendar.table_key\" },\n { \"source\":\"SWSSDB.student_1.last_yr_enrolled\" },\n { \"source\":\"SDB.SWI610.trm/yr\" },\n { \"source\":\"SWSSDB.sr_course_titles.first_eff_yr\" },\n { \"source\":\"UWEO.selSWSRegistrations.FirstEffectiveTerm/Year\"}\n ],\n \"TechnicalDescription\": \"Year for the given term\"\n }\n </pre>"
format: int32
Quarter:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_last_qtr\" },\n { \"source\":\"SWSSDB.sr_major_code.major_first_qtr\" },\n { \"source\":\"SWSSDB.sys_tbl_39_calendar.table_key\" },\n { \"source\":\"SWSSDB.student_1.last_qtr_enrolled\" },\n { \"source\":\"SDB.SWI610.trm/qtr\" },\n { \"source\":\"SWSSDB.sr_course_titles.first_eff_qtr\" },\n { \"source\":\"UWEO.selSWSRegistrations.FirstEffectiveTerm/Quarter\"}\n ],\n \"TechnicalDescription\": \"Quarter for the given term\"\n }\n </pre>"
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Term Resource URI\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Term\"}],\n \"TargetOperationId\" : [\"GetTerm\"]\n}"
DepartmentViewModel:
type: object
properties:
CollegeAbbreviation:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_dept_code.dept_college\" }\n ],\n \"TechnicalDescription\": \"College Abbreviation\"\n }\n </pre>"
DepartmentAbbreviation:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_dept_code.dept_abbr\" }\n ],\n \"TechnicalDescription\": \"Department Abbreviation\"\n }\n </pre>"
DepartmentFullName:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_dept_code.dept_full_nm\" }\n ],\n \"TechnicalDescription\": \"Department Full Name\"\n }\n </pre>"
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Department Model\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Department\"}]\n}"
ProgramResourceUri:
type: object
properties:
Href:
type:
- string
- 'null'
MajorAbbreviation:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_abbr\" }\n ],\n \"TechnicalDescription\": \"Major Abbreviation\"\n }\n </pre>"
Pathway:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_pathway\" }\n ],\n \"TechnicalDescription\": \"Pathway\"\n }\n </pre>"
Year:
type: integer
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_first_yr\" },\n { \"source\":\"SWSSDB.sr_major_code.major_last_yr\" }\n ],\n \"TechnicalDescription\": \"Year\"\n }\n </pre>"
format: int32
Quarter:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_first_qtr\" },\n { \"source\":\"SWSSDB.sr_major_code.major_last_qtr\" }\n ],\n \"TechnicalDescription\": \"Quarter\"\n }\n </pre>"
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Program Resource URI\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Program\"}],\n \"TargetOperationId\" : [\"GetProgram\"]\n}"
ProgramViewModel:
type: object
properties:
ProgramUri:
$ref: '#/components/schemas/ProgramResourceUri'
Department:
$ref: '#/components/schemas/DepartmentViewModel'
MajorFullName:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_full_nm\" }\n ],\n \"TechnicalDescription\": \"Full name\"\n }\n </pre>"
MajorName:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_name\" }\n ],\n \"TechnicalDescription\": \"Name\"\n }\n </pre>"
MajorShortName:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_short_nm\" }\n ],\n \"TechnicalDescription\": \"Short name\"\n }\n </pre>"
Pathway:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_pathway\" }\n ],\n \"TechnicalDescription\": \"Pathway\"\n }\n </pre>"
FirstEffectiveTerm:
$ref: '#/components/schemas/TermResourceUri'
LastEffectiveTerm:
$ref: '#/components/schemas/TermResourceUri'
Href:
type:
- string
- 'null'
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Program Model\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Program\"}]\n}"
ProgramSearchViewModel:
type: object
properties:
Current:
$ref: '#/components/schemas/ProgramSearchResourceUri'
Next:
$ref: '#/components/schemas/ProgramSearchResourceUri'
Previous:
$ref: '#/components/schemas/ProgramSearchResourceUri'
TotalCount:
type: integer
format: int32
Programs:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ProgramViewModel'
readOnly: true
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Program Search Model\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Program\"}]\n}"
ProgramSearchResourceUri:
type: object
properties:
Year:
type: integer
format: int32
Quarter:
type:
- string
- 'null'
Pathway:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_pathway\" }\n ],\n \"TechnicalDescription\": \"Pathway\"\n }\n </pre>"
MajorAbbreviation:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_major_code.major_abbr\" }\n ],\n \"TechnicalDescription\": \"Major abbreviation\"\n }\n </pre>"
PageStart:
type:
- string
- 'null'
PageSize:
type:
- string
- 'null'
Href:
type:
- string
- 'null'
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Program Search Resource URI\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Program\"}],\n \"TargetOperationId\" : [\"ProgramSearch\"]\n}"