University of Wisconsin-Madison Salary Structures API

The Salary Structures API from University of Wisconsin-Madison — 2 operation(s) for salary structures.

Business capability
Compensation & Benefits Management BC-300.30

Operations 2

GET /salaryStructures Get a list of salary structures. #
GET /salaryStructures/{salaryStructureId} Get a salary structure. #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-person-api-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-mock-person-api-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-mock-person-api-certificates-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-hr-api-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-mock-hr-api-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-manifest-api-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-mock-manifest-api-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-enterprise-billing-api-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-course-search-api-schema.json

Other Resources

Work with this as data

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-wisconsin-madison-salary-structures-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 Specification

university-of-wisconsin-madison-salary-structures-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: University Of Wisconsin Madison Salary Structures API
  version: 1.0.0
  contact:
    name: DoIT Enterprise Integration API Team
    email: api@doit.wisc.edu
  description: 'Operations tagged Salary Structures across 2 of this provider''s published API definitions: university-of-wisconsin-madison-hr-api-openapi.yml, university-of-wisconsin-madison-mock-hr-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.wisc.edu/hr
- url: https://mock.api.wisc.edu/hr
security:
- OAuth2ClientCredentials: []
tags:
- name: Salary Structures
paths:
  /salaryStructures:
    get:
      description: Get a list of salary structures.
      summary: Get a list of salary structures.
      operationId: get_salary_structures
      tags:
      - Salary Structures
      parameters:
      - name: page
        in: query
        description: 'Define options for pagination of responses. For example, `page[number]` parameter (example: `page[number]=4`). The `page[number]` determines the page to display. The size of the page is a constant of 100.'
        required: false
        style: deepObject
        explode: true
        schema:
          type: object
          properties:
            number:
              type: integer
              example: 5
              default: 1
              description: The page number to display.
      - name: filter
        in: query
        description: Filter results of query using the [filter query parameter family](https://jsonapi.org/recommendations/#filtering). Refer to the [HR API Documentation](https://kb.wisc.edu/uw-apis/158637) for more information about the `filter` query param.
        required: false
        style: deepObject
        explode: true
        schema:
          type: object
          additionalProperties: false
          properties:
            attribute:
              type: string
              example: name
      responses:
        '200':
          description: A collection of salary structures.
          content:
            application/vnd.api+json:
              schema:
                type: object
                required:
                - data
                - links
                properties:
                  data:
                    description: A collection of salary structures.
                    type: array
                    items:
                      description: A salary structure.
                      type: object
                      properties:
                        type:
                          type: string
                          example: salaryStructures
                        id:
                          type: string
                          description: The salary structure ID.
                          example: 30d6a232973a1001722a090ff0940000
                        attributes:
                          type: object
                          properties:
                            salaryGrade:
                              type: string
                              example: Grade 015
                              description: The salary grade.
                            salaryGradeProfile:
                              type: string
                              example: 'Grade 015: Grade 015 Madison Hourly'
                              description: The salary grade profile.
                            payRangeMinimum:
                              type: string
                              example: '17.0'
                              pattern: ^\d+(?:\.\d+)?$
                              description: The minimum pay range. This value is provided as a string to avoid loss of precision.
                            payRangeMaximum:
                              type: string
                              example: '31.62'
                              pattern: ^\d+(?:\.\d+)?$
                              description: The maximum pay range. This value is provided as a string to avoid loss of precision.
                        links:
                          description: The link to the supervisory organization.
                          type: object
                          properties:
                            self:
                              type: string
                              example: https://api.wisc.edu/hr/supervisoryOrganizations/SO0000123
                  links:
                    description: Self and pagination links.
                    allOf:
                    - description: The links associated with a paginated collection
                      type: object
                      properties:
                        self:
                          description: The current page of data
                          type: string
                          format: uri-reference
                          example: https://api.wisc.edu/hr/supervisoryOrganizations?page[number]=3
                        prev:
                          description: The previous page of data
                          type: string
                          format: uri-reference
                          example: https://api.wisc.edu/hr/supervisoryOrganizations?page[number]=2
                        next:
                          description: The next page of data
                          type: string
                          format: uri-reference
                          example: https://api.wisc.edu/hr/supervisoryOrganizations?page[number]=4
                        first:
                          description: The first page of data
                          type: string
                          format: uri-reference
                          example: https://api.wisc.edu/hr/supervisoryOrganizations?page[number]=1
                        last:
                          description: The last page of data
                          type: string
                          format: uri-reference
                          example: https://api.wisc.edu/hr/supervisoryOrganizations?page[number]=6
                  meta:
                    type: object
                    properties:
                      paging:
                        type: object
                        properties:
                          pageNumber:
                            type: integer
                            example: 5
                            description: The page number to display
                          pageSize:
                            type: integer
                            example: 10
                            description: The number of items per page
                          totalCount:
                            type: integer
                            example: 100
                            description: The total number of items available for the collection
                          totalPages:
                            type: integer
                            example: 10
                            description: The total number of pages available for the collection
                        example: 100
                        description: The total number of items in the collection
              examples:
                salary-structures:
                  value:
                    data:
                    - id: 30d6a232973a1001722a090ff0940000
                      type: salaryStructures
                      attributes:
                        salaryGrade: Grade 015
                        salaryGradeProfile: 'Grade 015: Grade 015 Madison Hourly'
                        payRangeMinimum: '17.0'
                        payRangeMaximum: '31.62'
                      links:
                        self: https://api.wisc.edu/hr/salaryStructures/30d6a232973a1001722a090ff0940000
                    - id: 30d6a232973a1001722b18e92f860000
                      type: salaryStructures
                      attributes:
                        salaryGrade: Grade 015
                        salaryGradeProfile: 'Grade 015: Grade 015 Milwaukee Hourly'
                        payRangeMinimum: '15.0'
                        payRangeMaximum: '30.29'
                      links:
                        self: https://api.wisc.edu/hr/salaryStructures/30d6a232973a1001722b18e92f860000
                    - id: 30d6a232973a1001722c549806240000
                      type: salaryStructures
                      attributes:
                        salaryGrade: Grade 015
                        salaryGradeProfile: 'Grade 015: Grade 015 Comprehensive Hourly'
                        payRangeMinimum: '15.0'
                        payRangeMaximum: '30.29'
                      links:
                        self: https://api.wisc.edu/hr/salaryStructures/30d6a232973a1001722c549806240000
                    links:
                      self: https://api.wisc.edu/hr/salaryStructures
        '400':
          description: A bad request.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                application/vnd.api+json:
                  value:
                    errors:
                    - status: 400
                      title: Bad Request
                      detail: Invalid properties in query parameters - resource type 'jobs' has no attribute 'invalid'.
        '401':
          description: Incorrect or expired OAuth token.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                unauthorized-response:
                  value:
                    errors:
                    - status: 401
                      title: Unauthorized
                      detail: Invalid OAuth authentication - InvalidAccessToken
        '406':
          description: Servers respond with a 406 Not Acceptable status code if a request’s Accept header contains the JSON:API media type and all instances of that media type are modified with media type parameters.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                not-acceptable-example:
                  value:
                    errors:
                    - status: 406
                      title: Not Acceptable
                      detail: Request's Accept header contained the JSON:API media type and all instances of that media type were modified with media type parameters.
        '429':
          description: The API quota has been exceeded.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                not-found-example:
                  value:
                    errors:
                    - status: 429
                      title: Too Many Requests
                      detail: The quota has been exceeded.
        '500':
          description: An unexpected error.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                not-found-example:
                  value:
                    errors:
                    - status: 500
                      title: Internal Server Error
                      detail: Something went wrong in the server-side.
    servers:
    - url: https://api.wisc.edu/hr
  /salaryStructures/{salaryStructureId}:
    get:
      description: Get a salary structure.
      summary: Get a salary structure.
      operationId: get_salary_structure
      tags:
      - Salary Structures
      parameters:
      - name: salaryStructureId
        description: The salary structure ID.
        in: path
        example: 30d6a232973a1001722a090ff0940000
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A salary structure.
          content:
            application/vnd.api+json:
              schema:
                type: object
                required:
                - data
                - links
                properties:
                  data:
                    description: A salary structure.
                    type: object
                    properties:
                      type:
                        type: string
                        example: salaryStructures
                      id:
                        type: string
                        description: The salary structure ID.
                        example: 30d6a232973a1001722a090ff0940000
                      attributes:
                        type: object
                        properties:
                          salaryGrade:
                            type: string
                            example: Grade 015
                            description: The salary grade.
                          salaryGradeProfile:
                            type: string
                            example: 'Grade 015: Grade 015 Madison Hourly'
                            description: The salary grade profile.
                          payRangeMinimum:
                            type: string
                            example: '17.0'
                            pattern: ^\d+(?:\.\d+)?$
                            description: The minimum pay range. This value is provided as a string to avoid loss of precision.
                          payRangeMaximum:
                            type: string
                            example: '31.62'
                            pattern: ^\d+(?:\.\d+)?$
                            description: The maximum pay range. This value is provided as a string to avoid loss of precision.
                      links:
                        description: The link to the supervisory organization.
                        type: object
                        properties:
                          self:
                            type: string
                            example: https://api.wisc.edu/hr/supervisoryOrganizations/SO0000123
                  links:
                    description: The link to the supervisory organization.
                    type: object
                    properties:
                      self:
                        type: string
                        example: https://api.wisc.edu/hr/supervisoryOrganizations/SO0000123
              examples:
                salary-structure:
                  value:
                    data:
                      id: 30d6a232973a1001722a090ff0940000
                      type: salaryStructures
                      attributes:
                        salaryGrade: Grade 015
                        salaryGradeProfile: 'Grade 015: Grade 015 Madison Hourly'
                        payRangeMinimum: '17.0'
                        payRangeMaximum: '31.62'
                      links:
                        self: https://api.wisc.edu/hr/salaryStructures/30d6a232973a1001722a090ff0940000
                    links:
                      self: https://api.wisc.edu/hr/salaryStructures/30d6a232973a1001722a090ff0940000
        '400':
          description: A bad request.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                application/vnd.api+json:
                  value:
                    errors:
                    - status: 400
                      title: Bad Request
                      detail: Invalid properties in query parameters - resource type 'jobs' has no attribute 'invalid'.
        '401':
          description: Incorrect or expired OAuth token.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                unauthorized-response:
                  value:
                    errors:
                    - status: 401
                      title: Unauthorized
                      detail: Invalid OAuth authentication - InvalidAccessToken
        '404':
          description: Unable to find the specified record
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                not-found-example:
                  value:
                    errors:
                    - status: 404
                      title: Not Found
                      detail: Requested resource not found.
        '406':
          description: Servers respond with a 406 Not Acceptable status code if a request’s Accept header contains the JSON:API media type and all instances of that media type are modified with media type parameters.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                not-acceptable-example:
                  value:
                    errors:
                    - status: 406
                      title: Not Acceptable
                      detail: Request's Accept header contained the JSON:API media type and all instances of that media type were modified with media type parameters.
        '429':
          description: The API quota has been exceeded.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                not-found-example:
                  value:
                    errors:
                    - status: 429
                      title: Too Many Requests
                      detail: The quota has been exceeded.
        '500':
          description: An unexpected error.
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      description: An error
                      type: object
                      properties:
                        status:
                          type: integer
                          example: 400
                        title:
                          type: string
                          example: Error title
                        detail:
                          type: string
                          example: Additional details about the error
                        links:
                          type: object
                        meta:
                          type: object
                        source:
                          type: object
              examples:
                not-found-example:
                  value:
                    errors:
                    - status: 500
                      title: Internal Server Error
                      detail: Something went wrong in the server-side.
    servers:
    - url: https://api.wisc.edu/hr
components:
  securitySchemes:
    OAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.wisc.edu/oauth/token
          scopes: {}
externalDocs:
  description: Read more about JSON:API here
  url: https://jsonapi.org/
x-refined-from:
- university-of-wisconsin-madison-hr-api-openapi.yml
- university-of-wisconsin-madison-mock-hr-api-openapi.yml
x-operator: institution
x-provenance:
  generated: '2026-08-19'
  method: probed
  source: https://public.enroll.wisc.edu/api/search/v1
  note: 'Reverse-described from live unauthenticated responses. Not a UW-Madison publication and must never be counted as one. Probes: GET /terms (200, 499 bytes, 2 terms), GET /aggregate (200, 127,065 bytes), POST / (200, term 1266 "computer science" -> found=226; term 1272 -> found=932).'