Vers commit_tags API
The commit_tags API from Vers — 2 operation(s) for commit_tags.
The commit_tags API from Vers — 2 operation(s) for commit_tags.
openapi: 3.1.0
info:
title: Orchestrator Control Plane commit_tags API
description: ''
license:
name: ''
version: 0.1.0
tags:
- name: commit_tags
paths:
/api/v1/commit_tags:
get:
tags:
- commit_tags
operationId: list_tags
responses:
'200':
description: List of tags
content:
application/json:
schema:
$ref: '#/components/schemas/ListTagsResponse'
'401':
description: Unauthorized
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer_auth: []
post:
tags:
- commit_tags
operationId: create_tag
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTagRequest'
required: true
responses:
'201':
description: Tag created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CreateTagResponse'
'400':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Commit not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'409':
description: Tag already exists
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer_auth: []
/api/v1/commit_tags/{tag_name}:
get:
tags:
- commit_tags
operationId: get_tag
parameters:
- name: tag_name
in: path
description: Tag name
required: true
schema:
type: string
responses:
'200':
description: Tag details
content:
application/json:
schema:
$ref: '#/components/schemas/TagInfo'
'401':
description: Unauthorized
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Tag not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer_auth: []
delete:
tags:
- commit_tags
operationId: delete_tag
parameters:
- name: tag_name
in: path
description: Tag name
required: true
schema:
type: string
responses:
'204':
description: Tag deleted
'401':
description: Unauthorized
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Tag not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer_auth: []
patch:
tags:
- commit_tags
operationId: update_tag
parameters:
- name: tag_name
in: path
description: Tag name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateTagRequest'
required: true
responses:
'204':
description: Tag updated
'400':
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Tag or commit not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
security:
- bearer_auth: []
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
description: Reason of error
success:
type: boolean
description: 'Is always: false'
CreateTagRequest:
type: object
description: Request body for POST /api/v1/commit_tags
required:
- tag_name
- commit_id
properties:
commit_id:
type: string
format: uuid
description: The commit ID this tag should point to
description:
type:
- string
- 'null'
description: Optional description of what this tag represents
tag_name:
type: string
description: The name of the tag (alphanumeric, hyphens, underscores, dots, 1-64 chars)
TagInfo:
type: object
description: Tag information returned in list and get operations
required:
- tag_id
- tag_name
- commit_id
- created_at
- updated_at
properties:
commit_id:
type: string
format: uuid
description: The commit ID this tag currently points to
created_at:
type: string
format: date-time
description: When the tag was created
description:
type:
- string
- 'null'
description: Optional description of what this tag represents
tag_id:
type: string
format: uuid
description: The tag's unique identifier
tag_name:
type: string
description: The name of the tag
updated_at:
type: string
format: date-time
description: When the tag was last updated (moved to different commit or description changed)
CreateTagResponse:
type: object
description: Response body for POST /api/v1/commit_tags
required:
- tag_id
- tag_name
- commit_id
properties:
commit_id:
type: string
format: uuid
description: The commit ID this tag points to
tag_id:
type: string
format: uuid
description: The ID of the newly created tag
tag_name:
type: string
description: The name of the tag
UpdateTagRequest:
type: object
description: 'Request body for PATCH /api/v1/commit_tags/{tag_name}
For `description`:
- Field absent from JSON → don''t change the description
- Field present as `null` → clear the description
- Field present as `"text"` → set the description to "text"'
properties:
commit_id:
type:
- string
- 'null'
format: uuid
description: Optional new commit ID to move the tag to
description:
type:
- string
- 'null'
description: Optional new description for the tag. Send `null` to clear an existing description.
ListTagsResponse:
type: object
description: Response body for GET /api/v1/commit_tags
required:
- tags
properties:
tags:
type: array
items:
$ref: '#/components/schemas/TagInfo'
description: List of all tags in the user's organization
securitySchemes:
bearer_auth:
type: http
scheme: bearer
bearerFormat: Token