Arctic Wolf Comment API
The Comment API from Arctic Wolf — 1 operation(s) for comment.
The Comment API from Arctic Wolf — 1 operation(s) for comment.
openapi: 3.1.0
info:
description: 'APIs for retrieving and closing tickets for an organization.
'
title: Ticket Attachment Comment API
version: 1.0.0
servers:
- description: US001
url: https://ticket-api.managedgw.us001-prod.arcticwolf.net
- description: US002
url: https://ticket-api.managedgw.us002-prod.arcticwolf.net
- description: US003
url: https://ticket-api.managedgw.us003-prod.arcticwolf.net
- description: EU001
url: https://ticket-api.managedgw.eu001-prod.arcticwolf.net
- description: AU001
url: https://ticket-api.managedgw.au001-prod.arcticwolf.net
- description: CA001
url: https://ticket-api.managedgw.ca001-prod.arcticwolf.net
tags:
- name: Comment
paths:
/api/v1/organizations/{organizationUuid}/tickets/{ticketId}/comments:
post:
summary: Add a comment to a ticket
description: Add a new comment to an existing ticket
operationId: addCommentToTicket
security:
- BearerAuth: []
tags:
- Comment
parameters:
- $ref: '#/components/parameters/OrganizationUuid'
- $ref: '#/components/parameters/TicketId'
requestBody:
$ref: '#/components/requestBodies/AddCommentRequest'
responses:
'200':
$ref: '#/components/responses/AddCommentResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/InternalServerError'
components:
schemas:
User:
type: object
description: Represents a user (assignee or author)
properties:
firstName:
type: string
pattern: ^[a-zA-Z\s\-\.,\']*$
minLength: 1
maxLength: 100
description: First name of the user
lastName:
type: string
pattern: ^[a-zA-Z\s\-\.,\']*$
minLength: 1
maxLength: 100
description: Last name of the user
email:
type: string
format: email
pattern: ^[^@\s]+@[^@\s]+\.[^@\s]+$
minLength: 3
maxLength: 254
description: Email address of the user
CommentType:
type: string
description: Type of comment
enum:
- PUBLIC
- INTERNAL
minLength: 6
maxLength: 8
AddCommentRequest:
type: object
description: Request body for adding a comment to a ticket
required:
- body
properties:
body:
type: string
minLength: 1
maxLength: 65535
pattern: ^[\s\S]*$
description: The comment text to add (maximum 65535 characters)
examples:
- We are currently investigating this issue.
Error:
type: object
description: Error envelope; returned when we encounter an error
required:
- code
properties:
code:
description: Error code identifier
type: string
pattern: ^[a-zA-Z0-9_-]+$
minLength: 1
maxLength: 100
description:
description: Detailed error description
type: string
pattern: ^[\s\S]*$
minLength: 1
maxLength: 1000
Comment:
type: object
description: Represents a comment on a ticket
properties:
id:
type: integer
format: int64
minimum: 1
maximum: 9223372036854776000
description: Unique identifier for the comment
body:
type: string
minLength: 1
maxLength: 65535
pattern: ^[\s\S]*$
description: Comment body text (maximum 65535 characters)
author:
$ref: '#/components/schemas/User'
description: User who authored the comment
createdAt:
type: string
format: date-time
pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?([+-]\d{2}:\d{2}|Z)$
minLength: 19
maxLength: 29
description: Timestamp when the comment was created (ISO 8601, UTC)
type:
$ref: '#/components/schemas/CommentType'
description: Indicates whether the comment is public or internal
responses:
ForbiddenError:
description: Authenticated but insufficient permissions
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
forbidden:
value:
code: forbidden
description: Insufficient permissions to access this resource.
AddCommentResponse:
description: Comment successfully added to ticket
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
examples:
addedComment:
$ref: '#/components/examples/CommentAddedExample'
NotFoundError:
description: Ticket not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
notFound:
value:
code: not_found
description: Ticket with ID 12345 was not found.
attachmentNotFound:
value:
code: not_found
description: Attachment with ID 123 belonging to Ticket with ID 456 was not found.
UnauthorizedError:
description: Authentication required or token invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
unauthorized:
value:
code: unauthorized
description: Invalid or expired authentication token.
BadRequestError:
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
badRequest:
value:
code: invalid_request
description: The 'limit' parameter must be less than or equal to 100.
InternalServerError:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
internalError:
value:
code: internal_server_error
description: An unexpected error occurred while processing your request.
requestBodies:
AddCommentRequest:
description: Add comment to a ticket
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AddCommentRequest'
parameters:
TicketId:
in: path
name: ticketId
required: true
schema:
type: integer
format: int64
minimum: 1
maximum: 9223372036854776000
description: The unique identifier for the ticket
examples:
ticketId:
value: 12345
OrganizationUuid:
in: path
name: organizationUuid
required: true
schema:
type: string
format: uuid
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
minLength: 36
maxLength: 36
description: The unique identifier for the organization
examples:
uuid:
value: 550e8400-e29b-41d4-a716-446655440000
examples:
CommentAddedExample:
summary: Example of a comment added to a ticket
value:
id: 90002
body: Thank you for reporting this issue. I've escalated it to our engineering team and will provide an update within 24 hours.
author:
firstName: Jane
lastName: Smith
email: agent@example.com
createdAt: '2026-03-04T14:30:00Z'
type: PUBLIC
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT