Files
testapi/src/generated/swagger.json

1290 lines
22 KiB
JSON

{
"openapi": "3.0.0",
"components": {
"examples": {},
"headers": {},
"parameters": {},
"requestBodies": {},
"responses": {},
"schemas": {
"User": {
"properties": {
"id": {
"type": "string"
},
"orgId": {
"type": "string"
},
"fullName": {
"type": "string"
},
"email": {
"type": "string"
},
"role": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"id",
"orgId",
"fullName",
"email",
"role",
"timezone"
],
"type": "object",
"additionalProperties": true
},
"UsersEnvelope": {
"properties": {
"users": {
"items": {
"$ref": "#/components/schemas/User"
},
"type": "array"
}
},
"required": [
"users"
],
"type": "object",
"additionalProperties": true
},
"UserEnvelope": {
"properties": {
"user": {
"$ref": "#/components/schemas/User"
}
},
"required": [
"user"
],
"type": "object",
"additionalProperties": true
},
"Record_string.unknown_": {
"properties": {},
"additionalProperties": {},
"type": "object",
"description": "Construct a type with a set of properties K of type T"
},
"ErrorResponse": {
"properties": {
"error": {
"type": "string"
},
"details": {
"$ref": "#/components/schemas/Record_string.unknown_"
}
},
"required": [
"error"
],
"type": "object",
"additionalProperties": true
},
"CreateUserRequest": {
"properties": {
"orgId": {
"type": "string"
},
"fullName": {
"type": "string"
},
"email": {
"type": "string"
},
"role": {
"type": "string"
},
"timezone": {
"type": "string"
}
},
"required": [
"orgId",
"fullName",
"email",
"role",
"timezone"
],
"type": "object",
"additionalProperties": true
},
"TaskListItem": {
"properties": {
"id": {
"type": "string"
},
"orgId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"assigneeUserId": {
"type": "string",
"nullable": true
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"status": {
"type": "string"
},
"priority": {
"type": "string"
},
"storyPoints": {
"type": "number",
"format": "double",
"nullable": true
},
"dueDate": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"projectName": {
"type": "string"
},
"projectKey": {
"type": "string"
},
"assigneeName": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"orgId",
"projectId",
"assigneeUserId",
"title",
"description",
"status",
"priority",
"storyPoints",
"dueDate",
"createdAt",
"updatedAt",
"projectName",
"projectKey",
"assigneeName"
],
"type": "object",
"additionalProperties": true
},
"TasksEnvelope": {
"properties": {
"tasks": {
"items": {
"$ref": "#/components/schemas/TaskListItem"
},
"type": "array"
}
},
"required": [
"tasks"
],
"type": "object",
"additionalProperties": true
},
"Label": {
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"color": {
"type": "string"
}
},
"required": [
"id",
"name",
"color"
],
"type": "object",
"additionalProperties": true
},
"Comment": {
"properties": {
"id": {
"type": "string"
},
"authorUserId": {
"type": "string"
},
"authorName": {
"type": "string"
},
"body": {
"type": "string"
},
"createdAt": {
"type": "string"
}
},
"required": [
"id",
"authorUserId",
"authorName",
"body",
"createdAt"
],
"type": "object",
"additionalProperties": true
},
"TaskDetail": {
"properties": {
"id": {
"type": "string"
},
"orgId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"assigneeUserId": {
"type": "string",
"nullable": true
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"status": {
"type": "string"
},
"priority": {
"type": "string"
},
"storyPoints": {
"type": "number",
"format": "double",
"nullable": true
},
"dueDate": {
"type": "string",
"nullable": true
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"projectName": {
"type": "string"
},
"projectKey": {
"type": "string"
},
"assigneeName": {
"type": "string",
"nullable": true
},
"labels": {
"items": {
"$ref": "#/components/schemas/Label"
},
"type": "array"
},
"comments": {
"items": {
"$ref": "#/components/schemas/Comment"
},
"type": "array"
}
},
"required": [
"id",
"orgId",
"projectId",
"assigneeUserId",
"title",
"description",
"status",
"priority",
"storyPoints",
"dueDate",
"createdAt",
"updatedAt",
"projectName",
"projectKey",
"assigneeName",
"labels",
"comments"
],
"type": "object",
"additionalProperties": true
},
"TaskEnvelope": {
"properties": {
"task": {
"$ref": "#/components/schemas/TaskDetail"
}
},
"required": [
"task"
],
"type": "object",
"additionalProperties": true
},
"CreateTaskRequest": {
"properties": {
"orgId": {
"type": "string"
},
"projectId": {
"type": "string"
},
"assigneeUserId": {
"type": "string",
"nullable": true
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"status": {
"type": "string"
},
"priority": {
"type": "string"
},
"storyPoints": {
"type": "number",
"format": "double",
"nullable": true
},
"dueDate": {
"type": "string",
"nullable": true
}
},
"required": [
"orgId",
"projectId",
"title"
],
"type": "object",
"additionalProperties": true
},
"UpdateTaskRequest": {
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"status": {
"type": "string"
},
"priority": {
"type": "string"
},
"assigneeUserId": {
"type": "string",
"nullable": true
},
"storyPoints": {
"type": "number",
"format": "double",
"nullable": true
},
"dueDate": {
"type": "string",
"nullable": true
}
},
"type": "object",
"additionalProperties": true
},
"Project": {
"properties": {
"id": {
"type": "string"
},
"orgId": {
"type": "string"
},
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"ownerUserId": {
"type": "string"
},
"ownerName": {
"type": "string",
"nullable": true
},
"dueDate": {
"type": "string",
"nullable": true
},
"taskCount": {
"type": "number",
"format": "double"
}
},
"required": [
"id",
"orgId",
"key",
"name",
"status",
"ownerUserId",
"ownerName",
"dueDate",
"taskCount"
],
"type": "object",
"additionalProperties": true
},
"ProjectsEnvelope": {
"properties": {
"projects": {
"items": {
"$ref": "#/components/schemas/Project"
},
"type": "array"
}
},
"required": [
"projects"
],
"type": "object",
"additionalProperties": true
},
"ProjectEnvelope": {
"properties": {
"project": {
"$ref": "#/components/schemas/Project"
}
},
"required": [
"project"
],
"type": "object",
"additionalProperties": true
},
"CreateProjectRequest": {
"properties": {
"orgId": {
"type": "string"
},
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"ownerUserId": {
"type": "string"
},
"dueDate": {
"type": "string",
"nullable": true
}
},
"required": [
"orgId",
"key",
"name",
"status",
"ownerUserId"
],
"type": "object",
"additionalProperties": true
},
"OrganizationSummaryListItem": {
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"plan": {
"type": "string"
},
"industry": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"projectCount": {
"type": "number",
"format": "double"
},
"taskCount": {
"type": "number",
"format": "double"
},
"openTaskCount": {
"type": "number",
"format": "double"
}
},
"required": [
"id",
"slug",
"name",
"plan",
"industry",
"createdAt",
"projectCount",
"taskCount",
"openTaskCount"
],
"type": "object",
"additionalProperties": true
},
"OrganizationsEnvelope": {
"properties": {
"organizations": {
"items": {
"$ref": "#/components/schemas/OrganizationSummaryListItem"
},
"type": "array"
}
},
"required": [
"organizations"
],
"type": "object",
"additionalProperties": true
},
"StatusBreakdownItem": {
"properties": {
"status": {
"type": "string"
},
"count": {
"type": "number",
"format": "double"
}
},
"required": [
"status",
"count"
],
"type": "object",
"additionalProperties": true
},
"OrganizationDetail": {
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"plan": {
"type": "string"
},
"industry": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"projectCount": {
"type": "number",
"format": "double"
},
"taskCount": {
"type": "number",
"format": "double"
},
"openTaskCount": {
"type": "number",
"format": "double"
},
"userCount": {
"type": "number",
"format": "double"
},
"statusBreakdown": {
"items": {
"$ref": "#/components/schemas/StatusBreakdownItem"
},
"type": "array"
}
},
"required": [
"id",
"slug",
"name",
"plan",
"industry",
"createdAt",
"projectCount",
"taskCount",
"openTaskCount",
"userCount",
"statusBreakdown"
],
"type": "object",
"additionalProperties": true
},
"OrganizationEnvelope": {
"properties": {
"organization": {
"$ref": "#/components/schemas/OrganizationDetail"
}
},
"required": [
"organization"
],
"type": "object",
"additionalProperties": true
},
"CreateOrganizationRequest": {
"properties": {
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"plan": {
"type": "string"
},
"industry": {
"type": "string"
}
},
"required": [
"slug",
"name",
"plan",
"industry"
],
"type": "object",
"additionalProperties": true
},
"HealthResponse": {
"properties": {
"status": {
"type": "string",
"enum": [
"ok"
],
"nullable": false
}
},
"required": [
"status"
],
"type": "object",
"additionalProperties": true
}
},
"securitySchemes": {}
},
"info": {
"title": "poc-mock-task-api",
"contact": {}
},
"paths": {
"/users": {
"get": {
"operationId": "ListUsers",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UsersEnvelope"
}
}
}
}
},
"tags": [
"Users"
],
"security": [],
"parameters": [
{
"in": "query",
"name": "orgId",
"required": false,
"schema": {
"type": "string"
}
}
]
},
"post": {
"operationId": "CreateUser",
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserEnvelope"
}
}
}
},
"400": {
"description": "Invalid payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"tags": [
"Users"
],
"security": [],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateUserRequest"
}
}
}
}
}
},
"/tasks": {
"get": {
"operationId": "ListTasks",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TasksEnvelope"
}
}
}
}
},
"tags": [
"Tasks"
],
"security": [],
"parameters": [
{
"in": "query",
"name": "orgId",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "projectId",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "priority",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "assigneeUserId",
"required": false,
"schema": {
"type": "string"
}
}
]
},
"post": {
"operationId": "CreateTask",
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskEnvelope"
}
}
}
},
"400": {
"description": "Invalid payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"tags": [
"Tasks"
],
"security": [],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTaskRequest"
}
}
}
}
}
},
"/tasks/{taskId}": {
"get": {
"operationId": "GetTask",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskEnvelope"
}
}
}
},
"404": {
"description": "Task not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"tags": [
"Tasks"
],
"security": [],
"parameters": [
{
"in": "path",
"name": "taskId",
"required": true,
"schema": {
"type": "string"
}
}
]
},
"patch": {
"operationId": "UpdateTask",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TaskEnvelope"
}
}
}
},
"404": {
"description": "Task not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"tags": [
"Tasks"
],
"security": [],
"parameters": [
{
"in": "path",
"name": "taskId",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateTaskRequest"
}
}
}
}
}
},
"/projects": {
"get": {
"operationId": "ListProjects",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectsEnvelope"
}
}
}
}
},
"tags": [
"Projects"
],
"security": [],
"parameters": [
{
"in": "query",
"name": "orgId",
"required": false,
"schema": {
"type": "string"
}
}
]
},
"post": {
"operationId": "CreateProject",
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectEnvelope"
}
}
}
},
"400": {
"description": "Invalid payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"tags": [
"Projects"
],
"security": [],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateProjectRequest"
}
}
}
}
}
},
"/orgs": {
"get": {
"operationId": "ListOrganizations",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationsEnvelope"
}
}
}
}
},
"tags": [
"Organizations"
],
"security": [],
"parameters": []
},
"post": {
"operationId": "CreateOrganization",
"responses": {
"201": {
"description": "Created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationEnvelope"
}
}
}
},
"400": {
"description": "Invalid payload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"tags": [
"Organizations"
],
"security": [],
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOrganizationRequest"
}
}
}
}
}
},
"/orgs/{orgId}": {
"get": {
"operationId": "GetOrganization",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationEnvelope"
}
}
}
},
"404": {
"description": "Organization not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"tags": [
"Organizations"
],
"security": [],
"parameters": [
{
"in": "path",
"name": "orgId",
"required": true,
"schema": {
"type": "string"
}
}
]
}
},
"/orgs/{orgId}/projects": {
"get": {
"operationId": "ListOrganizationProjects",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectsEnvelope"
}
}
}
}
},
"tags": [
"Organizations"
],
"security": [],
"parameters": [
{
"in": "path",
"name": "orgId",
"required": true,
"schema": {
"type": "string"
}
}
]
}
},
"/orgs/{orgId}/tasks": {
"get": {
"operationId": "ListOrganizationTasks",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TasksEnvelope"
}
}
}
}
},
"tags": [
"Organizations"
],
"security": [],
"parameters": [
{
"in": "path",
"name": "orgId",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "projectId",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "status",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "priority",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "assigneeUserId",
"required": false,
"schema": {
"type": "string"
}
}
]
}
},
"/health": {
"get": {
"operationId": "GetHealth",
"responses": {
"200": {
"description": "Ok",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HealthResponse"
}
}
}
}
},
"tags": [
"Health"
],
"security": [],
"parameters": []
}
}
},
"servers": [
{
"url": "/"
}
]
}