Securonix Object Comments API

The Object Comments API from Securonix — 3 operation(s) for object comments.

Operations 8

GET /{object_type}/comments/{object_type_comment_id} (Short) Get a Single Comment for an Object Type #
PUT /{object_type}/comments/{object_type_comment_id} (Short) Update a Comment for an Object Type #
DELETE /{object_type}/comments/{object_type_comment_id} (Short) Delete a Comment for an Object Type #
GET /{object_type}/{object_type_id}/comments List Comments for an Object Type #
POST /{object_type}/{object_type_id}/comments Create a Comment for an Object Type #
GET /{object_type}/{object_type_id}/comments/{object_type_comment_id} Get a Single Comment for an Object Type #
PUT /{object_type}/{object_type_id}/comments/{object_type_comment_id} Update a Comment for an Object Type #
DELETE /{object_type}/{object_type_id}/comments/{object_type_comment_id} Delete a Comment for an Object Type #

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/securonix-object-comments-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

securonix-object-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ThreatQ Object Comments API
  description: '© 2025


    The API doc you are viewing is a BETA version that provides an early look at ThreatQ’s new API documentation format.'
  license:
    name: null
    url: null
  version: 1.0.0
  x-logo:
    url: null
    backgroundColor: null
    altText: ThreatQuotient
servers:
- description: SwaggerHub API Auto Mocking
  url: https://virtserver.swaggerhub.com/securonix-b7a/ThreatQ/1.0.0
- url: https://threatq.com/api
  description: ThreatQ Server
security:
- BearerAuth: []
tags:
- name: Object Comments
paths:
  /{object_type}/comments/{object_type_comment_id}:
    get:
      tags:
      - Object Comments
      summary: (Short) Get a Single Comment for an Object Type
      parameters:
      - $ref: '#/components/parameters/ObjectType'
      - $ref: '#/components/parameters/ObjectTypeCommentId'
      - $ref: '#/components/parameters/ObjectCommentWith'
      responses:
        '200':
          description: Request Successful
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ObjectCommentWithRelations'
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-visibility: public
      operationId: getByObjectTypeCommentsByObjectTypeCommentId
      x-operation-id-source: derived
    put:
      tags:
      - Object Comments
      summary: (Short) Update a Comment for an Object Type
      parameters:
      - $ref: '#/components/parameters/ObjectType'
      - $ref: '#/components/parameters/ObjectTypeCommentId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectCommentFillable'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      allOf:
                      - properties:
                          sources:
                            type: array
                            items:
                              $ref: '#/components/schemas/ObjectCommentSource'
                        type: object
                      - $ref: '#/components/schemas/ObjectComment'
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-visibility: public
      operationId: putByObjectTypeCommentsByObjectTypeCommentId
      x-operation-id-source: derived
    delete:
      tags:
      - Object Comments
      summary: (Short) Delete a Comment for an Object Type
      parameters:
      - $ref: '#/components/parameters/ObjectType'
      - $ref: '#/components/parameters/ObjectTypeCommentId'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-visibility: public
      operationId: deleteByObjectTypeCommentsByObjectTypeCommentId
      x-operation-id-source: derived
  /{object_type}/{object_type_id}/comments:
    get:
      tags:
      - Object Comments
      summary: List Comments for an Object Type
      parameters:
      - $ref: '#/components/parameters/ObjectType'
      - $ref: '#/components/parameters/ObjectTypeId'
      - $ref: '#/components/parameters/ObjectCommentWith'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: Request Successful
          content:
            application/json:
              schema:
                allOf:
                - properties:
                    data:
                      type: array
                      items:
                        $ref: '#/components/schemas/ObjectCommentWithRelations'
                  type: object
                - $ref: '#/components/schemas/TotalResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-visibility: public
      operationId: getByObjectTypeByObjectTypeIdComments
      x-operation-id-source: derived
    post:
      tags:
      - Object Comments
      summary: Create a Comment for an Object Type
      parameters:
      - $ref: '#/components/parameters/ObjectType'
      - $ref: '#/components/parameters/ObjectTypeId'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ObjectCommentFillable'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      allOf:
                      - properties:
                          sources:
                            type: array
                            items:
                              $ref: '#/components/schemas/ObjectCommentSource'
                        type: object
                      - $ref: '#/components/schemas/ObjectComment'
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-visibility: public
      operationId: postByObjectTypeByObjectTypeIdComments
      x-operation-id-source: derived
  /{object_type}/{object_type_id}/comments/{object_type_comment_id}:
    get:
      tags:
      - Object Comments
      summary: Get a Single Comment for an Object Type
      parameters:
      - $ref: '#/components/parameters/ObjectType'
      - $ref: '#/components/parameters/ObjectTypeId'
      - $ref: '#/components/parameters/ObjectTypeCommentId'
      - $ref: '#/components/parameters/ObjectCommentWith'
      responses:
        '200':
          description: Request Successful
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/ObjectCommentWithRelations'
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-visibility: public
      operationId: getByObjectTypeByObjectTypeIdCommentsByObjectTypeCommentId
      x-operation-id-source: derived
    put:
      tags:
      - Object Comments
      summary: Update a Comment for an Object Type
      parameters:
      - $ref: '#/components/parameters/ObjectType'
      - $ref: '#/components/parameters/ObjectTypeId'
      - $ref: '#/components/parameters/ObjectTypeCommentId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObjectCommentFillable'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      allOf:
                      - properties:
                          sources:
                            type: array
                            items:
                              $ref: '#/components/schemas/ObjectCommentSource'
                        type: object
                      - $ref: '#/components/schemas/ObjectComment'
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-visibility: public
      operationId: putByObjectTypeByObjectTypeIdCommentsByObjectTypeCommentId
      x-operation-id-source: derived
    delete:
      tags:
      - Object Comments
      summary: Delete a Comment for an Object Type
      parameters:
      - $ref: '#/components/parameters/ObjectType'
      - $ref: '#/components/parameters/ObjectTypeId'
      - $ref: '#/components/parameters/ObjectTypeCommentId'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-visibility: public
      operationId: deleteByObjectTypeByObjectTypeIdCommentsByObjectTypeCommentId
      x-operation-id-source: derived
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: <br>The number of objects included in the response.
      required: false
      style: form
      explode: false
      schema:
        type: integer
        example: 10
    Sort:
      name: sort
      in: query
      description: "<br>Designate the field(s) you want to use to sort the retrieved list. You can prepend each field \n        with a minus sign (-) to reverse the sorting order. This string can be a list of comma-separated values."
      required: false
      style: form
      explode: false
      schema:
        type: string
        example: id,created_at
    ObjectCommentWith:
      name: with
      in: query
      description: "<br>Object Relationships that can be included in the response.<br><br>Options include: `<object_code>`, sources\n <br><br>The `<object_code>` placeholder in the options takes the value of the `code` field for an object definition.<br><br>"
      required: false
      style: form
      explode: false
      schema:
        type: array
        items:
          type: string
          example: indicator,sources
    ObjectTypeId:
      name: object_type_id
      in: path
      description: The ID for the record of the specified Object Type whose context you would like to retrieve
      required: true
      schema:
        type: integer
        example: 6
    ObjectTypeCommentId:
      name: object_type_comment_id
      in: path
      description: The ID of the Comment record for the specified Object Type
      required: true
      schema:
        type: integer
    Offset:
      name: offset
      in: query
      description: <br>The number of result set records that should be ignored.
      required: false
      style: form
      explode: false
      schema:
        type: integer
        example: 50
    ObjectType:
      name: object_type
      in: path
      description: 'The collection identifier for the Object Type whose context you would like to retrieve. Options include:

        adversaries, attachments, attack_pattern, campaign, course_of_action, event, exploit_target, identity, incident,

        indicators, intrustion_set, malware, report, signature, tool, ttp, and vulnerability. If you have any additional custom

        objects installed on your system, use the value for the `collection` field associated with the object definition.'
      required: true
      schema:
        type: string
        example: indicators
  schemas:
    SourceType:
      properties:
        type:
          description: 'Source Type - Options include: clients, connectors (Feeds), other_sources, plugins, or users'
          type: string
          example: other_sources
      type: object
    CreatorSource:
      properties:
        creator_source_id:
          description: Creator Source ID - Source ID of User, Feed, or other means that brought the object into the system
          type: integer
          example: 2
      type: object
    TotalResponse:
      properties:
        total:
          description: Total Number of Objects Processed
          type: integer
          example: 1
      type: object
    IndicatorFillable:
      properties:
        type_id:
          description: Indicator Type ID
          type: integer
          example: 11
        status_id:
          description: Indicator Status ID
          type: integer
          example: 2
        class:
          description: 'Indicator Class - Options include: host, network'
          type: string
          example: network
        value:
          description: Indicator Value
          type: string
          example: www.danger-doom.com
        description:
          description: Indicator Description
          type: string
          example: Website encountered during incident investigation.
      type: object
    SourceFillable:
      allOf:
      - properties:
          score:
            description: Source Score - Ranges from -10 to 10
            type: integer
            example: 6
          default_tlp_id:
            description: Source Default TLP ID - the TLP that should be assigned for the Source if none is provided
            type: integer
            example: 3
        type: object
      - $ref: '#/components/schemas/SourceType'
      - $ref: '#/components/schemas/SourceReferenceId'
      - $ref: '#/components/schemas/SourceName'
    ObjectTypeId:
      properties:
        <object_type>_id:
          description: "Object Type ID - `<object_type>` should be replaced with the Object Type `code` field. This field will match the\n Object Type collection specified in the URL path. Example: indicator_id"
          type: integer
          example: 517
      type: object
    ObjectCommentSource:
      allOf:
      - properties:
          pivot:
            type: object
            allOf:
            - properties:
                id:
                  description: Object Comment Source ID
                  type: integer
                  example: 81
              type: object
            - $ref: '#/components/schemas/CreatorSource'
        type: object
      - $ref: '#/components/schemas/Source'
    Source:
      allOf:
      - properties:
          id:
            description: Source ID
            type: integer
            example: 1
          expire_days:
            description: Number of days after which Objects with this Source will expire
            type: integer
            example: 12
          expires_needs_calc:
            description: Determines whether expiration for Objects with this Source needs recalculating
            type: string
            example: N
        type: object
      - $ref: '#/components/schemas/SourceFillable'
      - $ref: '#/components/schemas/ThreatQTimestamps'
    ThreatQTimestamps:
      properties:
        created_at:
          description: Creation Date
          type: string
          example: '2021-07-29 13:58:03'
        updated_at:
          description: Update Date
          type: string
          example: '2022-04-12 08:32:16'
      type: object
    ObjectCommentWithRelations:
      allOf:
      - properties:
          sources:
            type: array
            items:
              $ref: '#/components/schemas/ObjectCommentSource'
        type: object
      - properties:
          indicator:
            type: array
            items:
              $ref: '#/components/schemas/Indicator'
        type: object
      - $ref: '#/components/schemas/ObjectComment'
    SourceName:
      properties:
        name:
          description: Source Name
          type: string
          example: ThreatQ
      type: object
    ObjectComment:
      allOf:
      - properties:
          id:
            description: Object Type Comment ID
            type: integer
            example: 39
        type: object
      - $ref: '#/components/schemas/ObjectTypeId'
      - $ref: '#/components/schemas/CreatorSource'
      - $ref: '#/components/schemas/ObjectCommentFillable'
      - $ref: '#/components/schemas/ThreatQTimestamps'
    Indicator:
      allOf:
      - properties:
          id:
            description: Indicator ID
            type: integer
            example: 54
        type: object
      - properties:
          hash:
            description: Indicator Hash
            type: string
            example: 4aba5ab07a3bda558d5d725a09d93ba6
          last_detected_at:
            description: Date the Indicator was last encountered
            type: string
            example: '2020-02-28 13:42:51'
          expires_at:
            description: Date the Indicator will expire
            type: string
            example: '2020-04-01 03:17:23'
          expired_at:
            description: Date the Indicator expired
            type: string
            example: null
          expired_needs_calc:
            description: Determines whether the Indicator's expiration date needs updating
            type: string
            example: N
          expires_calculated_at:
            description: Date the Indicator's expiration date was calculated
            type: string
            example: '2020-02-28 18:36:24'
        type: object
      - $ref: '#/components/schemas/IndicatorFillable'
      - $ref: '#/components/schemas/ThreatQTimestamps'
      - $ref: '#/components/schemas/TouchedAtTimestamp'
    TouchedAtTimestamp:
      properties:
        touched_at:
          description: Update Date for Object Context (Attributes, Comments, Sources, Relationships)
          type: string
          example: '2021-11-13 15:28:17'
      type: object
    ObjectCommentFillable:
      properties:
        value:
          description: Comment value
          type: string
          example: There's something odd happening...
      type: object
    SourceReferenceId:
      properties:
        reference_id:
          description: Source Reference ID - points to related Client, Connector (Feed), Other Source, Plugin, or User
          type: integer
          example: 2
      type: object
  responses:
    Unauthorized:
      description: Unauthorized
    NotFound:
      description: Object Not Found
    NoContent:
      description: Object(s) were successfully deleted.
  securitySchemes:
    BearerAuth:
      type: http
      description: "Once authorized, all subsequent requests must include an `Authorization` header\n with the granted `access_token`. See the OAuth2 Authentication path for more information on how to authorize a User.<br><br>\n Example Header: `Authorization: Bearer <access_token>`"
      name: Authorization
      in: header
      bearerFormat: Bearer `<access_token>`
      scheme: bearer