OpenAPI Specification
openapi: 3.1.0
info:
title: Govly Tools API (Alpha) Awards Workspace Comments API
version: 1.0.0-alpha
description: 'ALPHA / UNSTABLE: This API is still in active development. Endpoint behavior, request fields, response fields, error codes, and operation names may change before the Tools API is declared stable.
REST-callable tool surface for agent and automation workflows. Agents are the primary consumer, but integrations can be built on this API. Responses are JSON for typed clients; MCP tools may render action results into text-oriented formats separately.
'
servers:
- url: https://app.govly.com
security:
- bearerApiKey: []
- headerApiKey: []
tags:
- name: Workspace Comments
description: Post comments to workspaces.
paths:
/api/tools/v1/workspaces/{workspaceId}/comments:
post:
tags:
- Workspace Comments
operationId: create_workspace_comment
summary: Post a Markdown comment to a workspace
parameters:
- $ref: '#/components/parameters/workspaceId'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- body
properties:
body:
type: string
description: Markdown comment body.
responses:
'201':
description: Created workspace comment
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/Comment'
meta:
type: object
properties:
workspaceId:
type: string
'401':
$ref: '#/components/responses/Error'
'403':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
'422':
$ref: '#/components/responses/Error'
components:
parameters:
workspaceId:
name: workspaceId
in: path
required: true
schema:
type: string
responses:
Error:
description: Error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
schemas:
WorkspaceAttachment:
type: object
required:
- id
- workspaceId
- filename
properties:
id:
type: string
workspaceId:
type: string
commentId:
type: string
nullable: true
filename:
type: string
contentType:
type: string
byteSize:
type: integer
createdAt:
type: string
format: date-time
file:
description: Present only on the workspace attachments endpoint. Workspace show responses surface attachments without download metadata.
$ref: '#/components/schemas/AttachmentFile'
ErrorEnvelope:
type: object
required:
- errors
properties:
errors:
type: array
items:
type: object
required:
- status
- code
- title
- detail
properties:
status:
type: string
code:
type: string
title:
type: string
detail:
type: string
source:
type: object
properties:
pointer:
type: string
Comment:
type: object
required:
- id
- body
- createdAt
- attachments
properties:
id:
type: string
body:
type: string
description: Markdown body for the comment.
attachments:
type: array
description: Workspace attachments tied to this comment.
items:
$ref: '#/components/schemas/WorkspaceAttachment'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
AttachmentFile:
type: object
description: Presigned download metadata. Omitted when the attachment is redacted or URLs are excluded.
required:
- url
- expiresAt
properties:
url:
type: string
format: uri
expiresAt:
type: string
format: date-time
securitySchemes:
bearerApiKey:
type: http
scheme: bearer
bearerFormat: API key
headerApiKey:
type: apiKey
in: header
name: X-API-KEY