Files
KanbanGit/docs/openapi/kanbangit-api.openapi.json
T

2698 lines
68 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "KanbanGit Application API",
"version": "0.1.0",
"description": "First-party JSON API for KanbanGit UI-equivalent workflows. Application endpoints require a bearer application key created in Settings > Applications."
},
"servers": [
{
"url": "/api"
}
],
"security": [
{
"ApplicationKey": []
}
],
"tags": [
{
"name": "Projects"
},
{
"name": "Tickets"
},
{
"name": "Board"
},
{
"name": "Metadata"
},
{
"name": "Repositories"
},
{
"name": "Git Connections"
},
{
"name": "Users"
}
],
"paths": {
"/projects": {
"get": {
"tags": ["Projects"],
"operationId": "listProjects",
"responses": {
"200": {
"$ref": "#/components/responses/ProjectCollection"
},
"401": {
"$ref": "#/components/responses/Unauthenticated"
}
}
},
"post": {
"tags": ["Projects"],
"operationId": "createProject",
"requestBody": {
"$ref": "#/components/requestBodies/ProjectStore"
},
"responses": {
"201": {
"$ref": "#/components/responses/ProjectResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}": {
"get": {
"tags": ["Projects"],
"operationId": "getProject",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ProjectResource"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
},
"delete": {
"tags": ["Projects"],
"operationId": "deleteProject",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/DeleteProject"
},
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/board": {
"get": {
"tags": ["Board"],
"operationId": "getProjectBoard",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/BoardPayload"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
}
},
"/projects/{project}/backlog": {
"get": {
"tags": ["Board"],
"operationId": "getProjectBacklog",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/BacklogPayload"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
}
},
"/projects/{project}/ticket-options": {
"get": {
"tags": ["Tickets"],
"operationId": "getProjectTicketOptions",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"name": "source",
"in": "query",
"schema": {
"type": "string",
"enum": ["backlog", "board"],
"default": "backlog"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/TicketOptionsPayload"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
}
},
"/projects/{project}/tickets": {
"get": {
"tags": ["Tickets"],
"operationId": "listProjectTickets",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/TicketCollection"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
},
"post": {
"tags": ["Tickets"],
"operationId": "createProjectTicket",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketStore"
},
"responses": {
"201": {
"$ref": "#/components/responses/TicketResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/tickets/{ticket}": {
"get": {
"tags": ["Tickets"],
"operationId": "getProjectTicket",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/TicketDetailPayload"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
},
"patch": {
"tags": ["Tickets"],
"operationId": "updateProjectTicket",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketUpdate"
},
"responses": {
"200": {
"$ref": "#/components/responses/TicketResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/tickets/{ticket}/status-targets": {
"get": {
"tags": ["Tickets"],
"operationId": "getProjectTicketStatusTargets",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/StatusTargetsPayload"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
}
},
"/projects/{project}/tickets/{ticket}/status": {
"patch": {
"tags": ["Tickets"],
"operationId": "moveProjectTicket",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketMove"
},
"responses": {
"200": {
"$ref": "#/components/responses/TicketResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/tickets/{ticket}/branches/validate": {
"get": {
"tags": ["Tickets"],
"operationId": "validateProjectTicketBranch",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketId"
},
{
"name": "repository_connection_id",
"in": "query",
"required": true,
"schema": {
"type": "integer"
}
},
{
"name": "branch_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"maxLength": 255
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/BranchValidationPayload"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/tickets/{ticket}/branches": {
"post": {
"tags": ["Tickets"],
"operationId": "createProjectTicketBranch",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/Branch"
},
"responses": {
"201": {
"$ref": "#/components/responses/BranchCreatedPayload"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/tickets/{ticket}/links": {
"post": {
"tags": ["Tickets"],
"operationId": "createProjectTicketLink",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketLink"
},
"responses": {
"201": {
"$ref": "#/components/responses/TicketLinkResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/tickets/{ticket}/links/{ticketLink}": {
"delete": {
"tags": ["Tickets"],
"operationId": "deleteProjectTicketLink",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketId"
},
{
"$ref": "#/components/parameters/TicketLinkId"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
},
"404": {
"$ref": "#/components/responses/NotFound"
}
}
}
},
"/projects/{project}/settings/board": {
"get": {
"tags": ["Board"],
"operationId": "getProjectBoardSettings",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/BoardSettingsPayload"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
}
},
"/projects/{project}/settings/board/columns": {
"post": {
"tags": ["Board"],
"operationId": "createProjectBoardColumn",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/BoardColumnStore"
},
"responses": {
"201": {
"$ref": "#/components/responses/BoardColumnResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/board/columns/{boardColumn}": {
"patch": {
"tags": ["Board"],
"operationId": "updateProjectBoardColumn",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/BoardColumnId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/BoardColumnUpdate"
},
"responses": {
"200": {
"$ref": "#/components/responses/BoardColumnResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
},
"delete": {
"tags": ["Board"],
"operationId": "deleteProjectBoardColumn",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/BoardColumnId"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
}
}
}
},
"/projects/{project}/settings/board/statuses": {
"post": {
"tags": ["Board"],
"operationId": "createProjectTicketStatus",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketStatusStore"
},
"responses": {
"201": {
"$ref": "#/components/responses/TicketStatusResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/board/statuses/{ticketStatus}": {
"patch": {
"tags": ["Board"],
"operationId": "updateProjectTicketStatus",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketStatusId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketStatusUpdate"
},
"responses": {
"200": {
"$ref": "#/components/responses/TicketStatusResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
},
"delete": {
"tags": ["Board"],
"operationId": "deleteProjectTicketStatus",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketStatusId"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/board/statuses/{ticketStatus}/transitions": {
"patch": {
"tags": ["Board"],
"operationId": "updateProjectTicketStatusTransitions",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketStatusId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketStatusTransitions"
},
"responses": {
"200": {
"$ref": "#/components/responses/TicketStatusResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/metadata": {
"get": {
"tags": ["Metadata"],
"operationId": "getProjectTicketMetadataSettings",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/MetadataSettingsPayload"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
},
"patch": {
"tags": ["Metadata"],
"operationId": "updateProjectTicketMetadataSettings",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/MetadataSettings"
},
"responses": {
"200": {
"$ref": "#/components/responses/ProjectResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/metadata/types": {
"post": {
"tags": ["Metadata"],
"operationId": "createProjectTicketType",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketTypeStore"
},
"responses": {
"201": {
"$ref": "#/components/responses/TicketTypeResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/metadata/types/{ticketType}": {
"patch": {
"tags": ["Metadata"],
"operationId": "updateProjectTicketType",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketTypeId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketTypeUpdate"
},
"responses": {
"200": {
"$ref": "#/components/responses/TicketTypeResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
},
"delete": {
"tags": ["Metadata"],
"operationId": "deleteProjectTicketType",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketTypeId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/DeleteTicketType"
},
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/metadata/priorities": {
"post": {
"tags": ["Metadata"],
"operationId": "createProjectTicketPriority",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/NamedSettingStore"
},
"responses": {
"201": {
"$ref": "#/components/responses/TicketPriorityResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/metadata/priorities/{ticketPriority}": {
"patch": {
"tags": ["Metadata"],
"operationId": "updateProjectTicketPriority",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketPriorityId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/NamedSettingUpdate"
},
"responses": {
"200": {
"$ref": "#/components/responses/TicketPriorityResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
},
"delete": {
"tags": ["Metadata"],
"operationId": "deleteProjectTicketPriority",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketPriorityId"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/metadata/fields": {
"post": {
"tags": ["Metadata"],
"operationId": "createProjectTicketFieldDefinition",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketFieldDefinitionStore"
},
"responses": {
"201": {
"$ref": "#/components/responses/TicketFieldDefinitionResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/metadata/fields/{ticketFieldDefinition}": {
"patch": {
"tags": ["Metadata"],
"operationId": "updateProjectTicketFieldDefinition",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketFieldDefinitionId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/TicketFieldDefinitionUpdate"
},
"responses": {
"200": {
"$ref": "#/components/responses/TicketFieldDefinitionResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
},
"delete": {
"tags": ["Metadata"],
"operationId": "deleteProjectTicketFieldDefinition",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketFieldDefinitionId"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
}
}
}
},
"/projects/{project}/settings/metadata/link-types": {
"post": {
"tags": ["Metadata"],
"operationId": "createProjectTicketLinkType",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/NamedSettingStore"
},
"responses": {
"201": {
"$ref": "#/components/responses/TicketLinkTypeResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/metadata/link-types/{ticketLinkType}": {
"patch": {
"tags": ["Metadata"],
"operationId": "updateProjectTicketLinkType",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketLinkTypeId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/NamedSettingUpdate"
},
"responses": {
"200": {
"$ref": "#/components/responses/TicketLinkTypeResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
},
"delete": {
"tags": ["Metadata"],
"operationId": "deleteProjectTicketLinkType",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/TicketLinkTypeId"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
}
}
}
},
"/projects/{project}/settings/repositories": {
"get": {
"tags": ["Repositories"],
"operationId": "getProjectRepositorySettings",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/RepositorySettingsPayload"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
},
"post": {
"tags": ["Repositories"],
"operationId": "createProjectRepositoryConnection",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/RepositorySelection"
},
"responses": {
"201": {
"$ref": "#/components/responses/RepositoryConnectionResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/projects/{project}/settings/repositories/{repositoryConnection}": {
"patch": {
"tags": ["Repositories"],
"operationId": "updateProjectRepositoryConnection",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/RepositoryConnectionId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/RepositorySelection"
},
"responses": {
"200": {
"$ref": "#/components/responses/RepositoryConnectionResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
},
"delete": {
"tags": ["Repositories"],
"operationId": "deleteProjectRepositoryConnection",
"parameters": [
{
"$ref": "#/components/parameters/ProjectId"
},
{
"$ref": "#/components/parameters/RepositoryConnectionId"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
}
}
}
},
"/git-connections": {
"get": {
"tags": ["Git Connections"],
"operationId": "listGitConnections",
"responses": {
"200": {
"$ref": "#/components/responses/UserGitConnectionCollection"
},
"401": {
"$ref": "#/components/responses/Unauthenticated"
}
}
},
"post": {
"tags": ["Git Connections"],
"operationId": "createGitConnection",
"requestBody": {
"$ref": "#/components/requestBodies/UserGitConnection"
},
"responses": {
"201": {
"$ref": "#/components/responses/UserGitConnectionResource"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
}
},
"/git-connections/{gitConnection}": {
"patch": {
"tags": ["Git Connections"],
"operationId": "updateGitConnection",
"parameters": [
{
"$ref": "#/components/parameters/GitConnectionId"
}
],
"requestBody": {
"$ref": "#/components/requestBodies/UserGitConnection"
},
"responses": {
"200": {
"$ref": "#/components/responses/UserGitConnectionResource"
},
"403": {
"$ref": "#/components/responses/Forbidden"
},
"422": {
"$ref": "#/components/responses/ValidationError"
}
}
},
"delete": {
"tags": ["Git Connections"],
"operationId": "deleteGitConnection",
"parameters": [
{
"$ref": "#/components/parameters/GitConnectionId"
}
],
"responses": {
"204": {
"$ref": "#/components/responses/NoContent"
},
"403": {
"$ref": "#/components/responses/Forbidden"
}
}
}
},
"/users/{user}/assigned-tickets": {
"get": {
"tags": ["Users"],
"operationId": "getUserAssignedTickets",
"parameters": [
{
"$ref": "#/components/parameters/UserId"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/AssignedTicketsPayload"
},
"401": {
"$ref": "#/components/responses/Unauthenticated"
}
}
}
}
},
"components": {
"securitySchemes": {
"ApplicationKey": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "KanbanGit application key",
"description": "Use a first-party application key created in Settings > Applications."
}
},
"parameters": {
"UserId": {
"name": "user",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"ProjectId": {
"name": "project",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"TicketId": {
"name": "ticket",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"TicketLinkId": {
"name": "ticketLink",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"BoardColumnId": {
"name": "boardColumn",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"TicketStatusId": {
"name": "ticketStatus",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"TicketTypeId": {
"name": "ticketType",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"TicketPriorityId": {
"name": "ticketPriority",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"TicketFieldDefinitionId": {
"name": "ticketFieldDefinition",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"TicketLinkTypeId": {
"name": "ticketLinkType",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"RepositoryConnectionId": {
"name": "repositoryConnection",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
},
"GitConnectionId": {
"name": "gitConnection",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
},
"requestBodies": {
"ProjectStore": {
"$ref": "#/components/requestBodies/JsonProjectStore"
},
"JsonProjectStore": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectStoreRequest"
}
}
}
},
"DeleteProject": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteProjectRequest"
}
}
}
},
"TicketStore": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketStoreRequest"
}
}
}
},
"TicketUpdate": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketUpdateRequest"
}
}
}
},
"TicketMove": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketMoveRequest"
}
}
}
},
"Branch": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BranchRequest"
}
}
}
},
"TicketLink": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketLinkRequest"
}
}
}
},
"BoardColumnStore": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardColumnStoreRequest"
}
}
}
},
"BoardColumnUpdate": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardColumnUpdateRequest"
}
}
}
},
"TicketStatusStore": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketStatusStoreRequest"
}
}
}
},
"TicketStatusUpdate": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketStatusUpdateRequest"
}
}
}
},
"TicketStatusTransitions": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketStatusTransitionsRequest"
}
}
}
},
"MetadataSettings": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetadataSettingsRequest"
}
}
}
},
"TicketTypeStore": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketTypeStoreRequest"
}
}
}
},
"TicketTypeUpdate": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketTypeUpdateRequest"
}
}
}
},
"DeleteTicketType": {
"required": false,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteTicketTypeRequest"
}
}
}
},
"NamedSettingStore": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NamedSettingStoreRequest"
}
}
}
},
"NamedSettingUpdate": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NamedSettingUpdateRequest"
}
}
}
},
"TicketFieldDefinitionStore": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketFieldDefinitionStoreRequest"
}
}
}
},
"TicketFieldDefinitionUpdate": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketFieldDefinitionUpdateRequest"
}
}
}
},
"RepositorySelection": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RepositorySelectionRequest"
}
}
}
},
"UserGitConnection": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserGitConnectionRequest"
}
}
}
}
},
"responses": {
"ProjectResource": {
"description": "Project resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectEnvelope"
}
}
}
},
"ProjectCollection": {
"description": "Project collection.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectCollectionEnvelope"
}
}
}
},
"TicketResource": {
"description": "Ticket resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketEnvelope"
}
}
}
},
"TicketCollection": {
"description": "Ticket collection.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketCollectionEnvelope"
}
}
}
},
"TicketLinkResource": {
"description": "Ticket link resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketLinkEnvelope"
}
}
}
},
"BoardColumnResource": {
"description": "Board column resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardColumnEnvelope"
}
}
}
},
"TicketStatusResource": {
"description": "Ticket status resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketStatusEnvelope"
}
}
}
},
"TicketTypeResource": {
"description": "Ticket type resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketTypeEnvelope"
}
}
}
},
"TicketPriorityResource": {
"description": "Ticket priority resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketPriorityEnvelope"
}
}
}
},
"TicketFieldDefinitionResource": {
"description": "Ticket field definition resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketFieldDefinitionEnvelope"
}
}
}
},
"TicketLinkTypeResource": {
"description": "Ticket link type resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketLinkTypeEnvelope"
}
}
}
},
"RepositoryConnectionResource": {
"description": "Repository connection resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RepositoryConnectionEnvelope"
}
}
}
},
"UserGitConnectionResource": {
"description": "User Git connection resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserGitConnectionEnvelope"
}
}
}
},
"UserGitConnectionCollection": {
"description": "User Git connection collection.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserGitConnectionCollectionEnvelope"
}
}
}
},
"BoardPayload": {
"description": "Board page-equivalent JSON payload.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardPayloadEnvelope"
}
}
}
},
"BacklogPayload": {
"description": "Backlog page-equivalent JSON payload.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BacklogPayloadEnvelope"
}
}
}
},
"TicketOptionsPayload": {
"description": "Ticket creation option payload.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketOptionsPayloadEnvelope"
}
}
}
},
"TicketDetailPayload": {
"description": "Ticket detail page-equivalent JSON payload.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TicketDetailPayloadEnvelope"
}
}
}
},
"StatusTargetsPayload": {
"description": "Allowed target statuses for a ticket move.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StatusTargetsPayloadEnvelope"
}
}
}
},
"BranchValidationPayload": {
"description": "Branch validation result.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BranchValidationPayloadEnvelope"
}
}
}
},
"BranchCreatedPayload": {
"description": "Created branch result.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BranchCreatedPayloadEnvelope"
}
}
}
},
"BoardSettingsPayload": {
"description": "Board settings page-equivalent JSON payload.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BoardSettingsPayloadEnvelope"
}
}
}
},
"MetadataSettingsPayload": {
"description": "Metadata settings page-equivalent JSON payload.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MetadataSettingsPayloadEnvelope"
}
}
}
},
"RepositorySettingsPayload": {
"description": "Repository settings page-equivalent JSON payload.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RepositorySettingsPayloadEnvelope"
}
}
}
},
"AssignedTicketsPayload": {
"description": "Tickets assigned to a user grouped by projects visible to the authenticated application key owner. meta.assignee is null when no visible assigned tickets exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AssignedTicketsPayloadEnvelope"
}
}
}
},
"ValidationError": {
"description": "Laravel validation error response.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidationError"
}
}
}
},
"Unauthenticated": {
"description": "No authenticated user is available.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MessageError"
}
}
}
},
"Forbidden": {
"description": "The authenticated user is not authorized for this action.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MessageError"
}
}
}
},
"NotFound": {
"description": "The resource was not found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MessageError"
}
}
}
},
"NoContent": {
"description": "The resource was deleted successfully."
}
},
"schemas": {
"Meta": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
},
"MessageError": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
},
"required": ["message"]
},
"ValidationError": {
"type": "object",
"properties": {
"message": {
"type": "string"
},
"errors": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": ["message", "errors"]
},
"Project": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"key": {
"type": "string"
},
"show_author": {
"type": "boolean"
},
"show_story_points": {
"type": "boolean"
},
"created_at": {
"type": ["string", "null"],
"format": "date-time"
},
"updated_at": {
"type": ["string", "null"],
"format": "date-time"
}
},
"required": ["id", "name", "key"]
},
"Ticket": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"ticket_key": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": ["string", "null"]
},
"acceptance_criteria": {
"type": ["string", "null"]
},
"story_points": {
"type": ["integer", "null"]
},
"is_blocked": {
"type": "boolean"
},
"ticket_status_id": {
"type": "integer"
},
"ticket_type_id": {
"type": "integer"
},
"ticket_priority_id": {
"type": "integer"
}
},
"required": ["id", "project_id", "ticket_key", "title"]
},
"TicketReference": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"ticket_key": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"User": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
}
},
"AssignedTicketsPayloadEnvelope": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssignedTicketsProjectGroup"
}
},
"meta": {
"type": "object",
"properties": {
"assignee": {
"anyOf": [
{
"$ref": "#/components/schemas/User"
},
{
"type": "null"
}
]
}
},
"required": ["assignee"]
}
},
"required": ["data", "meta"]
},
"AssignedTicketsProjectGroup": {
"type": "object",
"properties": {
"project": {
"$ref": "#/components/schemas/Project"
},
"tickets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Ticket"
}
}
},
"required": ["project", "tickets"]
},
"BoardColumn": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"position": {
"type": "integer"
}
},
"required": ["id", "project_id", "name", "position"]
},
"TicketStatus": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"board_column_id": {
"type": ["integer", "null"]
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"position": {
"type": "integer"
}
}
},
"TicketType": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"is_parent": {
"type": "boolean"
},
"position": {
"type": "integer"
}
}
},
"TicketPriority": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"position": {
"type": "integer"
}
}
},
"TicketFieldDefinition": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"label": {
"type": "string"
},
"field_type": {
"type": "string",
"enum": ["number", "user"]
},
"position": {
"type": "integer"
}
}
},
"TicketLinkType": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"label": {
"type": "string"
},
"position": {
"type": "integer"
}
}
},
"TicketLink": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"linked_ticket": {
"$ref": "#/components/schemas/TicketReference"
},
"source_ticket_id": {
"type": "integer"
},
"target_ticket_id": {
"type": "integer"
},
"ticket_link_type_id": {
"type": "integer"
}
}
},
"RepositoryConnection": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"provider": {
"type": "string"
},
"base_url": {
"type": "string",
"format": "uri"
},
"provider_repository_id": {
"type": "string"
},
"repository_full_name": {
"type": "string"
},
"repository_url": {
"type": "string",
"format": "uri"
},
"has_personal_access": {
"type": "boolean"
}
}
},
"UserGitConnection": {
"type": "object",
"additionalProperties": true,
"properties": {
"id": {
"type": "integer"
},
"user_id": {
"type": "integer"
},
"provider": {
"type": "string"
},
"provider_label": {
"type": "string"
},
"base_url": {
"type": "string",
"format": "uri"
},
"provider_user_id": {
"type": "string"
},
"account_login": {
"type": "string"
},
"account_name": {
"type": ["string", "null"]
}
}
},
"ProjectEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Project"
}
}
}
]
},
"ProjectCollectionEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Project"
}
}
}
}
]
},
"TicketEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/Ticket"
}
}
}
]
},
"TicketCollectionEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Ticket"
}
}
}
}
]
},
"TicketLinkEnvelope": {
"$ref": "#/components/schemas/GenericResourceEnvelope"
},
"BoardColumnEnvelope": {
"$ref": "#/components/schemas/GenericResourceEnvelope"
},
"TicketStatusEnvelope": {
"$ref": "#/components/schemas/GenericResourceEnvelope"
},
"TicketTypeEnvelope": {
"$ref": "#/components/schemas/GenericResourceEnvelope"
},
"TicketPriorityEnvelope": {
"$ref": "#/components/schemas/GenericResourceEnvelope"
},
"TicketFieldDefinitionEnvelope": {
"$ref": "#/components/schemas/GenericResourceEnvelope"
},
"TicketLinkTypeEnvelope": {
"$ref": "#/components/schemas/GenericResourceEnvelope"
},
"RepositoryConnectionEnvelope": {
"$ref": "#/components/schemas/GenericResourceEnvelope"
},
"UserGitConnectionEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/UserGitConnection"
}
}
}
]
},
"UserGitConnectionCollectionEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserGitConnection"
}
}
}
}
]
},
"GenericResourceEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"additionalProperties": true
}
}
}
]
},
"Envelope": {
"type": "object",
"properties": {
"data": {},
"meta": {
"$ref": "#/components/schemas/Meta"
}
},
"required": ["data"]
},
"BoardPayloadEnvelope": {
"$ref": "#/components/schemas/GenericPayloadEnvelope"
},
"BacklogPayloadEnvelope": {
"$ref": "#/components/schemas/GenericPayloadEnvelope"
},
"TicketOptionsPayloadEnvelope": {
"$ref": "#/components/schemas/GenericPayloadEnvelope"
},
"TicketDetailPayloadEnvelope": {
"$ref": "#/components/schemas/GenericPayloadEnvelope"
},
"BoardSettingsPayloadEnvelope": {
"$ref": "#/components/schemas/GenericPayloadEnvelope"
},
"MetadataSettingsPayloadEnvelope": {
"$ref": "#/components/schemas/GenericPayloadEnvelope"
},
"RepositorySettingsPayloadEnvelope": {
"$ref": "#/components/schemas/GenericPayloadEnvelope"
},
"StatusTargetsPayloadEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"current_status": {
"anyOf": [
{
"$ref": "#/components/schemas/TicketStatus"
},
{
"type": "null"
}
]
},
"target_statuses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TicketStatus"
}
}
}
}
}
}
]
},
"BranchValidationPayloadEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/BranchValidationResult"
}
}
}
]
},
"BranchCreatedPayloadEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/BranchCreatedResult"
}
}
}
]
},
"GenericPayloadEnvelope": {
"allOf": [
{
"$ref": "#/components/schemas/Envelope"
},
{
"type": "object",
"properties": {
"data": {
"type": "object",
"additionalProperties": true
}
}
}
]
},
"BranchValidationResult": {
"type": "object",
"properties": {
"is_valid": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"required": ["is_valid", "message"]
},
"BranchCreatedResult": {
"type": "object",
"properties": {
"branch_name": {
"type": "string"
},
"repository_full_name": {
"type": "string"
}
},
"required": ["branch_name", "repository_full_name"]
},
"ProjectStoreRequest": {
"type": "object",
"properties": {
"key": {
"type": "string",
"maxLength": 5,
"pattern": "^[A-Z0-9]+$"
},
"name": {
"type": "string",
"maxLength": 255
}
},
"required": ["key", "name"]
},
"DeleteProjectRequest": {
"type": "object",
"properties": {
"confirmation_key": {
"type": "string"
}
},
"required": ["confirmation_key"]
},
"TicketStoreRequest": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 255
},
"description": {
"type": ["string", "null"]
},
"acceptance_criteria": {
"type": ["string", "null"]
},
"assignee_user_id": {
"type": ["integer", "null"]
},
"story_points": {
"type": ["integer", "null"],
"minimum": 0
},
"ticket_priority_id": {
"type": "integer"
},
"ticket_status_id": {
"type": "integer"
},
"ticket_type_id": {
"type": "integer"
}
},
"required": ["title", "ticket_priority_id", "ticket_status_id", "ticket_type_id"]
},
"TicketUpdateRequest": {
"allOf": [
{
"$ref": "#/components/schemas/TicketStoreRequest"
},
{
"type": "object",
"properties": {
"author_user_id": {
"type": ["integer", "null"]
},
"blocked_comment": {
"type": ["string", "null"]
},
"is_blocked": {
"type": "boolean"
},
"parent_ticket_id": {
"type": ["integer", "null"]
},
"field_values": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ticket_field_definition_id": {
"type": "integer"
},
"value_number": {
"type": ["number", "string", "null"]
},
"value_user_id": {
"type": ["integer", "string", "null"]
}
},
"required": ["ticket_field_definition_id"]
}
}
},
"required": ["is_blocked"]
}
]
},
"TicketMoveRequest": {
"type": "object",
"properties": {
"ticket_status_id": {
"type": "integer"
}
},
"required": ["ticket_status_id"]
},
"BranchRequest": {
"type": "object",
"properties": {
"branch_name": {
"type": "string",
"maxLength": 255
},
"repository_connection_id": {
"type": "integer"
}
},
"required": ["branch_name", "repository_connection_id"]
},
"TicketLinkRequest": {
"type": "object",
"properties": {
"linked_ticket_id": {
"type": "integer"
},
"ticket_link_type_id": {
"type": "integer"
}
},
"required": ["linked_ticket_id", "ticket_link_type_id"]
},
"BoardColumnStoreRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255
},
"position": {
"type": ["integer", "null"],
"minimum": 1
}
},
"required": ["name"]
},
"BoardColumnUpdateRequest": {
"allOf": [
{
"$ref": "#/components/schemas/BoardColumnStoreRequest"
},
{
"type": "object",
"required": ["position"]
}
]
},
"TicketStatusStoreRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255
},
"board_column_id": {
"type": ["integer", "null"]
}
},
"required": ["name"]
},
"TicketStatusUpdateRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255
}
},
"required": ["name"]
},
"TicketStatusTransitionsRequest": {
"type": "object",
"properties": {
"allowed_ticket_status_ids": {
"type": ["array", "null"],
"items": {
"type": "integer"
}
}
}
},
"MetadataSettingsRequest": {
"type": "object",
"properties": {
"show_author": {
"type": ["boolean", "null"]
},
"show_story_points": {
"type": ["boolean", "null"]
}
}
},
"TicketTypeStoreRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255
},
"position": {
"type": ["integer", "null"],
"minimum": 1
},
"is_parent": {
"type": ["boolean", "null"]
}
},
"required": ["name"]
},
"TicketTypeUpdateRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255
},
"position": {
"type": "integer",
"minimum": 1
}
},
"required": ["name", "position"]
},
"DeleteTicketTypeRequest": {
"type": "object",
"properties": {
"replacement_ticket_type_id": {
"type": ["integer", "null"]
}
}
},
"NamedSettingStoreRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255
},
"position": {
"type": ["integer", "null"],
"minimum": 1
}
},
"required": ["name"]
},
"NamedSettingUpdateRequest": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 255
},
"position": {
"type": "integer",
"minimum": 1
}
},
"required": ["name", "position"]
},
"TicketFieldDefinitionStoreRequest": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 255
},
"field_type": {
"type": "string",
"enum": ["number", "user"]
},
"position": {
"type": ["integer", "null"],
"minimum": 1
}
},
"required": ["label", "field_type"]
},
"TicketFieldDefinitionUpdateRequest": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 255
},
"field_type": {
"type": "string",
"enum": ["number", "user"]
},
"position": {
"type": "integer",
"minimum": 1
}
},
"required": ["label", "field_type", "position"]
},
"RepositorySelectionRequest": {
"type": "object",
"properties": {
"provider_repository_id": {
"type": "string",
"maxLength": 255
},
"user_git_connection_id": {
"type": "integer"
}
},
"required": ["provider_repository_id", "user_git_connection_id"]
},
"UserGitConnectionRequest": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"enum": ["gitea"]
},
"base_url": {
"type": "string",
"format": "uri",
"maxLength": 255
},
"api_token": {
"type": "string",
"maxLength": 2048,
"writeOnly": true
}
},
"required": ["provider", "base_url", "api_token"]
}
}
}
}