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-testscore-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) Test Score 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: TestScore
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/testscore/{regID}:
get:
tags:
- TestScore
summary: Get the student's test scores for admission
description: "<pre>\n {\n \"DisplayTitle\" : \"Test Score\",\n \"ews_guid\" : \"D2F4747C-952C-4F53-A86B-FF007F1F73C4\",\n \"LongDescription\" : \"Get information about a student's academic test scores (e.g. GMAT, SAT, TOEFL, etc.) \n for admission\",\n \"ShortDescription\" : \"Get test scores for admission\",\n \"OriginatingSchema\" : [ { \"source\":\"swssdb\" }, { \"source\":\"irws\" } ],\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 \"Links\" : [ \"https://metadata.uw.edu/Catalog/ViewItem/Term/ipeds.admissionstestscores\" ],\n \"Synonyms\" : []\n }\n </pre>"
operationId: GetTestScore
parameters:
- name: regID
in: path
description: RegIDs are the authoritative unique IDs guaranteed to identify a UW person permanently. RegIDs are assigned to a person by the Identity Registration Service, the authoritative source for person data reconciled from several data sources which may represent multiple records and accounts for a single person. A given RegID will always refer to the same person, regardless of name, status or affiliation changes.
required: true
schema:
maxLength: 32
minLength: 32
type: string
responses:
'400':
description: 'Invalid arg: regID'
'404':
description: No TestScore found.
'200':
description: OK
content:
text/html:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
application/xml:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
text/xml:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
text/plain:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
application/json:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
text/json:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
'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/testscore/{testType},{regID}:
get:
tags:
- TestScore
summary: Get the student's test scores of a specific test type
description: "<pre>\n {\n \"DisplayTitle\" : \"Test Score by Type\",\n \"ews_guid\" : \"F4BBB30B-CEB8-4FF5-87AA-A522ECA0782E\",\n \"LongDescription\" : \"Get information about a student's test scores of a specific test type for admission\",\n \"ShortDescription\" : \"Get specific type of test scores for admission\",\n \"OriginatingSchema\" : [ { \"source\":\"swssdb\" }, { \"source\":\"irws\" } ],\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 \"Links\" : [ \"https://metadata.uw.edu/Catalog/ViewItem/Term/ipeds.admissionstestscores\" ],\n \"Synonyms\" : []\n }\n </pre>"
operationId: GetTestScoreWithTestType
parameters:
- name: testType
in: path
description: The type of the test (e.g. GMAT, SAT, TOEFL)
required: true
schema:
type: string
- name: regID
in: path
description: RegIDs are the authoritative unique IDs guaranteed to identify a UW person permanently. RegIDs are assigned to a person by the Identity Registration Service, the authoritative source for person data reconciled from several data sources which may represent multiple records and accounts for a single person. A given RegID will always refer to the same person, regardless of name, status or affiliation changes.
required: true
schema:
maxLength: 32
minLength: 32
type: string
responses:
'400':
description: 'Invalid arg: regID | Invalid arg: Test Type'
'404':
description: No TestScore found.
'200':
description: OK
content:
text/html:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
application/xml:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
text/xml:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
text/plain:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
application/json:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
text/json:
schema:
$ref: '#/components/schemas/TestScoreViewModel'
'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:
PersonResourceUri:
type: object
properties:
Name:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwPersonPrefferredName\" },\n { \"source\":\"IRWS.identity.uwPersonRegisteredName\" }\n ],\n \"TechnicalDescription\": \"This field is resource specific\"\n }\n </pre>"
RegID:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.regid\" }\n ],\n \"TechnicalDescription\": \"UW Registration ID. This field is resource specific\"\n }\n </pre>"
Pronouns:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwPersonPronoun\" }\n ],\n \"TechnicalDescription\": \"\"\n }\n </pre>"
Href:
type:
- string
- 'null'
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Person Resource URI\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Person\"}],\n \"TargetOperationId\" : [\"GetPerson\"]\n}"
TestTypeViewModel:
type: object
properties:
Description:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sys_tbl_42_test_range.test_descrip\" }\n ],\n \"TechnicalDescription\": \"Test Description\"\n }\n </pre>"
MinScore:
type: integer
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sys_tbl_42_test_range.test_min_score\" }\n ],\n \"TechnicalDescription\": \"Minimum score\"\n }\n </pre>"
format: int32
MaxScore:
type: integer
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sys_tbl_42_test_range.test_max_score\" }\n ],\n \"TechnicalDescription\": \"Maximum score\"\n }\n </pre>"
format: int32
Name:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_test_scores.test_type\" }\n ],\n \"TechnicalDescription\": \"Test name\"\n }\n </pre>"
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Test Type Model\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Test\"}]\n}"
TestViewModel:
type: object
properties:
TestType:
$ref: '#/components/schemas/TestTypeViewModel'
Scores:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ScoreViewModel'
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Test Model\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Test\"}]\n}"
TestScoreViewModel:
type: object
properties:
Person:
$ref: '#/components/schemas/TestScorePersonViewModel'
TestsTaken:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/TestViewModel'
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Test Score Model\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Test\"}]\n}"
TestScorePersonViewModel:
type: object
properties:
EmployeeID:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwEmployeeID\" }\n ],\n \"TechnicalDescription\": \"Employee id\"\n }\n </pre>"
FirstName:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwPersonPreferredFirst\"},\n { \"source\":\"IRWS.identity.uwPersonPreferredMiddle\"},\n { \"source\":\"IRWS.identity.uwPersonRegisteredFirstMiddle\"}\n ],\n \"TechnicalDescription\": \"First name. Can be either preferred or registered first and middle name.\"\n }\n </pre>"
LastName:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwPersonPreferredSurname\"},\n { \"source\":\"IRWS.identity.uwPersonRegisteredSurname\"}\n ],\n \"TechnicalDescription\": \"Last name. Can be either preferred or registered surname.\"\n }\n </pre>"
Pronouns:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwPersonPronoun\" }\n ],\n \"TechnicalDescription\": \"\"\n }\n </pre>"
RegID:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.regid\" }\n ],\n \"TechnicalDescription\": \"UW Registration ID\"\n }\n </pre>"
StudentName:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.displayName\" }\n ],\n \"TechnicalDescription\": \"Student name\"\n }\n </pre>"
StudentNumber:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwStudentID\" }\n ],\n \"TechnicalDescription\": \"Student number\"\n }\n </pre>"
StudentSystemKey:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwStudentSystemKey\" }\n ],\n \"TechnicalDescription\": \"Student system key\"\n }\n </pre>"
UWNetID:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"IRWS.identity.uwNetID\" }\n ],\n \"TechnicalDescription\": \"UWNetID\"\n }\n </pre>"
Uri:
$ref: '#/components/schemas/PersonResourceUri'
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Test Score Person Model\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Test\"}]\n}"
ScoreViewModel:
type: object
properties:
EnteredDate:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_test_scores.score_entered_dt\" }\n ],\n \"TechnicalDescription\": \"Test score entered date\"\n }\n </pre>"
Percentile:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_test_scores.test_pctile\" }\n ],\n \"TechnicalDescription\": \"Percentile\"\n }\n </pre>"
RevisedScore:
type: boolean
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_test_scores.revised_score\" }\n ],\n \"TechnicalDescription\": \"Revised score\"\n }\n </pre>"
TakenDate:
type:
- string
- 'null'
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_test_scores.test_dt\" }\n ],\n \"TechnicalDescription\": \"Test date\"\n }\n </pre>"
TestScore:
type: integer
description: "<pre>\n {\n \"OriginatingSchema\" : [\n { \"source\":\"SWSSDB.sr_test_scores.test_score\" }\n ],\n \"TechnicalDescription\": \"Test score\"\n }\n </pre>"
format: int32
additionalProperties: false
description: "{\n \"DisplayTitle\" : \"Score Model\",\n \"TargetSchema\" : [{\"target\" : \"SWS.Test\"}]\n}"