copyright | lastupdated | keywords | subcollection | ||
---|---|---|---|---|---|
|
2024-04-18 |
rest, s3, compatibility, api, postman, client, object storage |
cloud-object-storage |
{{site.data.keyword.attribute-definition-list}}
{: #postman}
Here's a basic Postman
setup for the {{site.data.keyword.cos_full}} REST API. More detail can be found in the API reference for buckets or objects.
Using Postman
assumes a certain amount of familiarity with Object Storage and the necessary information from a service credential or the console as shown in the getting started with {{site.data.keyword.cos_full_notm}}. If any terms or variables are unfamiliar, they can be found in the FAQ.
Personally Identifiable Information (PII): When naming buckets or objects, do not use any information that can identify any user (natural person) by name, location, or any other means. {: tip}
{: #postman-rest}
Interacting with a REST API isn't as simple as using a standard internet browser. Simple browsers do not allow any manipulation of the URL request. A REST API client can help quickly put together both simple and complex HTTP requests.
{: #postman-prereqs}
- IBM Cloud account
- Cloud Storage resource created{: external} (lite plan works fine)
- IBM Cloud COS CLI installed and configured
- Service Instance ID for your Cloud Storage
- IAM (Identity and Access Management) Token
- Endpoint for your COS bucket
{: #postman-create-bucket}
- Start Postman
- In the New tab, select
PUT
. - Enter the endpoint in the address bar and add the name for your new bucket. a. Bucket names must be unique across all buckets, so choose something specific.
- In the Type menu, select Bearer Token.
- Add the IAM Token in the Token box.
- Click Preview Request. a. You should see a confirmation message that the headers were added.
- Click the Header tab where you should see an existing entry for Authorization.
- Add a key.
a. Key:
ibm-service-instance-id
b. Value: Resource Instance ID for your cloud storage service. - Click Send.
- You'll receive a status
200 OK
message.
{: #postman-create-text-file}
- Create a tab by clicking the Plus (+) icon.
- Select
PUT
from the list. - In the address bar, enter the endpoint address with the bucket name from previous section and a file name.
- In the Type list select Bearer Token.
- Add the IAM Token in the token box.
- Select the Body tab.
- Select raw option and ensure that Text is selected.
- Enter text in the provided space.
- Click Send.
- You receive a status
200 OK
message.
{: #postman-list-objects}
- Create a new tab by selecting the Plus (+) icon.
- Verify
GET
is selected in the list. - In the address bar, enter the endpoint address with the bucket name from the previous section.
- In the Type list, select Bearer Token.
- Add the IAM Token in the token box.
- Click Send.
- You receive a status
200 OK
message. - In the Body of the Response section is an XML message with the list of files in your bucket.
{: #postman-collection}
This Postman collection is provided as a starting point for experimenting with the API, and it not intended for production use:
{
"info": {
"_postman_id": "56d99641-9ad6-4218-b3d4-18ac8f3361e0",
"name": "IBM COS",
"description": "IBM COS samples",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Retrieve list of buckets",
"event": [
{
"listen": "test",
"script": {
"id": "d67afcf2-6d35-4a2a-9542-b8d5df78eded",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected content\", function() {",
" pm.expect(pm.response.text()).to.include(\"ListAllMyBucketsResult\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "GET",
"header": [
{
"key": "ibm-service-instance-id",
"value": "{{serviceid}}"
}
],
"body": {},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
]
}
},
"response": []
},
{
"name": "Create new bucket",
"event": [
{
"listen": "test",
"script": {
"id": "3cebb9d7-90ee-42c0-9154-b26bd229e179",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "PUT",
"header": [
{
"key": "ibm-service-instance-id",
"value": "{{serviceid}}"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
]
},
"description": "Create new bucket"
},
"response": []
},
{
"name": "Create new text file",
"event": [
{
"listen": "test",
"script": {
"id": "0a54c09b-0032-4933-ae99-81911935cb4d",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected header\", function() {",
" pm.response.to.have.header(\"ETag\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "application/x-www-form-urlencoded"
}
],
"body": {
"mode": "raw",
"raw": "This is test data for the text file."
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testfile.txt",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}",
"testfile.txt"
]
},
"description": "Create a new text file in the bucket"
},
"response": []
},
{
"name": "Create new binary file",
"event": [
{
"listen": "test",
"script": {
"id": "80e3e8bd-3fb5-4874-a638-510cf5b8c872",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected header\", function() {",
" pm.response.to.have.header(\"ETag\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "PUT",
"header": [
{
"key": "Content-Type",
"value": "image/jpeg"
}
],
"body": {
"mode": "file",
"file": {}
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testimage.jpg",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}",
"testimage.jpg"
]
},
"description": "Create a new binary (image) file in the bucket"
},
"response": []
},
{
"name": "Retrieve list of files from bucket",
"event": [
{
"listen": "test",
"script": {
"id": "aae11dfd-89e5-464d-a6da-44c05652ccec",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected content\", function() {",
" pm.expect(pm.response.text()).to.include(\"ListBucketResult\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
]
},
"description": "Retrieve the list of files available in the bucket"
},
"response": []
},
{
"name": "Retrieve list of files from bucket (filter by prefix)",
"event": [
{
"listen": "test",
"script": {
"id": "aae11dfd-89e5-464d-a6da-44c05652ccec",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected content\", function() {",
" pm.expect(pm.response.text()).to.include(\"ListBucketResult\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?prefix=new",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
],
"query": [
{
"key": "prefix",
"value": "new"
}
]
},
"description": "Retrieve the list of files available in the bucket"
},
"response": []
},
{
"name": "Retrieve text file",
"event": [
{
"listen": "test",
"script": {
"id": "58817cc7-7d15-45a9-b372-7712d2fd389d",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected body content\", function() {",
" pm.expect(pm.response.text()).to.include(\"This is test data\");",
"});",
"",
"pm.test(\"Response contains expected header\", function() {",
" pm.response.to.have.header(\"ETag\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testfile.txt",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}",
"testfile.txt"
]
},
"description": "Retrieving a file from bucket"
},
"response": []
},
{
"name": "Retrieve binary file",
"event": [
{
"listen": "test",
"script": {
"id": "db6fa324-080a-43bc-a301-32e70d9bbd65",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected header\", function() {",
" pm.response.to.have.header(\"ETag\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testimage.jpg",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}",
"testimage.jpg"
]
},
"description": "Retrieve a binary file from the bucket"
},
"response": []
},
{
"name": "Retrieve list of failed multipart uploads",
"event": [
{
"listen": "test",
"script": {
"id": "835bcaf6-6e7d-4fa9-883e-1a5c5538ac7e",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected content\", function() {",
" pm.expect(pm.response.text()).to.include(\"ListMultipartUploadsResult\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?uploads=",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
],
"query": [
{
"key": "uploads",
"value": ""
}
]
},
"description": "Retrieve the list of files available in the bucket"
},
"response": []
},
{
"name": "Retrieve list of failed multipart uploads (filter by name)",
"event": [
{
"listen": "test",
"script": {
"id": "835bcaf6-6e7d-4fa9-883e-1a5c5538ac7e",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected content\", function() {",
" pm.expect(pm.response.text()).to.include(\"ListMultipartUploadsResult\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?uploads=&prefix=my",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
],
"query": [
{
"key": "uploads",
"value": ""
},
{
"key": "prefix",
"value": "my"
}
]
},
"description": "Retrieve the list of files available in the bucket"
},
"response": []
},
{
"name": "Set CORS enabled bucket",
"event": [
{
"listen": "test",
"script": {
"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "PUT",
"header": [
{
"key": "ibm-service-instance-id",
"value": "{{serviceid}}"
},
{
"key": "Content-MD5",
"value": "GQmpTNpruOyK6YrxHnpj7g=="
}
],
"body": {
"mode": "raw",
"raw": "<CORSConfiguration>\n <CORSRule>\n <AllowedOrigin>http:www.ibm.com</AllowedOrigin>\n <AllowedMethod>GET</AllowedMethod>\n <AllowedMethod>PUT</AllowedMethod>\n <AllowedMethod>POST</AllowedMethod>\n </CORSRule>\n</CORSConfiguration>"
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?cors=",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
],
"query": [
{
"key": "cors",
"value": ""
}
]
}
},
"response": []
},
{
"name": "Retrieve bucket CORS config",
"event": [
{
"listen": "test",
"script": {
"id": "d9c0dce3-decd-4f3e-b5b1-e3f4a89f1283",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
"",
"pm.test(\"Response contains expected content\", function() {",
" pm.expect(pm.response.text()).to.include(\"CORSConfiguration\");",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "GET",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?cors=",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
],
"query": [
{
"key": "cors",
"value": ""
}
]
},
"description": "Retrieve the list of files available in the bucket"
},
"response": []
},
{
"name": "Delete bucket CORS config",
"event": [
{
"listen": "test",
"script": {
"id": "83ce0bed-572f-4c16-b45f-67a7a9cc5550",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}?cors=",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
],
"query": [
{
"key": "cors",
"value": ""
}
]
},
"description": "Retrieve the list of files available in the bucket"
},
"response": []
},
{
"name": "Delete text file",
"event": [
{
"listen": "test",
"script": {
"id": "78b76a84-9562-4692-9634-e10912574a89",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});",
""
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testfile.txt",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}",
"testfile.txt"
]
},
"description": "Retrieving a file from bucket"
},
"response": []
},
{
"name": "Delete binary file",
"event": [
{
"listen": "test",
"script": {
"id": "a8363887-2b04-4deb-a75b-10220d30e856",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}/testimage.jpg",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}",
"testimage.jpg"
]
},
"description": "Retrieve a binary file from the bucket"
},
"response": []
},
{
"name": "Delete bucket",
"event": [
{
"listen": "test",
"script": {
"id": "3cebb9d7-90ee-42c0-9154-b26bd229e179",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [
{
"key": "ibm-service-instance-id",
"value": "{{serviceid}}"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}"
]
},
"description": "Create new bucket"
},
"response": []
},
{
"name": "Create new bucket (different storage class)",
"event": [
{
"listen": "test",
"script": {
"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "PUT",
"header": [
{
"key": "ibm-service-instance-id",
"value": "{{serviceid}}"
},
{
"key": "Content-Type",
"value": "application/x-www-form-urlencoded"
}
],
"body": {
"mode": "raw",
"raw": "<CreateBucketConfiguration>\n\t<LocationConstraint>{{bucketlocationvault}}</LocationConstraint>\n</CreateBucketConfiguration>"
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}vault",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}vault"
]
}
},
"response": []
},
{
"name": "Delete bucket (different storage class)",
"event": [
{
"listen": "test",
"script": {
"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [
{
"key": "ibm-service-instance-id",
"value": "{{serviceid}}"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}vault",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}vault"
]
}
},
"response": []
},
{
"name": "Create new bucket (key protect)",
"event": [
{
"listen": "test",
"script": {
"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "PUT",
"header": [
{
"key": "ibm-service-instance-id",
"value": "{{serviceid}}"
},
{
"key": "ibm-sse-kp-encryption-algorithm",
"value": "AES256"
},
{
"key": "ibm-sse-kp-customer-root-key-crn",
"value": "{{rootkeycrn}}"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}kp",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}kp"
]
}
},
"response": []
},
{
"name": "Delete bucket (key protect)",
"event": [
{
"listen": "test",
"script": {
"id": "5cf3d531-13f1-4cf6-a4fc-2f8d2d8e48af",
"type": "text/javascript",
"exec": [
"pm.test(\"Request was successful\", function() {",
" pm.response.to.be.success; ",
"});"
]
}
}
],
"request": {
"auth": {
"type": "bearer",
"bearer": [
{
"key": "token",
"value": "{{iamtoken}}",
"type": "string"
}
]
},
"method": "DELETE",
"header": [
{
"key": "ibm-service-instance-id",
"value": "{{serviceid}}"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "https://{{endpoint-region}}cloud-object-storage.appdomain.cloud/{{bucket}}kp",
"protocol": "https",
"host": [
"{{endpoint-region}}",
"objectstorage",
"softlayer",
"net"
],
"path": [
"{{bucket}}kp"
]
}
},
"response": []
}
],
"event": [
{
"listen": "prerequest",
"script": {
"id": "08caf505-3991-4273-8027-db00d867680f",
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"id": "6e61fa13-e3b9-42f0-8c38-9d3468748922",
"type": "text/javascript",
"exec": [
""
]
}
}
],
"variable": [
{
"id": "643d5480-e629-4e26-b244-1b3c3a85195a",
"key": "bucket",
"value": "jsaitocosbucketapitest41",
"type": "string",
"description": ""
},
{
"id": "7554e40a-f4d5-4938-972e-43b28ce52ad1",
"key": "serviceid",
"value": "crn:v1:bluemix:public:cloud-object-storage:global:a/1d524cd94a0dda86fd8eff3191340732:8888b05b-a143-4917-9d8e-9d5b326a1604::",
"type": "string",
"description": ""
},
{
"id": "f06bc8b2-3476-47a6-aacb-c603dd808310",
"key": "iamtoken",
"value": "eyJraWQiOiIyMDE3MTAzMC0wMDowMDowMCIsImFsZyI6IlJTMjU2In0.eyJpYW1faWQiOiJJQk1pZC01MFkxNjdNOFRZIiwiaWQiOiJJQk1pZC01MFkxNjdNOFRZIiwicmVhbG1pZCI6IklCTWlkIiwiaWRlbnRpZmllciI6IjUwWTE2N004VFkiLCJnaXZlbl9uYW1lIjoiSmFtZXMiLCJmYW1pbHlfbmFtZSI6IlNhaXRvIiwibmFtZSI6IkphbWVzIFNhaXRvIiwiZW1haWwiOiJKYW1lcy5TYWl0bzFAaWJtLmNvbSIsInN1YiI6IkphbWVzLlNhaXRvMUBpYm0uY29tIiwiYWNjb3VudCI6eyJic3MiOiIxZDUyNGNkOTRhMGRkYTg2ZmQ4ZWZmMzE5MTM0MDczMiJ9LCJpYXQiOjE1Mjg2MDk0ODIsImV4cCI6MTUyODYxMzA4MiwiaXNzIjoiaHR0cHM6Ly9pYW0uYmx1ZW1peC5uZXQvaWRlbnRpdHkiLCJncmFudF90eXBlIjoidXJuOmlibTpwYXJhbXM6b2F1dGg6Z3JhbnQtdHlwZTphcGlrZXkiLCJzY29wZSI6ImlibSBvcGVuaWQiLCJjbGllbnRfaWQiOiJieCIsImFjciI6MSwiYW1yIjpbInB3ZCJdfQ.iG5ey13QlXHu3OH81v8J5sduKv3NzSqCFng_DlpNglPo07K-nWst3O9o6iEJfm0AzJwYNTZqWVru1pjI-KcAPXFBe503DPIf6cYolAw4rarU5booW-pdzk8-R5HZ7MJK7b8sxJtm7PAilXVZvl5yFE-tJsFkeMH6XCIj_R9i6dwSemDBL3Juq79_x3KsgJGFg37p5f2vck1_7gR7nSb03m8m3mCvrrx7zGkLDuM8NXAVlwwxKcitwlG_UfEBwSbX3krF04zF2tFCpGkcWAnuaFdaVTOL6uaULxCi5BWHqzLXIPhAoyfnVGNv0TBJtyFcpJ1LdlsBmz7RS2fROlDf2w",
"type": "string",
"description": ""
},
{
"id": "dba24a46-e1df-4201-9a9b-f247fff22315",
"key": "endpoint-region",
"value": "s3.us-south",
"type": "string",
"description": ""
},
{
"id": "ca751949-eea0-4f36-9f58-aea1ed324cd5",
"key": "rootkeycrn",
"value": "crn:v1:bluemix:public:kms:us-south:a/1d524cd94a0dda86fd8eff3191340732:90b7a1db-0fe2-4de9-b90e-922c127ff530:key:0b43e36e-a863-40e2-b713-5caa2bf99288",
"type": "string",
"description": ""
},
{
"id": "e486732e-c9bc-4ec4-8bf9-04b66d513e5a",
"key": "bucketlocationvault",
"value": "us-south-vault",
"type": "string",
"description": ""
}
]
}
{: #postman-import-collection}
- In Postman click Import in the upper right corner
- Import the Collection file by using either of these methods:
- From the Import window drag the Collection file into the window labeled Drop files here
- Click the Choose Files button and browse to the folder and select the Collection file
- IBM COS now appears in the Collections window
- Expand the Collection and see 20 sample requests
- Click the three dots to the right of the collection to expand the menu and click Edit
- Edit the variables to match your Cloud Storage environment
bucket
- Enter the name for the new bucket you want to create (bucket names must be unique across Cloud Storage).serviceid
- Enter the CRN of your Cloud Storage service. Instructions to obtain your CRN are available here.iamtoken
- Enter the OAUTH token for your Cloud Storage service. Instructions to obtain your OAUTH token are available here.endpoint
- Enter the regional endpoint for your Cloud Storage service. Obtain the available endpoints from the IBM Cloud Dashboard{: external}- Ensure that your selected endpoint matches your key protect service to ensure that the samples run correctly
rootkeycrn
- The CRN of the Root Key created in your primary Key Protect service.- The CRN resembles
crn:v1:bluemix:public:kms:us-south:a/3d624cd74a0dea86ed8efe3101341742:90b6a1db-0fe1-4fe9-b91e-962c327df531:key:0bg3e33e-a866-50f2-b715-5cba2bc93234
- Ensure the Key Protect service that is selected matches the region of the Endpoint
- The CRN resembles
bucketlocationvault
- Enter the location constraint value for the bucket creation for the Create New Bucket (different storage class) API request.- Acceptable values include:
us-south-vault
us-standard-flex
eu-cold
- Acceptable values include:
- Click Update
{: #postman-samples}
The API sample requests are fairly straightforward and easy to use. They're designed to run in order and demonstrate how to interact with Cloud Storage. You can also run a functional test against your Cloud Storage service to ensure proper operation.
Request | Expected Result | Test Results |
---|---|---|
Retrieve list of buckets | In the Body, you set an XML list of the buckets in your cloud storage. | Request was successful. Response contains expected content |
Create new bucket | Status Code 200 OK | Request was successful |
Create new text file | Status Code 200 OK | Request was successful. Response contains expected header |
Create new binary file | Click Body and click Choose File to select an image to upload. | Request was successful. Response contains expected header |
Retrieve list of files from bucket | In the Body of the response you see the two files you created in the previous requests. | Request was successful. Response contains expected header |
Retrieve list of files from bucket (filter by prefix) | Change the query string value to prefix=<some text> . In the body of the response you see the files with names that start with the prefix specified. |
Request was successful. Response contains expected header |
Retrieve text file | In the Body of the response you see the text you entered in the previous request | Request was successful. Response contains expected body content. Response contains expected header |
Retrieve binary file | In the Body of the response you see the image you chose in the previous request. | Request was successful. Response contains expected header |
Retrieve list of failed multipart uploads | In the Body of the response you see any failed multipart uploads for the bucket. | Request was successful. Response contains expected content |
Retrieve list of failed multipart uploads (filter by name) | Change the query string value to prefix=<some text> . In the body of the response you see any failed multipart uploads for the bucket with names that start with the prefix specified. |
Request was successful. Response contains expected content |
Set CORS enabled bucket | Status Code 200 OK | Request was successful |
Retrieve bucket CORS config | In the body of the response you see the CORS configuration set for the bucket | Request was successful. Response contains expected content |
Delete bucket CORS config | Status Code 200 OK | Request was successful |
Delete text file | Status Code 200 OK | Request was successful |
Delete binary file | Status Code 200 OK | Request was successful |
Delete bucket | Status Code 200 OK | Request was successful |
Create new bucket (different storage class) | Status Code 200 OK | Request was successful |
Delete bucket (different storage class) | Status Code 200 OK | Request was successful |
Create new bucket (key protect) | Status Code 200 OK | Request was successful |
Delete bucket (key protect) | Status Code 200 OK | Request was successful |
{: #postman-runner}
The Postman Collection Runner provides a user interface for testing a collection and allows you to run all requests in a Collection at once.
- Click the Runner button in the upper right corner on the main Postman window.
- In the Runner window, select the IBM COS collection and click the big blue run IBM COS button at the bottom of the screen.
- The Collection Runner window will show the iterations as the requests are run. You will see that the test results appear below each of the requests.
- The Run Summary displays a grid view of the requests and allows filtering of the results.
- You can also click Export Results to save the results to a JSON file.