Add application API keys
This commit is contained in:
@@ -3,14 +3,18 @@
|
||||
"info": {
|
||||
"title": "KanbanGit Application API",
|
||||
"version": "0.1.0",
|
||||
"description": "First-party JSON API for KanbanGit UI-equivalent workflows. Authentication is intentionally not described here because API verification will be added globally by the application later."
|
||||
"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": [],
|
||||
"security": [
|
||||
{
|
||||
"ApplicationKey": []
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
{
|
||||
"name": "Projects"
|
||||
@@ -29,6 +33,9 @@
|
||||
},
|
||||
{
|
||||
"name": "Git Connections"
|
||||
},
|
||||
{
|
||||
"name": "Users"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
@@ -1041,10 +1048,45 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/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",
|
||||
@@ -1600,6 +1642,16 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"AssignedTicketsPayload": {
|
||||
"description": "Tickets assigned to a user grouped by projects visible to the authenticated application key owner.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/AssignedTicketsPayloadEnvelope"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ValidationError": {
|
||||
"description": "Laravel validation error response.",
|
||||
"content": {
|
||||
@@ -1779,6 +1831,42 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"AssignedTicketsPayloadEnvelope": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"data": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/AssignedTicketsProjectGroup"
|
||||
}
|
||||
},
|
||||
"meta": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"assignee": {
|
||||
"$ref": "#/components/schemas/User"
|
||||
}
|
||||
},
|
||||
"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,
|
||||
|
||||
Reference in New Issue
Block a user