{ "name": "atlas-tags", "apidoc": { "version": "0.14.68" }, "imports": [ {"uri": "http://api.apibuilder.io/bml/validation/0.0.1/service.json"}, {"uri": "http://api.apibuilder.io/bml/annotation/0.0.1/service.json"} ], "enums": { "tagSortField": { "values": [ {"name": "name"}, {"name": "createdAt"}, {"name": "updatedAt"} ] }, "objectSortField": { "values": [ {"name": "id"}, {"name": "createdAt"}, {"name": "updatedAt"} ] }, "sortOrder": { "values": [ {"name": "asc"}, {"name": "desc"} ] }, "serviceStatus": { "values": [ {"name": "STARTING_UP"}, {"name": "RUNNING"}, {"name": "SHUTTING_DOWN"} ] }, "healthCode": { "values": [ {"name": "HEALTHY"}, {"name": "UNHEALTHY"} ] } }, "models": { "healthCheck": { "description": "A response model for the standard health check resource.", "fields": [ {"name": "health","type": "healthCode","description": "A general health status code.","example": "HEALTHY"}, {"name": "status","type": "serviceStatus","description": "A general service status code.","example": "RUNNING"} ] }, "sortField": { "description": "A field and an order used to sort sets.", "fields": [ {"name": "field","description": "The field you want to sort on.","type": "tagSortField"}, {"name": "order","description": "The order you want to sort.","type": "sortOrder"} ] }, "slice": { "description": "An cursor Slice for iterating through sets.", "fields": [ {"name": "number","type": "integer","description": "The number of the current Slice."}, {"name": "numberOfElements","type": "integer","description": "The number of elements currently on this Slice."}, {"name": "size","type": "integer","description": "The size of this Slice."}, {"name": "hasContent","type": "boolean","description": "Is there any content for this Slice."}, {"name": "hasNext","type": "boolean","description": "Is there is a next Slice."}, {"name": "hasPrevious","type": "boolean","description": "Is there is a previous Slice."}, {"name": "isFirst","type": "boolean","description": "Is this the first Slice."}, {"name": "isLast","type": "boolean","description": "Is this the last Slice."} ] }, "objectId": { "description": "Encapsulates an Object UUID Id.", "fields": [ {"name": "id","type": "uuid","description": "The tag services guid for this ObjectId."}, {"name": "externalId","type": "uuid","description": "The external caller systems resource id for this Object."}, {"name": "description","type": "string", "required":false, "description": "A short description of this object.", "minimum": 0, "maximum": 256 } ] }, "tag": { "description": "A tag.", "fields": [ {"name": "id","type": "uuid","description": "A UUID string for this tag."}, {"name": "value","type": "string","description": "The tag value","example": "v0.0.1","maximum": "512","minimum": "1"} ], "attributes": [ {"name": "hibernate","value": {"use": true}}, {"name": "unique","value": {"indices": [["value"]]}} ] }, "tag_form":{ "description": "A form for creating a tag object.", "fields": [ {"name": "value","type": "string","description": "The tag value","example": "v0.0.1","maximum": "512","minimum": "1"} ] }, "objectsSlice": { "description" : "A slice of a set of objects.", "fields": [ {"name": "slice","type": "slice","description": "The slice data for this slice."}, {"name": "objects","type": "[objectId]","description": "A set of ObjectId's for this slice.","maximum": 500} ] } }, "resources" : { "tag": { "operations": [ { "method": "POST", "body": {"type": "tag_form"}, "responses": { "201": {"description": "Created.","type": "tag"}, "409": {"description": "Conflict. IE: the resource already exists. We return the existing tag so you can use it if you want to.","type": "tag"}, "400": {"description": "Bad Request.","type": "org.bml.validation.v0.models.fieldValidationResponse"} } }, { "method": "GET", "path": "/:tagId", "parameters": [ {"name": "tagId","location": "path","description": "A Tag resource id.","type": "uuid"} ], "responses": { "200": {"description": "Success.","type": "tag"}, "400": {"description": "Bad Request.","type": "org.bml.validation.v0.models.fieldValidationResponse"}, "404": {"description": "Not Found.","type": "unit"} } }, { "method": "GET", "path": "/:tagId/objects", "description" : "Access to the object set of a Tag, provides basic slice type cursor access.", "parameters": [ {"name": "tagId","location": "path","description": "A Tag resource id","type": "string","minimum": 1,"maximum": 255}, {"name": "number","type": "integer","description": "The number of the Slice you want", "minimum": 0, "maximum": 2147483646, "default": 0}, {"name": "size","type": "integer","description": "The size of this Slice you want.", "minimum": 1,"maximum": 500}, {"name": "objectSortField","type": "objectSortField","description": "The ObjectSortField you wish to sort on. NOTE: The only stable way to iterate through this list is by createdAt.", "minimum": 1,"maximum": 500}, {"name": "sortOrder","type": "sortOrder","description": "The SortOrder used to order the overall set.", "minimum": 1,"maximum": 500} ], "responses": { "200": {"description": "Success.","type": "objectsSlice"}, "400": {"description": "Bad Request.","type": "org.bml.validation.v0.models.fieldValidationResponse"}, "404": {"description": "Not Found.","type": "unit"} } } ] }, "healthCheck": { "operations": [ { "method": "GET", "responses": { "200": {"description": "Success.","type": "healthCheck"} } } ] } } }