Casey's ItsmApi

Creates, updates and attaches files to incidents in Casey's IT service management tool, with a v1 heartbeat health check.

Operations 5

POST /v1/incidents v1 Creates an incident's data. #
PUT /v1/incidents v1 Updates an incident's data. #
GET /v1/heartbeat v1 Gets the health of the API #
POST /v1/incidents/attachments v1 Add an attachment to an existing incident #
GET /openapi/V3.json Get OpenApi Specification #

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/caseys-itsmapi"
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

caseys-general-stores-itsm-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: ItsmApi
  description: An API to manage incidents in ITSM tool.
  version: '1.0'
servers:
- url: https://esl.caseys.io/itsmapi
paths:
  /v1/incidents:
    post:
      tags:
      - incident
      summary: v1 Creates an incident's data.
      description: Creates the data for a specific incident.
      operationId: createIncident
      requestBody:
        description: Data used to create the specified incident.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createIncidentParameterModel'
            example:
              incidentId: string
              operation: string
              origin: string
              target: string
              externalId: string
              location: string
              summary: string
              description: string
              category: string
              subcategory: string
              assignmentGroup: string
              comment:
                id: string
                origin: string
                externalId: string
                comment: string
                postedBy: string
                postedOn: string
              priority: string
              techOnSite: true
              status: string
              lastUpdated: string
              assignedTo:
                id: string
                displayName: string
                email: string
              requestedBy:
                id: string
                displayName: string
                email: string
      responses:
        '200':
          description: The status of the create operation. 200 if successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createIncidentParameterModel'
              example:
                incidentId: string
                operation: string
                origin: string
                target: string
                externalId: string
                location: string
                summary: string
                description: string
                category: string
                subcategory: string
                assignmentGroup: string
                comment:
                  id: string
                  origin: string
                  externalId: string
                  comment: string
                  postedBy: string
                  postedOn: string
                priority: string
                techOnSite: true
                status: string
                lastUpdated: string
                assignedTo:
                  id: string
                  displayName: string
                  email: string
                requestedBy:
                  id: string
                  displayName: string
                  email: string
        '400':
          description: Create operation failed with bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createIncidentBadRequestExample'
              example:
                examples: {}
        '401':
          description: The status of the unauthorized. 401 if unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createIncidentParameterModel'
              example:
                incidentId: string
                operation: string
                origin: string
                target: string
                externalId: string
                location: string
                summary: string
                description: string
                category: string
                subcategory: string
                assignmentGroup: string
                comment:
                  id: string
                  origin: string
                  externalId: string
                  comment: string
                  postedBy: string
                  postedOn: string
                priority: string
                techOnSite: true
                status: string
                lastUpdated: string
                assignedTo:
                  id: string
                  displayName: string
                  email: string
                requestedBy:
                  id: string
                  displayName: string
                  email: string
        '500':
          description: Create operation failed with internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createIncidentBadRequestExample'
              example:
                examples: {}
    put:
      tags:
      - incident
      summary: v1 Updates an incident's data.
      description: Updates the data for a specific incident.
      operationId: updateIncidentById
      requestBody:
        description: Data used to update the specified incident.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateIncidentParameterModel'
            example:
              incidentId: string
              operation: string
              origin: string
              target: string
              externalId: string
              location: string
              summary: string
              description: string
              category: string
              subcategory: string
              assignmentGroup: string
              comment:
                id: string
                origin: string
                externalId: string
                comment: string
                postedBy: string
                postedOn: string
              priority: string
              techOnSite: true
              status: string
              lastUpdated: string
              assignedTo:
                id: string
                displayName: string
                email: string
              requestedBy:
                id: string
                displayName: string
                email: string
      responses:
        '200':
          description: The status of the update operation. 200 if successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updateIncidentParameterModel'
              example:
                incidentId: string
                operation: string
                origin: string
                target: string
                externalId: string
                location: string
                summary: string
                description: string
                category: string
                subcategory: string
                assignmentGroup: string
                comment:
                  id: string
                  origin: string
                  externalId: string
                  comment: string
                  postedBy: string
                  postedOn: string
                priority: string
                techOnSite: true
                status: string
                lastUpdated: string
                assignedTo:
                  id: string
                  displayName: string
                  email: string
                requestedBy:
                  id: string
                  displayName: string
                  email: string
        '400':
          description: Update operation failed with bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updateIncidentBadRequestExample'
              example:
                examples: {}
        '401':
          description: The status of the unauthorized. 401 if unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updateIncidentParameterModel'
              example:
                incidentId: string
                operation: string
                origin: string
                target: string
                externalId: string
                location: string
                summary: string
                description: string
                category: string
                subcategory: string
                assignmentGroup: string
                comment:
                  id: string
                  origin: string
                  externalId: string
                  comment: string
                  postedBy: string
                  postedOn: string
                priority: string
                techOnSite: true
                status: string
                lastUpdated: string
                assignedTo:
                  id: string
                  displayName: string
                  email: string
                requestedBy:
                  id: string
                  displayName: string
                  email: string
        '500':
          description: Update operation failed with internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/updateIncidentBadRequestExample'
              example:
                examples: {}
  /v1/heartbeat:
    get:
      tags:
      - heartbeat
      summary: v1 Gets the health of the API
      description: Interrogates the state of the API and its dependencies to return the API health.
      operationId: getHeartbeatV1
      responses:
        '200':
          description: The status of the APIs health. Healthy if all dependency health checks pass. Unhealthy if
            any dependency's health check fails, or if an exception occurs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/heartbeatReport'
              example:
                status: string
        '401':
          description: The status of the unauthorized. 401 if unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/heartbeatReport'
              example:
                status: string
  /v1/incidents/attachments:
    post:
      tags:
      - incident
      summary: v1 Add an attachment to an existing incident
      description: Add an attachment to a specific incident.
      operationId: addAttachment
      requestBody:
        description: Data used to add an attachment to specified incident.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/attachmentParameterModel'
            example:
              incidentId: string
              origin: string
              target: string
              operation: string
              externalId: string
              attachmentId: string
              fileName: string
              fileLocation: string
              fileType: string
              contentType: string
      responses:
        '200':
          description: The status of the add attachment operation. 200 if successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attachmentParameterModel'
              example:
                incidentId: string
                origin: string
                target: string
                operation: string
                externalId: string
                attachmentId: string
                fileName: string
                fileLocation: string
                fileType: string
                contentType: string
        '400':
          description: Add attachment operation failed with bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/addAttachmentBadRequestExample'
              example:
                examples: {}
        '401':
          description: The status of the unauthorized. 401 if unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/attachmentParameterModel'
              example:
                incidentId: string
                origin: string
                target: string
                operation: string
                externalId: string
                attachmentId: string
                fileName: string
                fileLocation: string
                fileType: string
                contentType: string
        '500':
          description: Add attachment operation failed with internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/addAttachmentBadRequestExample'
              example:
                examples: {}
  /openapi/V3.json:
    get:
      summary: Get OpenApi Specification
      description: Gets the OpenApi specification in V3.json format with the parameters .
      operationId: getOpenApiSpec
      responses:
        '200':
          description: ''
components:
  schemas:
    addAttachmentBadRequestExample:
      type: object
      properties:
        examples:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/openApiExample'
    assignedToModel:
      type: object
      properties:
        id:
          type: string
          description: Assigned to user id.
        displayName:
          type: string
          description: Assigned to user display name.
        email:
          type: string
          description: Assigned to user email id.
      description: Assigned to User details.
    attachmentParameterModel:
      required:
      - incidentId
      - origin
      - target
      - operation
      - attachmentId
      - fileName
      type: object
      properties:
        incidentId:
          minLength: 1
          type: string
          description: The unique identifier of the incident to get data about.
        origin:
          minLength: 1
          type: string
          description: The origin of the incident.
        target:
          minLength: 1
          type: string
          description: The origin of the incident.
        operation:
          minLength: 1
          type: string
          description: Operation indicates create or update
        externalId:
          type: string
          description: Unique Correlation Id of incident.
        attachmentId:
          minLength: 1
          type: string
          description: Unique Id of attachment of incident.
        fileName:
          minLength: 1
          type: string
          description: Attachment file name
        fileLocation:
          type: string
          description: Attachment file location
        fileType:
          type: string
          description: Attachment file type
        contentType:
          type: string
          description: Attachment content type
    commentModel:
      type: object
      properties:
        id:
          type: string
          description: comment id.
        origin:
          type: string
          description: The origin of the incident.
        externalId:
          type: string
          description: Unique Correlation Id of incident.
        comment:
          type: string
          description: Comment added in the incident.
        postedBy:
          type: string
          description: Comment posted by.
        postedOn:
          type: string
          description: Comment posted on.
      description: The Comment of incident.
    createIncidentBadRequestExample:
      type: object
      properties:
        examples:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/openApiExample'
    createIncidentParameterModel:
      required:
      - incidentId
      - operation
      - origin
      - target
      - summary
      - description
      - assignmentGroup
      - status
      - requestedBy
      type: object
      properties:
        incidentId:
          minLength: 1
          type: string
          description: The unique identifier of the incident to get data about.
        operation:
          minLength: 1
          type: string
          description: Operation indicates create or update
        origin:
          minLength: 1
          type: string
          description: The origin of the incident.
        target:
          minLength: 1
          type: string
          description: The target of the incident.
        externalId:
          type: string
          description: Unique Correlation Id of incident.
        location:
          type: string
          description: Location of incident.
        summary:
          minLength: 1
          type: string
          description: The summary of the incident.
        description:
          minLength: 1
          type: string
          description: The description of the incident.
        category:
          type: string
          description: The category of incident.
        subcategory:
          type: string
          description: The subcategory of incident.
        assignmentGroup:
          minLength: 1
          type: string
          description: The assignment group of incident.
        comment:
          $ref: '#/components/schemas/commentModel'
        priority:
          type: string
          description: The priority of the incident.
        techOnSite:
          type: boolean
          description: The TechOnSite of incident.
        status:
          minLength: 1
          type: string
          description: Status of incident.
        lastUpdated:
          type: string
          description: Last Update of incident.
        assignedTo:
          $ref: '#/components/schemas/assignedToModel'
        requestedBy:
          $ref: '#/components/schemas/requestedByModel'
    heartbeatReport:
      type: object
      properties:
        status:
          type: string
          description: Description of the current status of dependencies of the API.
    iOpenApiAny:
      type: object
      properties:
        anyType:
          enum:
          - 0
          - 1
          - 2
          - 3
          type: integer
          format: int32
          default: 0
    iOpenApiExtension:
      type: object
    openApiExample:
      type: object
      properties:
        summary:
          type: string
        description:
          type: string
        value:
          $ref: '#/components/schemas/iOpenApiAny'
        externalValue:
          type: string
        extensions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/iOpenApiExtension'
        reference:
          $ref: '#/components/schemas/openApiReference'
        unresolvedReference:
          type: boolean
    openApiReference:
      type: object
      properties:
        externalResource:
          type: string
        type:
          enum:
          - 0
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
          type: integer
          format: int32
          default: 0
          nullable: true
        id:
          type: string
        isExternal:
          type: boolean
        isLocal:
          type: boolean
        referenceV3:
          type: string
        referenceV2:
          type: string
    requestedByModel:
      type: object
      properties:
        id:
          type: string
          description: Requested by user id.
        displayName:
          type: string
          description: Requested by user display name.
        email:
          type: string
          description: Requested by user email id.
      description: Requested User details.
    updateIncidentBadRequestExample:
      type: object
      properties:
        examples:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/openApiExample'
    updateIncidentParameterModel:
      required:
      - incidentId
      - operation
      - origin
      - target
      - summary
      - description
      - assignmentGroup
      - status
      - requestedBy
      type: object
      properties:
        incidentId:
          minLength: 1
          type: string
          description: The unique identifier of the incident to get data about.
        operation:
          minLength: 1
          type: string
          description: Operation indicates create or update
        origin:
          minLength: 1
          type: string
          description: The origin of the incident.
        target:
          minLength: 1
          type: string
          description: The target of the incident.
        externalId:
          type: string
          description: Unique Correlation Id of incident.
        location:
          type: string
          description: Location of incident.
        summary:
          minLength: 1
          type: string
          description: The summary of the incident.
        description:
          minLength: 1
          type: string
          description: The description of the incident.
        category:
          type: string
          description: The category of incident.
        subcategory:
          type: string
          description: The subcategory of incident.
        assignmentGroup:
          minLength: 1
          type: string
          description: The assignment group of incident.
        comment:
          $ref: '#/components/schemas/commentModel'
        priority:
          type: string
          description: The priority of the incident.
        techOnSite:
          type: boolean
          description: The TechOnSite of incident.
        status:
          minLength: 1
          type: string
          description: Status of incident.
        lastUpdated:
          type: string
          description: Last Update of incident.
        assignedTo:
          $ref: '#/components/schemas/assignedToModel'
        requestedBy:
          $ref: '#/components/schemas/requestedByModel'
  securitySchemes:
    apiKeyHeader:
      type: apiKey
      name: Ocp-Apim-Subscription-Key
      in: header
    apiKeyQuery:
      type: apiKey
      name: subscription-key
      in: query
security:
- apiKeyHeader: []
- apiKeyQuery: []