{ "components": { "schemas": { "healthCheck": { "description": "A response model for the standard health check resource.", "properties": { "health": { "$ref": "#/components/schemas/healthCode", "description": "A general health status code.", "example": "HEALTHY" }, "status": { "$ref": "#/components/schemas/serviceStatus", "description": "A general service status code.", "example": "RUNNING" } }, "required": [ "health", "status" ], "type": "object" }, "objectId": { "description": "Encapsulates an Object UUID Id.", "properties": { "id": { "type": "string", "format": "uuid", "description": "The tag services guid for this ObjectId." }, "externalId": { "type": "string", "format": "uuid", "description": "The external caller systems resource id for this Object." }, "description": { "type": "string", "description": "A short description of this object.", "maxLength": 256 } }, "required": [ "id", "externalId" ], "type": "object" }, "objectsSlice": { "description": "A slice of a set of objects.", "properties": { "slice": { "$ref": "#/components/schemas/slice", "description": "The slice data for this slice." }, "objects": { "items": { "$ref": "#/components/schemas/objectId" }, "type": "array", "description": "A set of ObjectId's for this slice.", "maxItems": 500 } }, "required": [ "slice", "objects" ], "type": "object" }, "slice": { "description": "An cursor Slice for iterating through sets.", "properties": { "number": { "type": "integer", "description": "The number of the current Slice." }, "numberOfElements": { "type": "integer", "description": "The number of elements currently on this Slice." }, "size": { "type": "integer", "description": "The size of this Slice." }, "hasContent": { "type": "boolean", "description": "Is there any content for this Slice." }, "hasNext": { "type": "boolean", "description": "Is there is a next Slice." }, "hasPrevious": { "type": "boolean", "description": "Is there is a previous Slice." }, "isFirst": { "type": "boolean", "description": "Is this the first Slice." }, "isLast": { "type": "boolean", "description": "Is this the last Slice." } }, "required": [ "number", "numberOfElements", "size", "hasContent", "hasNext", "hasPrevious", "isFirst", "isLast" ], "type": "object" }, "sortField": { "description": "A field and an order used to sort sets.", "properties": { "field": { "$ref": "#/components/schemas/tagSortField", "description": "The field you want to sort on." }, "order": { "$ref": "#/components/schemas/sortOrder", "description": "The order you want to sort." } }, "required": [ "field", "order" ], "type": "object" }, "tag": { "description": "A tag.", "properties": { "id": { "type": "string", "format": "uuid", "description": "A UUID string for this tag." }, "value": { "type": "string", "description": "The tag value", "example": "v0.0.1", "minLength": 1, "maxLength": 512 } }, "required": [ "id", "value" ], "type": "object" }, "tag_form": { "description": "A form for creating a tag object.", "properties": { "value": { "type": "string", "description": "The tag value", "example": "v0.0.1", "minLength": 1, "maxLength": 512 } }, "required": [ "value" ], "type": "object" }, "healthCode": { "description": "Possible values: HEALTHY,UNHEALTHY.", "enum": [ "HEALTHY", "UNHEALTHY" ], "type": "string" }, "objectSortField": { "description": "Possible values: id,createdAt,updatedAt.", "enum": [ "id", "createdAt", "updatedAt" ], "type": "string" }, "serviceStatus": { "description": "Possible values: STARTING_UP,RUNNING,SHUTTING_DOWN.", "enum": [ "STARTING_UP", "RUNNING", "SHUTTING_DOWN" ], "type": "string" }, "sortOrder": { "description": "Possible values: asc,desc.", "enum": [ "asc", "desc" ], "type": "string" }, "tagSortField": { "description": "Possible values: name,createdAt,updatedAt.", "enum": [ "name", "createdAt", "updatedAt" ], "type": "string" } } }, "info": { "contact": {}, "license": {}, "termsOfService": "", "title": "atlas-tags", "version": "0.0.1" }, "openapi": "3.0.2", "paths": { "/healthChecks": { "get": { "operationId": "get--healthChecks", "parameters": [], "responses": { "200": { "description": "Success.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/healthCheck" } } }, "headers": {} } }, "tags": [ "healthCheck" ] } }, "/tags": { "post": { "operationId": "post--tags", "parameters": [], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tag_form" } } } }, "responses": { "201": { "description": "Created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tag" } } }, "headers": {} }, "400": { "description": "Bad Request.", "content": { "application/json": { "schema": {} } }, "headers": {} }, "409": { "description": "Conflict. IE: the resource already exists. We return the existing tag so you can use it if you want to.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tag" } } }, "headers": {} } }, "tags": [ "tag" ] } }, "/tags/:tagId": { "get": { "operationId": "get--tags-tagId", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "description": "A Tag resource id.", "name": "tagId" } ], "responses": { "200": { "description": "Success.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tag" } } }, "headers": {} }, "400": { "description": "Bad Request.", "content": { "application/json": { "schema": {} } }, "headers": {} }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "tag" ] } }, "/tags/:tagId/objects": { "get": { "description": "Access to the object set of a Tag, provides basic slice type cursor access.", "operationId": "get--tags-tagId-objects", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string" }, "description": "A Tag resource id", "name": "tagId" }, { "deprecated": false, "example": "0", "in": "query", "required": true, "schema": { "type": "integer" }, "description": "The number of the Slice you want", "name": "number" }, { "deprecated": false, "in": "query", "required": true, "schema": { "type": "integer" }, "description": "The size of this Slice you want.", "name": "size" }, { "deprecated": false, "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/objectSortField" }, "description": "The ObjectSortField you wish to sort on. NOTE: The only stable way to iterate through this list is by createdAt.", "name": "objectSortField" }, { "deprecated": false, "in": "query", "required": true, "schema": { "$ref": "#/components/schemas/sortOrder" }, "description": "The SortOrder used to order the overall set.", "name": "sortOrder" } ], "responses": { "200": { "description": "Success.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/objectsSlice" } } }, "headers": {} }, "400": { "description": "Bad Request.", "content": { "application/json": { "schema": {} } }, "headers": {} }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "type": "integer", "nullable": true } } }, "headers": {} } }, "tags": [ "tag" ] } } }, "servers": [ {} ] }