#%RAML 0.8 title: ObjectStore version: v1 baseUri: http://54.152.249.236:8080/object-store traits: - pageable: queryParameters: nextPageToken: description: When requesting a series of result pages, specify which page this request should resume on. type: string required: false example: "key12/34" default: "" pageSize: description: Limit the number of elements in the response. type: integer required: false example: 80 default: 25 - confirmable: queryParameters: confirmable: type: boolean default: false description: | Defines whether or not an operation should be confirmed. - searchableByPrefix: queryParameters: startsWith: description: | Searches the field from the left using the passed string. - successWithNoBody: responses: 204: description: | Operation completed successfully. - nonImplementable: responses: 501: description: | This request is not implemented on this service. - nonExistent: responses: 404: description: | The requested resource does not exist on this service. - deleteable: responses: 204: description: | The resource has been correctly removed. - failable: responses: 501: description: | There has been an unexpected error performing this request. /organizations: /{organizationId}: uriParameters: organizationId: type: string example: 1236a3a6-1234-1234-87b1-a027439d5456 # delete: # description: Delete all resources related with the organization # is: [nonImplementable, nonExistent, failable] /environments: /{environmentId}: uriParameters: environmentId: type: string example: 333-1234-1234-444-2222439d5456 # delete: # description: Delete all resources related with the environment # is: [nonImplementable, nonExistent, failable] /stores: description: Get list of object stores get: description: Get list of object stores in the given environment is: [nonImplementable, failable, pageable] responses: 200: description: List of stores body: application/json: example: !include examples/storelist.json /{storeId}: description: Manage an object store uriParameters: storeId: type: string example: myStore get: description: Get object store details is: [nonImplementable, nonExistent, failable] responses: 200: description: Object store successfully obtained. body: application/json: example: !include examples/store.json put: description: Create an object store is: [nonImplementable, nonExistent, failable] responses: 200: description: Object store successfully created. patch: description: Modify object store attributes is: [nonImplementable, nonExistent, failable] responses: 200: description: Object store successfully modified. delete: description: Delete the object store is: [nonImplementable, nonExistent, failable] responses: 204: description: Object store successfully deleted. /objects: description: Get list of keys in an object store get: description: Return a paginated list of keys in this store, along with a token for making a request for the next page of keys. is: [nonImplementable, failable, pageable] responses: 200: description: List of keys body: application/json: example: !include examples/keys.json # delete: # description: Remove all items of this store without disposing it, meaning that after | # performing this operation it should still be possible to perform other operations. | # The behavior of other object store operations while this operation is being executed | # is undefined. # is: [nonImplementable, nonExistent, failable] /{objectKey}: description: Change object store values head: description: Check whether or not the given key is already registered in this store. is: [successWithNoBody, nonImplementable, nonExistent, failable] get: description: Retrieve the values stored for the given key. is: [nonImplementable, failable, pageable] queryParameters: inclusion: description: Defines what to fetch enum: [all, metadata, body] default: metadata required: false responses: 200: description: Return the values for the given key. body: application/json: example: !include examples/items.json post: description: Alter the object in a non-idempotent fashion body: application/vnd.objectstore.v1.numberoperation+json: example: !include examples/numberoperation.json responses: 200: description: Operation done and result delete: description: Remove the object and all the values in the contained list. is: [successWithNoBody, confirmable, nonImplementable, nonExistent, failable] /nextIndex: description: Get next index to access the list post: description: Retrieve the values stored for the given key. /indexes/{listIndex}: description: Create, modify, or delete an object get: description: Retrieve the given object. is: [confirmable, nonImplementable, nonExistent, failable] put: description: Create/Modify the given object. Total object size must be 10MB or less, and metadata must be 4KB or less. is: [confirmable, nonImplementable, nonExistent, failable] body: application/json: example: !include examples/item.json post: description: Alter the object in a non-idempotent fashion. body: application/vnd.objectstore.v1.numberoperation+json: delete: description: Remove the object with the given ID. is: [successWithNoBody, confirmable, nonImplementable, nonExistent, failable] /confirmations/{confirmationId}: description: Change operation settings post: description: Ack the operation. is: [successWithNoBody, nonImplementable, nonExistent, failable] patch: description: Extend the operation's time to live. is: [successWithNoBody, nonImplementable, nonExistent, failable] body: application/json: example: !include ./examples/changeTtl.json delete: description: Nack the operation. is: [successWithNoBody, nonImplementable, nonExistent, failable] /regions: description: Get list of object store regions get: description: Retrieve a list of regions in which the service is available. responses: 200: description: Successfully return a JSON array containing objects for each region. body: application/json: example: !include ./examples/regions.json /ping: description: Health check utility endpoint get: description: Perform a health check responses: 200: body: application/json: example: !include ./examples/ping.json /authorize: description: Client credentials Token URL post: description: Obtains an access token using client credentials OAuth grant type body: application/x-www-form-urlencoded: formParameters: client_id: type: string client_secret: type: string grant_type: type: string responses: 200: body: application/json: example: !include ./examples/authorize.json 401: body: application/json: