openapi: 3.0.1
info:
  description: |
    The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`.

    This feature provides:

    * Support for automation.
    * Powerful and flexible reports/dashboards.
    * Support for third-party integrations.

    Things to note with the ThousandEyes Tags API:

    * Tags are backwards-compatible with existing labels.
    * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field.
    * Tags are defined in a single table so that they can be represented using a single model - `Tag`.
  title: Tags API
  version: 7.0.34
servers:
- description: ThousandEyes API production URL
  url: https://api.thousandeyes.com/v7
security:
- BearerAuth: []
tags:
- description: Tag CRUD Operations
  name: Tags
- description: Assign tags to other objects
  name: Tag Assignment
paths:
  /tags:
    get:
      description: This operation returns a list of tags in the specified account
        group (`aid`).
      operationId: getTags
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      - description: "Optional, to retrieve associated assignments"
        explode: true
        in: query
        name: expand
        required: false
        schema:
          example:
          - assignments
          items:
            $ref: '#/components/schemas/ExpandTagsOptions'
          type: array
        style: form
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tags'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: URI Resource Not Found
                status: 404
                detail: Details explaining if the 404 error is related to an invalid
                  URI or a wrong ID
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: List tags
      tags:
      - Tags
    post:
      description: Creates a new tag.
      operationId: createTag
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagInfo'
        description: Tag resource
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagInfo'
          description: item created
        "400":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Request validation failed. There are invalid or missing fields
                status: 400
                detail: Your request object contains invalid fields.
                instance: /v7
                errors:
                - code: AM-5432
                  field: firstName
                  message: firstName cannot have fancy characters
                - code: DASH-5622
                  field: password
                  message: Password cannot be blank
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "409":
          description: An existing item already exists
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Create tag
      tags:
      - Tags
  /tags/bulk:
    post:
      description: "Creates multiple tags. Note the response includes a `statuses`\
        \ array. This array provides status information for each tag object, indexed\
        \ 1:1 with the `tags` array.  "
      operationId: createTags
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkTagResponse'
        description: Tag resource
      responses:
        "207":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkTagResponse'
          description: Item created
        "400":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: Request validation failed. There are invalid or missing fields
                status: 400
                detail: Your request object contains invalid fields.
                instance: /v7
                errors:
                - code: AM-5432
                  field: firstName
                  message: firstName cannot have fancy characters
                - code: DASH-5622
                  field: password
                  message: Password cannot be blank
              schema:
                $ref: '#/components/schemas/ValidationError'
          description: Bad Request
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Create multiple tags
      tags:
      - Tags
  /tags/{id}:
    delete:
      description: Deletes a tag.
      operationId: deleteTag
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      - description: Tag ID
        example: c6b78e57-81a2-4c5f-a11a-d96c3c664d55
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      responses:
        "204":
          description: No content
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: URI Resource Not Found
                status: 404
                detail: Details explaining if the 404 error is related to an invalid
                  URI or a wrong ID
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Delete tag
      tags:
      - Tags
    get:
      description: Retrieves a tag using its ID.
      operationId: getTag
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      - description: Tag ID
        example: c6b78e57-81a2-4c5f-a11a-d96c3c664d55
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      - description: "Optional, to retrieve associated assignments"
        explode: true
        in: query
        name: expand
        required: false
        schema:
          example:
          - assignments
          items:
            $ref: '#/components/schemas/ExpandTagsOptions'
          type: array
        style: form
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Tag'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: URI Resource Not Found
                status: 404
                detail: Details explaining if the 404 error is related to an invalid
                  URI or a wrong ID
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Retrieve tag
      tags:
      - Tags
    put:
      description: Updates a tag.
      operationId: updateTag
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      - description: ID of tag to update
        example: c6b78e57-81a2-4c5f-a11a-d96c3c664d55
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TagInfo'
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagInfo'
          description: OK
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: URI Resource Not Found
                status: 404
                detail: Details explaining if the 404 error is related to an invalid
                  URI or a wrong ID
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Update tag
      tags:
      - Tags
  /tags/assign:
    post:
      description: "Assigns the specified tags to the specified objects. This operation\
        \ has cumulative behavior: The tags are assigned to the specified objects,\
        \ and the previous assignments persist. No unassignment takes place."
      operationId: assignTags
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        $ref: '#/components/requestBodies/bulkAssignRequest'
      responses:
        "207":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkTagAssignments'
          description: Item created
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: URI Resource Not Found
                status: 404
                detail: Details explaining if the 404 error is related to an invalid
                  URI or a wrong ID
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Assign multiple tags to multiple objects
      tags:
      - Tag Assignment
  /tags/unassign:
    post:
      description: Removes the specified tags from one or more objects.
      operationId: unassignTags
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      requestBody:
        $ref: '#/components/requestBodies/bulkAssignRequest'
      responses:
        "207":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkTagAssignments'
          description: Tag assignments created
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: URI Resource Not Found
                status: 404
                detail: Details explaining if the 404 error is related to an invalid
                  URI or a wrong ID
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Remove multiple tags from multiple objects
      tags:
      - Tag Assignment
  /tags/{id}/assign:
    post:
      description: "Assigns a tag to one or more objects. This operation has cumulative\
        \ behavior: The tag is assigned to the specified objects, and the previous\
        \ assignments persist. No unassignment takes place."
      operationId: assignTag
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      - description: Tag ID
        example: c6b78e57-81a2-4c5f-a11a-d96c3c664d55
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        $ref: '#/components/requestBodies/assignRequest'
      responses:
        "207":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkTagAssignment'
          description: Assignment created
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: URI Resource Not Found
                status: 404
                detail: Details explaining if the 404 error is related to an invalid
                  URI or a wrong ID
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Assign tag to multiple objects
      tags:
      - Tag Assignment
  /tags/{id}/unassign:
    post:
      description: Removes a tag from one or more objects.
      operationId: unassignTag
      parameters:
      - description: A unique identifier associated with your account group. You can
          retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note
          that you must be assigned to the target account group. Specifying this parameter
          without being assigned to the target account group will result in an error
          response.
        in: query
        name: aid
        required: false
        schema:
          example: "1234"
          type: string
      - description: Tag ID
        example: c6b78e57-81a2-4c5f-a11a-d96c3c664d55
        explode: false
        in: path
        name: id
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        $ref: '#/components/requestBodies/assignRequest'
      responses:
        "204":
          description: No content
        "401":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
          description: Unauthorized
        "403":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Insufficient permissions to query endpoint
        "404":
          content:
            application/problem+json:
              example:
                type: about:blank
                title: URI Resource Not Found
                status: 404
                detail: Details explaining if the 404 error is related to an invalid
                  URI or a wrong ID
                instance: /v7
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        "429":
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Exhausted rate limit for the organization
        "500":
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
          description: Internal Server Error
      summary: Remove tag from multiple objects
      tags:
      - Tag Assignment
components:
  parameters:
    ExpandTags:
      description: "Optional, to retrieve associated assignments"
      explode: true
      in: query
      name: expand
      required: false
      schema:
        example:
        - assignments
        items:
          $ref: '#/components/schemas/ExpandTagsOptions'
        type: array
      style: form
    TagIdPath:
      description: Tag ID
      example: c6b78e57-81a2-4c5f-a11a-d96c3c664d55
      explode: false
      in: path
      name: id
      required: true
      schema:
        type: string
      style: simple
    AccountGroupId:
      description: A unique identifier associated with your account group. You can
        retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that
        you must be assigned to the target account group. Specifying this parameter
        without being assigned to the target account group will result in an error
        response.
      in: query
      name: aid
      required: false
      schema:
        example: "1234"
        type: string
  requestBodies:
    assignRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/TagAssignment'
      required: true
    bulkAssignRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BulkTagAssignments'
      required: true
  responses:
    "401":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
      description: Unauthorized
    "403":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Insufficient permissions to query endpoint
    "404":
      content:
        application/problem+json:
          example:
            type: about:blank
            title: URI Resource Not Found
            status: 404
            detail: Details explaining if the 404 error is related to an invalid URI
              or a wrong ID
            instance: /v7
          schema:
            $ref: '#/components/schemas/Error'
      description: Not found
    "429":
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Exhausted rate limit for the organization
    "400":
      content:
        application/problem+json:
          example:
            type: about:blank
            title: Request validation failed. There are invalid or missing fields
            status: 400
            detail: Your request object contains invalid fields.
            instance: /v7
            errors:
            - code: AM-5432
              field: firstName
              message: firstName cannot have fancy characters
            - code: DASH-5622
              field: password
              message: Password cannot be blank
          schema:
            $ref: '#/components/schemas/ValidationError'
      description: Bad Request
    "204":
      description: No content
  schemas:
    ExpandTagsOptions:
      enum:
      - assignments
      type: string
    TagInfo:
      properties:
        assignments:
          items:
            $ref: '#/components/schemas/Assignment'
          readOnly: true
          type: array
        accessType:
          $ref: '#/components/schemas/AccessType'
        aid:
          description: The account group ID
          example: 1234
          readOnly: true
          type: integer
        color:
          description: Tag color
          example: '#FF0000'
          type: string
        createDate:
          description: Tag creation date
          example: 2022-03-01T23:31:11Z
          format: "yyyy-MM-ddTHH:mm[:ss]Z"
          readOnly: true
          type: string
        icon:
          nullable: true
          type: string
        description:
          description: The tag's description.
          example: To tag assets in San Francisco
          nullable: true
          type: string
        id:
          description: The tag ID
          example: 5aeab5d5-0d34-4d44-a7ac-fb440185295c
          format: uuid
          readOnly: true
          type: string
        key:
          description: The tags's key
          example: branch
          type: string
        legacyId:
          nullable: true
          readOnly: true
          type: number
        objectType:
          $ref: '#/components/schemas/ObjectType'
        value:
          description: The tag's value
          example: sfo
          type: string
      type: object
    ObjectType:
      description: The object type associated with the tag
      enum:
      - test
      - dashboard
      - endpoint-test
      - v-agent
      example: test
      type: string
    AccessType:
      description: The access level of the tag. The access level impacts the visibility
        of the label in UI and the permissions to modify the label.
      enum:
      - all
      - partner
      - system
      example: all
      type: string
    Tag:
      allOf:
      - $ref: '#/components/schemas/TagInfo'
      - properties:
          _links:
            $ref: '#/components/schemas/SelfLinks'
        type: object
    TagAssignment:
      properties:
        assignments:
          items:
            $ref: '#/components/schemas/Assignment'
          type: array
      type: object
    Assignment:
      properties:
        id:
          description: Object Id
          example: "123"
          type: string
        type:
          $ref: '#/components/schemas/AssignmentType'
      type: object
    AssignmentType:
      enum:
      - test
      - v-agent
      - endpoint-test
      - dashboard
      type: string
    BulkTagAssignment:
      allOf:
      - properties:
          tagId:
            description: The ID of the tag to assign
            example: c6b78e57-81a2-4c5f-a11a-d96c3c664d55
            format: uuid
            type: string
        type: object
      - $ref: '#/components/schemas/TagAssignment'
    BulkTagAssignments:
      properties:
        tags:
          items:
            $ref: '#/components/schemas/BulkTagAssignment'
          type: array
      type: object
    Tags:
      properties:
        tags:
          items:
            $ref: '#/components/schemas/Tag'
          type: array
        _links:
          $ref: '#/components/schemas/SelfLinks'
      type: object
    TagBulkCreateError:
      properties:
        tag:
          additionalProperties:
            $ref: '#/components/schemas/TagInfo'
          type: object
        responseCode:
          description: HTTP response code
          example: 200
          type: integer
        message:
          description: Status / error message
          example: Object successfully created
          type: string
      type: object
    BulkTagResponse:
      properties:
        tags:
          items:
            $ref: '#/components/schemas/Tag'
          type: array
        errors:
          items:
            $ref: '#/components/schemas/TagBulkCreateError'
          readOnly: true
          type: array
      type: object
    UnauthorizedError:
      properties:
        error:
          example: invalid_token
          type: string
        error_description:
          example: Invalid access token
          type: string
      type: object
    Error:
      properties:
        type:
          description: "A URI reference that identifies the problem type. When this\
            \ member is not present, its value is assumed to be \"about:blank\"."
          type: string
        title:
          description: "A short, human-readable summary of the problem type."
          type: string
        status:
          description: The HTTP status code generated by the origin server for this
            occurrence of the problem.
          type: integer
        detail:
          description: A human-readable explanation specific to this occurrence of
            the problem.
          type: string
        instance:
          description: A URI reference that identifies the specific occurrence of
            the problem.
          type: string
      type: object
    ApiError:
      properties:
        timestamp:
          example: 1679677853573
          format: int64
          type: integer
        status:
          example: 500
          type: integer
        errors:
          example: Internal Server Error
          type: string
        path:
          example: https://api.thousandeyes.com/v7/request/path
          format: url
          type: string
      type: object
    ValidationError:
      allOf:
      - $ref: '#/components/schemas/Error'
      - properties:
          errors:
            description: "(Optional) When multiple errors occur, the details for each\
              \ error are listed."
            items:
              $ref: '#/components/schemas/ValidationErrorItem'
            nullable: true
            type: array
        type: object
      type: object
    ValidationErrorItem:
      properties:
        code:
          description: (Optional) A unique error type/code that can be referenced
            in the documentation for further details.
          type: string
        field:
          description: Identifies the field that triggered this particular error.
          type: string
        message:
          description: "A short, human-readable summary of the error."
          type: string
      type: object
    SelfLinks:
      description: A links object containing the self link.
      properties:
        self:
          $ref: '#/components/schemas/Link'
      readOnly: true
      type: object
    Link:
      description: A hyperlink from the containing resource to a URI.
      properties:
        href:
          description: "Its value is either a URI [RFC3986] or a URI template [RFC6570]."
          example: https://api.thousandeyes.com/v7/link/to/resource/id
          type: string
        templated:
          description: Should be true when the link object's "href" property is a
            URI template.
          type: boolean
        type:
          description: Used as a hint to indicate the media type expected when dereferencing
            the target resource.
          type: string
        deprecation:
          description: Its presence indicates that the link is to be deprecated at
            a future date. Its value is a URL that should provide further information
            about the deprecation.
          type: string
        name:
          description: Its value may be used as a secondary key for selecting link
            objects that share the same relation type.
          type: string
        profile:
          description: A URI that hints about the profile of the target resource.
          type: string
        title:
          description: Intended for labelling the link with a human-readable identifier
          type: string
        hreflang:
          description: Indicates the language of the target resource
          type: string
      required:
      - href
      type: object
  securitySchemes:
    BearerAuth:
      description: Bearer authentication token
      scheme: bearer
      type: http
