{"info":{"_postman_id":"e23625d4-39eb-4ad0-aa63-815e5a8ca186","name":"ObjectStorage","description":"<html><head></head><body><h5 id=\"1-purpose\">1. Purpose</h5>\n<p>This document specifies how to use the API service for Anycloud Object Storage.</p>\n<p>Anycloud Object Storage is a \"headless\" API-first broker, focused on creation and management of S3-comptabile storage offerings.</p>\n<h5 id=\"2-getting-started\">2. Getting started</h5>\n<p>To use the API service, you need to obtain an API user/pass directly from Anycloud via e-mail - reach out to us on <a href=\"https://mailto:support@anycloud.dk\">support@anycloud.dk</a>. You need the key to exchange it for a Bearer Token, which in turn is used to authorize all API calls.</p>\n<h5 id=\"3-using-postman\">3. Using Postman</h5>\n<p>This documentation document is written using Postman. If you aren't already familiar with Postman, we recommend getting familiar, as it offers a rich API exploration experience.</p>\n<p>We will quickly run you through a few key features:</p>\n<p>* In the \"documenter\" view for reading documentation, which you are most likely reading right now, you can select which programming-language you prefer for the examples with the menu above:</p>\n<img src=\"https://cdn.revirt365.com/anycloud/img/postman/languages.png\">\n\n<p>* Once you have an api key and feel ready to interactively explore the API, you can import the documentation as a Postman Collection using the button in the upper right corner:</p>\n<img src=\"https://cdn.revirt365.com/anycloud/img/postman/run.png\">\n\n<p>To get started quickly, we recommend running postman from the browser. Once you have postman open with this api documentation imported as a collection, you will need to insert your api key into the collection variables like this:</p>\n<img src=\"https://cdn.revirt365.com/anycloud/img/postman/entercredential_anycloudobjectstorage.png\">\n\n<p>Note that there are two systems available. The demo system, where you can test out calls, and the live system, which is the real production environment. The demo system allows you to explore the API and perform tests. Once you are read to go live, simply switch the \"demo\" to \"live\" in the url. While both system are considered production environments, we will occationally clear the demo environment of all data, and we expect that you do not use the buckets in the demo. We recommend that you do not enter a live-API key into postman, as everything is saved on their servers.</p>\n<h5 id=\"4-a-word-about-null\">4. A word about null</h5>\n<p>Any property that is optional can either be left out completely or set to the null-value, if that's easier - it may be in static-typing languages. The API will interpret a missing property and a nulled property the same way.</p>\n<h5 id=\"5-continuation-pagination-token\"><strong>5. Continuation Pagination token</strong></h5>\n<p>Some endpoints will have a continuation pagination token field called \"getNextPageToken\" for cursor-based pagination. In the request body, the first page can be fetched by providing an empty string (\"\"), and subsequent pages can be fetched by providing the returned \"getNextPageToken\" value. The last page will provide a null \"getNextPageToken\" to make sure that erronious queries with this value won't lead to an infinite loop (as it would if null was used to get the first page, or if empty string was returned on the last page)</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"7656257","collectionId":"e23625d4-39eb-4ad0-aa63-815e5a8ca186","publishedId":"2s9YeN1oGb","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-10-01T11:00:23.000Z"},"item":[{"name":"Generate bearer token","event":[{"listen":"test","script":{"id":"263cca6a-e6f0-42b1-8df4-b0f1ccad173c","exec":["pm.collectionVariables.set(\"BearerToken\", JSON.parse(responseBody).data.bearerToken);"],"type":"text/javascript","packages":{}}}],"id":"1126464d-5259-4636-8f1d-2a63aea1a91b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"User"},{"key":"password","value":"Secret"}]},"isInherited":false},"method":"POST","header":[],"url":"https://staging-iamapi.azurewebsites.net/api_v1/bearer_token_v1/create_from_basic_authentication_v1","description":"<h3 id=\"create-bearer-token\">Create Bearer Token</h3>\n<p>First things first you must exchange your API credentials, username/password, for a bearer token such that you can call the following API endpoints.</p>\n<h4 id=\"payload\">Payload</h4>\n<p>The request does not require a body, but must include a basic authorization header. Key: \"Authorization\" Value: \"Basic \" + ToBase64(\"Your username\" + \":\" + \"Your password\")</p>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><code>BearerToken</code> (string): The actual BearerToken</li>\n<li><code>BearerTokenId</code> (uuid): The non-secret part of BearerToken.</li>\n</ul>\n<h4 id=\"example\">Example</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"BearerToken\": \"4819ec33-5584-4601-bb22-5cbdd68462ee:uhmdsszOblbmlQQ6u+KpkJXW1i7Bar6iqseulEF3LIY=\",\n    \"BearerTokenId\": \"4819ec33-5584-4601-bb22-5cbdd68462ee\"\n}\n\n</code></pre>\n<p>You must provide the value from the BearerToken field to all subsequent API calls. The BearerToken should be provided in the header field. Key: \"Authorization\", Value: \"Bearer \" + BearerToken</p>\n","urlObject":{"protocol":"https","path":["api_v1","bearer_token_v1","create_from_basic_authentication_v1"],"host":["staging-iamapi.azurewebsites.net"],"query":[],"variable":[]}},"response":[{"id":"9efcb1a2-10bf-4e2d-8b2b-0171235899ba","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic dXNlcm5hbWU6cGFzc3dvcmQK","type":"text"},{"key":"","value":"","type":"text"}],"url":"https://demo.api.objectstorage.anycloud.dk/api_v1/bearer_token_v1/create_v1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"bearerToken\": \"4819ec33-5584-4601-bb22-5cbdd68462ee:uhmdsszOblbmlQQ6u+KpkJXW1i7Bar6iqseulEF3LIY=\",\r\n    \"bearerTokenId\": \"4819ec33-5584-4601-bb22-5cbdd68462ee\"\r\n}"}],"_postman_id":"1126464d-5259-4636-8f1d-2a63aea1a91b"},{"name":"Delete bearer token","id":"d5d15bb5-7673-43c9-83cf-2e3a793507cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken"}],"url":"https://staging-iamapi.azurewebsites.net/api_v1/bearer_token_v1/delete_v1","description":"<h3 id=\"delete-bearer-token\">Delete Bearer Token</h3>\n<p>Once you have finished what you came for, you can delete the bearer token such that it cannot be used any further. Regardless if you do this or not, it will expire 15 minutes after creation.</p>\n<h4 id=\"request\">Request</h4>\n<p>The request does not require a body.</p>\n<h4 id=\"response\">Response</h4>\n<p>Empty</p>\n","urlObject":{"protocol":"https","path":["api_v1","bearer_token_v1","delete_v1"],"host":["staging-iamapi.azurewebsites.net"],"query":[],"variable":[]}},"response":[{"id":"e08c6141-32e8-4457-a68c-4af1e7ace714","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 4819ec33-5584-4601-bb22-5cbdd68462ee:uhmdsszOblbmlQQ6u+KpkJXW1i7Bar6iqseulEF3LIY=","type":"text"}],"url":"https://demo.api.objectstorage.anycloud.dk/api_v1/bearer_token_v1/delete_v1"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d5d15bb5-7673-43c9-83cf-2e3a793507cb"},{"name":"Create storage account","id":"666b15db-9512-452f-b39d-eb8d515f5cc0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"numberOfAccessKeySlots\": 3\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/storageAccount_v1/create_v1","description":"<h2 id=\"create-storage-account\">Create Storage Account</h2>\n<p>Before you can create a storage bucket, you must define an access boundary, called a storage account, to put the bucket inside. All access keys that are put into a storage account can acess all buckets put inside that storage account, and only the buckets inside that storage account.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><code>numberOfAccessKeySlots</code>: (int, 1-5, required) The number of API keys that you can create to access the buckets under this storage account. One or two is recommended (read-only and read-write)</li>\n</ul>\n<h4 id=\"example-request-body\">Example Request Body</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"numberOfAccessKeySlots\": 1\n}\n\n</code></pre>\n<h3 id=\"response-body\">Response Body</h3>\n<ul>\n<li><code>storageAccountId</code>: The id which you must use to reference the boundary from here on out.</li>\n</ul>\n<h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"storageAccountId\": \"f56c9bf2-37b8-4e7a-bf3c-c93394257657\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api_v1","storageAccount_v1","create_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[{"id":"bad8f3fd-8811-476d-a773-2954054d4656","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 4819ec33-5584-4601-bb22-5cbdd68462ee:uhmdsszOblbmlQQ6u+KpkJXW1i7Bar6iqseulEF3LIY=","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"provider\": \"IbmCloud\",\r\n    \"numberOfAccessKeySlots\": 1\r\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.api.objectstorage.anycloud.dk/api_v1/storageAccount_v1/create_v1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [],\n    \"data\": {\n        \"id\": \"f56c9bf2-37b8-4e7a-bf3c-c93394257657\",\n        \"buckets\": [],\n        \"keys\": []\n    }\n}"}],"_postman_id":"666b15db-9512-452f-b39d-eb8d515f5cc0"},{"name":"Delete storage account","id":"fbc75afa-9cca-4a08-80d0-287451dd0695","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"98e73626-6606-442b-8d1e-c9eeea64dd09\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/storageAccount_v1/delete_v1","description":"<h2 id=\"delete-storage-account\">Delete storage account</h2>\n<p>Permanently delete the storage account, its access keys and its buckets.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><code>storageAccountId</code>: (uuid, required) The previously given id.</li>\n</ul>\n<h4 id=\"example-request-body\">Example Request Body</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"storageAccountId\": \"f56c9bf2-37b8-4e7a-bf3c-c93394257657\"\n}\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<p>Empty</p>\n","urlObject":{"protocol":"https","path":["api_v1","storageAccount_v1","delete_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[{"id":"035ef8e0-1475-48f0-a4ea-da78668b919a","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 4819ec33-5584-4601-bb22-5cbdd68462ee:uhmdsszOblbmlQQ6u+KpkJXW1i7Bar6iqseulEF3LIY=","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"f56c9bf2-37b8-4e7a-bf3c-c93394257657\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.api.objectstorage.anycloud.dk/api_v1/storageAccount_v1/delete_v1"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fbc75afa-9cca-4a08-80d0-287451dd0695"},{"name":"Create Bucket","id":"a426d29e-6d3d-40bb-a6f4-aa4421955f42","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"46cbcbfc-1ffd-440f-b313-7c73497cb3ee\",\r\n    \"bucketName\": \"cjedevyetanothertest005\",\r\n    \"region\": \"FRA\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/bucket_v1/create_v1","description":"<h3 id=\"create-bucket\">Create Bucket</h3>\n<p>Create a data-bucket inside a storage account. A bucket is a storage container that can be accessed with the S3 protocol. Note that an access key with the FullAccess permission can create their own buckets, they should not do this and instead use this API endpoint. That is because the storage type and data location cannot be properly set from within the S3 location the way it can be here. Buckets NOT may be subject to removal.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><code>storageAccountId</code> (uuid, required): The ID of the storage account.</li>\n<li><code>bucketName</code> (text, required): The name of the bucket. Only lowercase letters and numbers, 3-63 characters. Must be globally unique across the provider's catalogue of buckets.</li>\n<li><code>region</code> (text, required): The 3-letter iata airport code for the region in which the bucket will be created. The valid options are:<br />  SYD: Australia, Sydney<br />  SAO: Brazil, Sao Paulo<br />  YTO: Canada, Toronto<br />  YMQ: Canada, Montreal<br />  PAR: France, Paris<br />  FRA: Germany, Frankfurt<br />  MAA: India, Chennai<br />  MIL: Italy, Milan<br />  OSA: Japan, Osaka<br />  TYO: Japan, Tokyo<br />  AMS: Netherlands, Amsterdam<br />  LON: UK, London<br />  DFW: USA, Texas, Dallas<br />  SJC: USA, California, San Jose<br />  WAS: USA, Washington D.C.<br />  SIN: Singapore</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Upon successful creation of the bucket, the response will include:</p>\n<ul>\n<li><code>bucketId</code>: The id to reference this bucket within this system.</li>\n<li><code>endpoints</code>: An object containing the public, private, and direct endpoints for accessing the newly created bucket. Public is the fallback if none of the other options work, and most likely the one you need. The private endpoint can be used if the calling client exists inside the provider's systems. The direct endpoint is used when the calling client exists within a network that has been teathered to the provider's network, eg. with Virtual Private Cloud (VPC) or Bring Your Own Ip (BYOIP) configurations.<br />  Note that an access key can access all buckets in their boundary regardless of which location-endpoint you use, data transfer will be segnificantly faster if you ones given when the bucket was created.</li>\n</ul>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"endpoints\": {\n        \"public\": \"s3.eu-de.cloud-object-storage.appdomain.cloud:443\",\n        \"private\": \"s3.private.eu-de.cloud-object-storage.appdomain.cloud:443\",\n        \"direct\": \"s3.direct.eu-de.cloud-object-storage.appdomain.cloud:443\"\n    } \n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api_v1","bucket_v1","create_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[{"id":"77e08b30-7364-48ea-8f50-fbd215fca434","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 4819ec33-5584-4601-bb22-5cbdd68462ee:uhmdsszOblbmlQQ6u+KpkJXW1i7Bar6iqseulEF3LIY=","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"boundaryId\": \"f56c9bf2-37b8-4e7a-bf3c-c93394257657\",\r\n    \"bucketName\": \"thebestbucketever\",\r\n    \"region\": \"FRA\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.api.objectstorage.anycloud.dk/api_v1/bucket_v1/create_v1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [],\n    \"data\": {\n        \"id\": \"6ef2f5f2-761d-4cd1-9aa8-d9c5156fc646\",\n        \"name\": \"thebestbucketever\",\n        \"endpoints\": {\n            \"public\": \"s3.eu-de.cloud-object-storage.appdomain.cloud\",\n            \"private\": \"s3.private.eu-de.cloud-object-storage.appdomain.cloud\",\n            \"direct\": \"s3.direct.eu-de.cloud-object-storage.appdomain.cloud\"\n        }\n    }\n}"}],"_postman_id":"a426d29e-6d3d-40bb-a6f4-aa4421955f42"},{"name":"Delete Bucket","id":"ccc6d53b-0fc9-4123-9c76-b4cf556b6031","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"a26ea613-5ec1-4165-956c-926a55fbe835\",\r\n    \"bucketId\": \"496f661d-1ed8-4a7c-b8f8-5b3c9552d2c3\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/bucket_v1/delete_v1","urlObject":{"protocol":"https","path":["api_v1","bucket_v1","delete_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[],"_postman_id":"ccc6d53b-0fc9-4123-9c76-b4cf556b6031"},{"name":"Create Key","id":"94a53d65-8eed-4eec-a8ca-026d6ba961cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"46cbcbfc-1ffd-440f-b313-7c73497cb3ee\",\r\n    \"permission\": \"ReadOnly\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/key_v1/create_v1","description":"<h3 id=\"create-key\">Create Key</h3>\n<p>Create a key inside a storage account, which can access all the buckets also inside that same storage account. The endpoint to log in is given when creating the bucket.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>storageAccountId</code> (uuid, required): The ID of the storage account for the key.</p>\n</li>\n<li><p><code>permission</code> (string): The permission level for the key. Can be ReadOnly or FullAccess, which is both read and write.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<ul>\n<li><code>keyId</code>: The id to reference this key in the future.</li>\n<li><code>credentials</code>: The username and password to S3 log into a bucket (in the same storage account).</li>\n</ul>\n<p>Example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"keyId\": \"01853a9e-e148-4bd7-9a00-33317ee2cad9\",\n    \"credential\":\n    {\n        \"username\": \"3eptd9isd4po4l23rljwe9u3mkdfs\",\n        \"password\": \"dfgpjoiw3rpkoewrjisxls43uhfsxodsxuh4wjlvkhekr32uhksposdh4\"\n    }\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["api_v1","key_v1","create_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[{"id":"c47abb9b-40d6-423d-babd-6bd995847054","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 4819ec33-5584-4601-bb22-5cbdd68462ee:uhmdsszOblbmlQQ6u+KpkJXW1i7Bar6iqseulEF3LIY=","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"f56c9bf2-37b8-4e7a-bf3c-c93394257657\",\r\n    \"permission\": \"FullAccess\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.api.objectstorage.anycloud.dk/api_v1/key_v1/create_v1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"errors\": [],\r\n    \"data\": {\r\n        \"keyId\": \"01853a9e-e148-4bd7-9a00-33317ee2cad9\",\r\n        \"credential\":\r\n        {\r\n            \"username\": \"3eptd9isd4po4l23rljwe9u3mkdfs\",\r\n            \"password\": \"dfgpjoiw3rpkoewrjisxls43uhfsxodsxuh4wjlvkhekr32uhksposdh4\"\r\n        }\r\n    }\r\n}"}],"_postman_id":"94a53d65-8eed-4eec-a8ca-026d6ba961cd"},{"name":"Delete Key","id":"1720c3d9-16c1-438b-9305-8b6f32a97930","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"ed05e333-7995-420f-9e31-cceb7a854748\",\r\n    \"keyId\": \"ee676869-02d2-43d2-b6e4-094d37914d88\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/key_v1/delete_v1","description":"<h3 id=\"delete-key\">Delete Key</h3>\n<p>Delete an access key.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>storageAccountId</code> (uuid, required): The ID of the storage account for the key.</p>\n</li>\n<li><p><code>keyId</code> (string, required): The ID of the key.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>Empty</p>\n","urlObject":{"protocol":"https","path":["api_v1","key_v1","delete_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[{"id":"1b989a7b-38a4-4966-9147-e3cadc5c72fb","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer 4819ec33-5584-4601-bb22-5cbdd68462ee:uhmdsszOblbmlQQ6u+KpkJXW1i7Bar6iqseulEF3LIY=","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"f56c9bf2-37b8-4e7a-bf3c-c93394257657\",\r\n    \"keyId\": \"01853a9e-e148-4bd7-9a00-33317ee2cad9\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.api.objectstorage.anycloud.dk/api_v1/key_v1/delete_v1"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"1720c3d9-16c1-438b-9305-8b6f32a97930"},{"name":"Get storage account get all","id":"eceed8ba-184e-4d59-b42c-0a54ec6c42ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"getNextPageToken\": \"\",\r\n    \"pageSize\": 50\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/storageaccount_v1/get_all_v1","urlObject":{"protocol":"https","path":["api_v1","storageaccount_v1","get_all_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[],"_postman_id":"eceed8ba-184e-4d59-b42c-0a54ec6c42ee"},{"name":"Get storage account single","id":"6565e6a2-dc21-4bdd-a604-1a3c2625bd37","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"storageAccountId\": \"a26ea613-5ec1-4165-956c-926a55fbe835\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/storageaccount_v1/get_one_v1","urlObject":{"protocol":"https","path":["api_v1","storageaccount_v1","get_one_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[],"_postman_id":"6565e6a2-dc21-4bdd-a604-1a3c2625bd37"},{"name":"Get usage data","id":"6476bf23-429d-475a-9817-54f73e43e2ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer BearerToken","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"dateRange\": {\r\n        \"from\": \"2024-02-19\",\r\n        \"to\": \"2024-02-20\"\r\n    },\r\n    \"target\": {\r\n        //optional:\r\n        //\"storageAccountId\": \"3b50fd8d-4476-4ed8-9fbc-f9c3f1e50285\"\r\n    },\r\n    \"pagination\": {\r\n        \"getNextPageToken\": \"\",\r\n        \"pageSize\": 50\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://staging-ibmobjectstorage-api.azurewebsites.net/api_v1/usage_v1/get_v1","description":"<p>target.storageAccountId is optional. Without it all buckets within the api-key's owner are given for the dateRange.</p>\n<p>max pagination.pageSize is 50</p>\n<p>See the intro section \"Continuation Pagination token\" for info about the getNextPageToken</p>\n","urlObject":{"protocol":"https","path":["api_v1","usage_v1","get_v1"],"host":["staging-ibmobjectstorage-api.azurewebsites.net"],"query":[],"variable":[]}},"response":[],"_postman_id":"6476bf23-429d-475a-9817-54f73e43e2ec"}],"event":[{"listen":"prerequest","script":{"id":"fff57f43-1b08-495d-ab2e-513a85c534e7","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"cda9acab-4154-4ece-87ed-d1f3fe724917","type":"text/javascript","exec":[""]}}],"variable":[{"key":"Host","value":"staging-ibmobjectstorage-api.azurewebsites.net","type":"string"},{"key":"IamHost","value":"staging-iamapi.azurewebsites.net","type":"string"},{"key":"Username","value":"User","type":"string"},{"key":"Password","value":"Secret","type":"string"},{"key":"BearerToken","value":"BearerToken","type":"string"}]}