Juniper Networks MSPs Tickets API

Support tickets are a means for users to seek assistance and resolve issues they encounter with a product or service. They allow users to communicate their problems or questions to the Juniper Mist support team, who can then provide guidance, troubleshooting, or solutions. Support tickets typically include information such as the type of issue, relevant details, and any necessary attachments. Support Tickets API Calls at the MSP level can be used to retrieve the tickets for each Organization attached to the MSP account.

Operations 2

GET /api/v1/msps/{msp_id}/tickets listMspTickets #
GET /api/v1/msps/{msp_id}/tickets/count countMspTickets #

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/juniper:juniper-msps-tickets-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

juniper-msps-tickets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mist MSPs Tickets API
  description: '> Version: **2607.1.1**

    >

    > Date: **August 17, 2026**


    NOTE:

    Some important API changes will be introduced.'
  contact:
    name: Thomas Munzer
    email: tmunzer@juniper.net
  version: 2607.1.1
servers:
- url: https://api.mist.com
  variables: {}
- url: https://api.gc1.mist.com
  variables: {}
- url: https://api.ac2.mist.com
  variables: {}
- url: https://api.gc2.mist.com
  variables: {}
- url: https://api.gc4.mist.com
  variables: {}
- url: https://api.eu.mist.com
  variables: {}
- url: https://api.gc3.mist.com
  variables: {}
- url: https://api.ac6.mist.com
  variables: {}
- url: https://api.gc6.mist.com
  variables: {}
- url: https://api.ac5.mist.com
  variables: {}
- url: https://api.gc5.mist.com
  variables: {}
- url: https://api.gc7.mist.com
  variables: {}
security:
- apiToken: []
- csrfToken: []
tags:
- name: MSPs Tickets
  description: Support tickets are a means for users to seek assistance and resolve issues they encounter with a product or service.
paths:
  /api/v1/msps/{msp_id}/tickets:
    parameters: []
    get:
      tags:
      - MSPs Tickets
      summary: listMspTickets
      description: List support tickets associated with this MSP for the requested time range.
      operationId: listMspTickets
      parameters:
      - name: msp_id
        in: path
        description: ''
        required: true
        schema:
          type: string
          contentEncoding: uuid
          examples:
          - 000000ab-00ab-00ab-00ab-0000000000ab
      - name: start
        in: query
        description: Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w`
        style: form
        explode: true
        schema:
          type: string
      - name: end
        in: query
        description: Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now`
        style: form
        explode: true
        schema:
          type: string
      - name: duration
        in: query
        description: Time range duration for the query, using relative units such as `10m`, `7d`, or `2w`
        style: form
        explode: true
        schema:
          type: string
          default: 1d
          examples:
          - 10m
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ticket'
                description: Support ticket records returned by a ticket list response
                examples:
                - - comments:
                    - attachments:
                      - content_type: string
                        content_url: string
                      author: string
                      comment: string
                      created_at: 0
                    created_at: 0
                    id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
                    requester: string
                    status: open
                    subject: string
                    type: string
                    updated_at: 0
                contentMediaType: application/json
              examples:
                Example:
                  value:
                  - comments:
                    - attachments:
                      - content_type: string
                        content_url: string
                      author: string
                      comment: string
                      created_at: 0
                    created_at: 0
                    id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
                    requester: string
                    status: open
                    subject: string
                    type: string
                    updated_at: 0
            application/vnd.api+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ticket'
                description: Support ticket records returned by a ticket list response
                examples:
                - - comments:
                    - attachments:
                      - content_type: string
                        content_url: string
                      author: string
                      comment: string
                      created_at: 0
                    created_at: 0
                    id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
                    requester: string
                    status: open
                    subject: string
                    type: string
                    updated_at: 0
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                  - comments:
                    - attachments:
                      - content_type: string
                        content_url: string
                      author: string
                      comment: string
                      created_at: 0
                    created_at: 0
                    id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
                    requester: string
                    status: open
                    subject: string
                    type: string
                    updated_at: 0
        '400':
          description: Bad Syntax
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http400'
                - description: Standard HTTP 400 bad request error response
                  examples:
                  - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http400'
                - description: Standard HTTP 400 bad request error response
                  examples:
                  - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
        '401':
          description: Unauthorized
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http401'
                - description: Standard HTTP 401 authentication error response
                  examples:
                  - detail: Authentication credentials were not provided.
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    detail: Authentication credentials were not provided.
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http401'
                - description: Standard HTTP 401 authentication error response
                  examples:
                  - detail: Authentication credentials were not provided.
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    detail: Authentication credentials were not provided.
        '403':
          description: Permission Denied
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http403'
                - description: Standard HTTP 403 permission error response
                  examples:
                  - detail: You do not have permission to perform this action.
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    detail: You do not have permission to perform this action.
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http403'
                - description: Standard HTTP 403 permission error response
                  examples:
                  - detail: You do not have permission to perform this action.
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http404'
                - description: Standard HTTP 404 not found error response
                contentMediaType: application/json
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http404'
                - description: Standard HTTP 404 not found error response
                contentMediaType: application/vnd.api+json
        '429':
          description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http429'
                - description: Standard HTTP 429 rate limit error response
                  examples:
                  - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http429'
                - description: Standard HTTP 429 rate limit error response
                  examples:
                  - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
      deprecated: false
  /api/v1/msps/{msp_id}/tickets/count:
    parameters: []
    get:
      tags:
      - MSPs Tickets
      summary: countMspTickets
      description: Return distinct counts of MSP support tickets grouped by the requested field, such as organization, status, or ticket type.
      operationId: countMspTickets
      parameters:
      - name: msp_id
        in: path
        description: ''
        required: true
        schema:
          type: string
          contentEncoding: uuid
          examples:
          - 000000ab-00ab-00ab-00ab-0000000000ab
      - name: distinct
        in: query
        description: 'Field used to group this count response. enum: `org_id`, `status`, `type`'
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/msp_tickets_count_distinct'
          - description: 'Field used to group this count response. enum: `org_id`, `status`, `type`'
      - name: limit
        in: query
        description: Maximum number of results to return per page
        style: form
        explode: true
        schema:
          minimum: 0
          type: integer
          contentEncoding: int32
          default: 100
      responses:
        '200':
          description: Result of Count
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_count'
                - description: Distinct count response for time-bounded search results
                  examples:
                  - distinct: string
                    end: 0
                    limit: 0
                    results:
                    - count: 0
                      property: string
                    start: 0
                    total: 0
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    distinct: string
                    end: 0
                    limit: 0
                    results:
                    - count: 0
                      property: string
                    start: 0
                    total: 0
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_count'
                - description: Distinct count response for time-bounded search results
                  examples:
                  - distinct: string
                    end: 0
                    limit: 0
                    results:
                    - count: 0
                      property: string
                    start: 0
                    total: 0
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    distinct: string
                    end: 0
                    limit: 0
                    results:
                    - count: 0
                      property: string
                    start: 0
                    total: 0
        '400':
          description: Bad Syntax
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http400'
                - description: Standard HTTP 400 bad request error response
                  examples:
                  - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http400'
                - description: Standard HTTP 400 bad request error response
                  examples:
                  - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
        '401':
          description: Unauthorized
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http401'
                - description: Standard HTTP 401 authentication error response
                  examples:
                  - detail: Authentication credentials were not provided.
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    detail: Authentication credentials were not provided.
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http401'
                - description: Standard HTTP 401 authentication error response
                  examples:
                  - detail: Authentication credentials were not provided.
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    detail: Authentication credentials were not provided.
        '403':
          description: Permission Denied
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http403'
                - description: Standard HTTP 403 permission error response
                  examples:
                  - detail: You do not have permission to perform this action.
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    detail: You do not have permission to perform this action.
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http403'
                - description: Standard HTTP 403 permission error response
                  examples:
                  - detail: You do not have permission to perform this action.
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    detail: You do not have permission to perform this action.
        '404':
          description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http404'
                - description: Standard HTTP 404 not found error response
                contentMediaType: application/json
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http404'
                - description: Standard HTTP 404 not found error response
                contentMediaType: application/vnd.api+json
        '429':
          description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http429'
                - description: Standard HTTP 429 rate limit error response
                  examples:
                  - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_http429'
                - description: Standard HTTP 429 rate limit error response
                  examples:
                  - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
      deprecated: false
components:
  schemas:
    response_http403:
      title: response_http403
      type: object
      properties:
        detail:
          type: string
          description: Human-readable explanation of the permission error
          examples:
          - You do not have permission to perform this action.
      description: Standard HTTP 403 permission error response
    count_result:
      title: count_result
      required:
      - count
      type: object
      properties:
        count:
          type: integer
          description: Number of matching items for the distinct value or values in this result
          contentEncoding: int32
      additionalProperties:
        type: string
      description: Count result row with the matching distinct field values
    ticket_comment:
      title: ticket_comment
      required:
      - author
      - comment
      - created_at
      type: object
      properties:
        attachment_ids:
          type: array
          items:
            type: string
            contentEncoding: uuid
          description: Identifiers of attachments linked to this ticket comment
          readOnly: true
          examples:
          - - 00000000-0000-0000-0000-15231a659c78
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/ticket_comments_attachment'
          description: Attachment metadata returned with this ticket comment
          readOnly: true
        author:
          type: string
          description: User who wrote this ticket comment
          readOnly: true
        comment:
          type: string
          description: Text body of this ticket comment
        created_at:
          type: integer
          description: Time when this ticket comment was created, in epoch seconds
          contentEncoding: int32
          readOnly: true
      description: Comment on a support ticket
    msp_tickets_count_distinct:
      title: msp_tickets_count_distinct
      enum:
      - org_id
      - status
      - type
      type: string
      description: 'enum: `org_id`, `status`, `type`'
    response_http400:
      title: response_http400
      type: object
      properties:
        detail:
          type: string
          description: Human-readable explanation of the bad request error
          examples:
          - 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
      description: Standard HTTP 400 bad request error response
    ticket:
      title: ticket
      required:
      - subject
      - type
      type: object
      properties:
        case_number:
          type: string
          description: Support case number associated with this ticket
          readOnly: true
        comments:
          type: array
          items:
            $ref: '#/components/schemas/ticket_comment'
          description: Discussion comments recorded on this support ticket
        created_at:
          type: integer
          description: Time when this support ticket was created, in epoch seconds
          contentEncoding: int32
          readOnly: true
        id:
          type: string
          description: Unique identifier for this support ticket
          contentEncoding: uuid
          readOnly: true
          examples:
          - 53f10664-3ce8-4c27-b382-0ef66432349f
        requester:
          type: string
          description: User who opened or requested this support ticket
          readOnly: true
        requester_email:
          type: string
          description: Email of the requester
          contentEncoding: email
        status:
          allOf:
          - $ref: '#/components/schemas/ticket_status2'
          - description: 'Current lifecycle status of this support ticket. enum: `closed`, `open`, `pending`, `solved`.'
        subject:
          type: string
          description: Short summary of the support request
        type:
          type: string
          description: Question (default) / bug / critical
        updated_at:
          type: integer
          description: Time when this support ticket was last updated, in epoch seconds
          contentEncoding: int32
          readOnly: true
      description: Support ticket record with status, comments, and metadata
    response_http404:
      title: response_http404
      type: object
      properties:
        id:
          type: string
          description: Missing resource identifier, when the API includes one
      description: Standard HTTP 404 not found error response
    response_count:
      title: response_count
      required:
      - distinct
      - end
      - limit
      - results
      - start
      - total
      type: object
      properties:
        distinct:
          type: string
          description: Field used to group the count results
        end:
          type: integer
          description: Search window end timestamp for the count request, in epoch seconds
          contentEncoding: int32
        limit:
          type: integer
          description: Maximum number of distinct count results requested
          contentEncoding: int32
        results:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/count_result'
          description: Count results grouped by the distinct field
        start:
          type: integer
          description: Search window start timestamp for the count request, in epoch seconds
          contentEncoding: int32
        total:
          type: integer
          description: Number of distinct result buckets returned
          contentEncoding: int32
      description: Distinct count response for time-bounded search results
    response_http429:
      title: response_http429
      type: object
      properties:
        detail:
          type: string
          description: Human-readable explanation of the rate limit error
          examples:
          - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
      description: Standard HTTP 429 rate limit error response
    response_http401:
      title: response_http401
      type: object
      properties:
        detail:
          type: string
          description: Human-readable explanation of the authentication error
          examples:
          - Authentication credentials were not provided.
      description: Standard HTTP 401 authentication error response
    ticket_status2:
      title: ticket_status2
      enum:
      - closed
      - open
      - pending
      - solved
      type: string
      description: 'Current lifecycle status of this support ticket. enum: `closed`, `open`, `pending`, `solved`.'
    ticket_comments_attachment:
      title: ticket_comments_attachment
      type: object
      properties:
        content_type:
          type: string
          description: MIME type of the ticket comment attachment
          examples:
          - image/png
        content_url:
          type: string
          description: Download URL for the ticket comment attachment
          examples:
          - https://api.mist.com/api/v1/forward/download?jwt=...
        created_at:
          type: integer
          description: Time when this ticket comment attachment was created, in epoch seconds
          contentEncoding: int32
          examples:
          - 1453908369
        file_name:
          type: string
          description: Original file name of the ticket comment attachment
          examples:
          - crash.png
        id:
          type: string
          description: Unique identifier for this ticket comment attachment
          contentEncoding: uuid
          readOnly: true
          examples:
          - 53f10664-3ce8-4c27-b382-0ef66432349f
        size_in_bytes:
          type: integer
          description: Attachment file size, in bytes
          contentEncoding: int32
          examples:
          - 1943
      description: Metadata for an attachment on a ticket comment
  securitySchemes:
    apiToken:
      type: apiKey
      description: "Preferred authentication method for automation and integrations. Send the API token in the HTTP `Authorization` header.\n\n**Format**:\n  `Authorization: Token {apitoken}`\n\n**Notes**:\n* An API token generated for a specific admin has the same privileges as that admin\n* An API token is automatically removed if it is not used for more than 90 days\n* SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed."
      name: Authorization
      in: header
    csrfToken:
      type: apiKey
      description: 'Session-based authentication for browser or login/password flows. After a successful [Login]($e/Admins%20Login/login) request, Mist returns a `csrftoken` cookie. Send that value in the `X-CSRFToken` header on later API requests that use the login session.


        **Format**:

        ```

        X-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx

        ```


        For automation, API Token authentication is preferred.'
      name: X-CSRFToken
      in: header