Towers Watson Cases API

HR service case management

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/towers-watson-cases-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

towers-watson-cases-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: WTW HR Portal Benefits Cases API
  description: Willis Towers Watson HR Portal API for delivering personalized digital employee experiences. Enables HR teams to manage employee content, benefits communications, total rewards statements, case management, and targeted workforce messaging.
  version: 1.0.0
  contact:
    name: Willis Towers Watson
    url: https://www.wtwco.com/en-us/solutions/products/hr-portal-software
servers:
- url: https://api.wtwco.com/hrportal/v1
  description: WTW HR Portal API
security:
- bearerAuth: []
tags:
- name: Cases
  description: HR service case management
paths:
  /cases:
    get:
      operationId: listCases
      summary: List Cases
      description: Returns a list of HR service cases.
      tags:
      - Cases
      parameters:
      - name: status
        in: query
        schema:
          type: string
          enum:
          - open
          - pending
          - resolved
          - closed
        description: Filter by case status
      - name: category
        in: query
        schema:
          type: string
        description: Filter by case category
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: limit
        in: query
        schema:
          type: integer
          default: 25
      responses:
        '200':
          description: Case list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CaseList'
    post:
      operationId: createCase
      summary: Create Case
      description: Submit a new HR service case or inquiry.
      tags:
      - Cases
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaseInput'
      responses:
        '201':
          description: Case created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Case'
  /cases/{caseId}:
    get:
      operationId: getCase
      summary: Get Case
      description: Retrieve a specific HR service case.
      tags:
      - Cases
      parameters:
      - name: caseId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Case details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Case'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateCase
      summary: Update Case
      description: Update an existing HR service case.
      tags:
      - Cases
      parameters:
      - name: caseId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CaseUpdate'
      responses:
        '200':
          description: Case updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Case'
components:
  schemas:
    CaseInput:
      type: object
      required:
      - employeeId
      - category
      - subject
      properties:
        employeeId:
          type: string
        category:
          type: string
        subject:
          type: string
        description:
          type: string
        priority:
          type: string
          enum:
          - low
          - medium
          - high
          - urgent
    CaseList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Case'
        total:
          type: integer
        page:
          type: integer
        limit:
          type: integer
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    Case:
      type: object
      properties:
        id:
          type: string
        caseNumber:
          type: string
        employeeId:
          type: string
        category:
          type: string
        subject:
          type: string
        description:
          type: string
        status:
          type: string
          enum:
          - open
          - pending
          - resolved
          - closed
        priority:
          type: string
          enum:
          - low
          - medium
          - high
          - urgent
        assignedTo:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        resolvedAt:
          type: string
          format: date-time
    CaseUpdate:
      type: object
      properties:
        status:
          type: string
          enum:
          - open
          - pending
          - resolved
          - closed
        assignedTo:
          type: string
        notes:
          type: string
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT