IBM Cloud API Docs

Introduction

With the IBM® Storage Ceph® as a Service Object Storage API, you can programmatically manage object storage resources within an IBM Storage Ceph as a Service deployment, including Object Access Keys and S3 Ingress Certificates. For more information, see About IBM Storage Ceph as a Service APIs.

SDKs

SDK for Go is available for this API. The client libraries that are provided by the SDK implement best practices for using the API and reduce the amount of code that you need to write. The tab for each language includes code examples that demonstrate how to use the client libraries.

For more details about using IBM Storage Ceph as a Service, see docs.

Installing the Go SDK

Go modules (recommended): Add the following import in your code, and then run go build or go mod tidy

import (
	"github.com/IBM/sds-go-sdk/sdsaasv1"
)

Go get

go get -u github.com/IBM/sds-go-sdk/sdsaasv1

View on GitHub

Endpoint URLs

IBM Storage Ceph as a Service Object Storage API is available in all IBM CephaaS deployments. To get the endpoint URL that you can use for a deployment, contact your Storage Administrator.

Authentication

The IBM Storage Ceph as a Service Object Storage API uses Identity and Access Management (IAM) to authenticate requests. To call each API method, you must be assigned a role that has access to the parent service instance. Check your access on the IBM Cloud console by navigating to Users > User > Access.

Learn about obtaining an IAM token for an authenticated user or service ID in the IAM Identity Services API.

If you first create an API key, you can use it to generate an IAM token.

To use the API, add a valid IAM token to the HTTP Authorization request header. For example, -H 'Authorization: Bearer {token}'.

When you use the SDK, configure an IAM authenticator with the IAM API key. The authenticator automatically obtains the IAM access token for the API key and includes it with each request. You can construct an authenticator in either of two ways:

  • Programmatically by constructing an IAM authenticator instance and supplying your IAM API key.
  • By defining the API key in external configuration properties, and then by using the SDK authenticator factory to construct an IAM authenticator that uses the configured IAM API key.

In this example of using external configuration properties, an IAM authenticator instance is created with the configured API key, and then the service client is constructed with this authenticator instance and the configured service URL.

For more information, see the Authentication section of the IBM Cloud SDK Common documentation.

To call each method, you need to be assigned a role that includes the required IAM actions. Each method lists the associated action. For more information about IAM actions and how they map to roles, see Assigning access to account management services.

To retrieve your access token:

curl -X POST   "https://iam.cloud.ibm.com/identity/token"   --header 'Content-Type: application/x-www-form-urlencoded'   --header 'Accept: application/json'   --data-urlencode 'grant_type=urn:ibm:params:oauth:grant-type:apikey'   --data-urlencode 'apikey={API_KEY}'

Replace {API_KEY} with your IAM API key.

Setting client options through external configuration

Example environment variables, where {SERVICE_URL} is the endpoint URL and {API_KEY} is your IAM API key

export GLOBAL_SEARCH_URL={SERVICE_URL}
export GLOBAL_SEARCH_AUTHTYPE=iam
export GLOBAL_SEARCH_APIKEY={API_KEY}

Example of constructing the service client

import {
    "github.com/IBM/sds-go-sdk/sdsaasv1"
}
...
authenticator := &core.IamAuthenticator{
		ApiKey: <apiKey>,
	}

sdsaasServiceOptions := &sdsaasv1.SdsaasV1Options{
		URL:           <serviceEndpoint>,
		Authenticator: authenticator,
	}

sdsaasService, err = sdsaasv1.NewSdsaasV1(sdsaasServiceOptions)
	if err != nil {
		panic(err)
	}

Auditing

Monitor API activity within your account by using the IBM Cloud Activity Tracker Activity Tracker service. Each time that you make an API call, one or more events are generated that you can track and audit from within Activity Tracker. Specific auditing event types are listed for each individual method. For more information about how to track IBM Storage Ceph as a Service activity, see Activity tracking events for IBM Storage Ceph as a Service.

Error handling

This API uses standard HTTP response codes to indicate whether a method was completed successfully. A 200 response indicates success. A 400 type response indicates a failure, and a 500 type response indicates an internal system error.

Table 1. Error codes
HTTP Error Code Description Recovery
400 Bad Request The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters in your request.
401 Unauthorized You are not authorized to make this request. If this error persists, contact the account owner to check your permissions.
403 Forbidden The supplied authentication is not authorized to perform the requested operation. You do not have valid access through IAM access policies. If this error persists, contact the account owner to check your permissions.
404 Not Found The requested resource could not be found.
408 Request timeout The connection to the server timed out. Wait a few minutes, then try again.
409 Conflict The request cannot be completed because of a conflict between the request and the current state of the resource.
500 Internal Server Error The request cannot be processed because the client encountered an unexpected condition on the server. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support.
502 Bad Gateway The server was acting as a gateway or proxy and received an invalid response from the upstream server.
503 Service Unavailable The server cannot process the request. Generally, this condition is temporary, such as when a server is overloaded or down for scheduled maintenance. This condition could also be due to an unplanned outage of a service that is needed to process the request. Wait a few minutes and try submitting the request again. If this error persists, contact IBM Support.
504 Gateway timeout The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
505 HTTP Version Not Supported The server does not support the HTTP protocol version that is used in the request.

Versioning

Requests to the IBM CephaaS Object Storage API require a major version as the first segment of the request path (/v1/).

Methods

List HMAC credentials

Gets list of HMAC credential access keys for S3 authentication.

Gets list of HMAC credential access keys for S3 authentication.

GET /s3_credentials
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) ListHmacCredentials(listHmacCredentialsOptions *ListHmacCredentialsOptions) (result *StorageWorkspaceCredResponse, response *core.DetailedResponse, err error)
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) ListHmacCredentialsWithContext(ctx context.Context, listHmacCredentialsOptions *ListHmacCredentialsOptions) (result *StorageWorkspaceCredResponse, response *core.DetailedResponse, err error)

Request

Instantiate the ListHmacCredentialsOptions struct and set the fields to provide parameter values for the ListHmacCredentials method.

Custom Headers

  • The date version provided to the API, which should be in YYYY-MM-DD format and be between 2025-02-01 and the current date.

    Possible values: 0 ≤ length ≤ 10, Value must match regular expression ^(\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

    Example: 2025-02-01

  • The correlation ID, which should be a v4 UUID that is used to link this API call to an existing set of actions. If not provided, a new one will be generated.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

  • A request ID in v4 UUID format that is unique for this specific request. If not provided, a new one will be generated for this request.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

WithContext method only

The ListHmacCredentials options.

  • curl -X GET --location --header "Authorization: Bearer ${iam_token}"   --header "Accept: application/json"   --header "IBM-API-Version: 2025-02-01"   "${base_url}/s3_credentials"

Response

The list of HMAC credential access keys.

The list of HMAC credential access keys.

Examples:
{
  "s3_credentials": [
    "test-key-1",
    "test-key-2"
  ]
}

Status Code

  • Indicates a successful request and returns the list of HMAC credential access keys.

  • The user is not authorized to make this request. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • An internal server error has occurred. Additional information about the error and relevant documentation will be provided in the response as necessary.

Example responses
  • {
      "s3_credentials": [
        "test-key-1",
        "test-key-2"
      ]
    }
  • {
      "s3_credentials": [
        "test-key-1",
        "test-key-2"
      ]
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }

Create HMAC credentials

Given an access key, creates an HMAC credential and returns the access key and secret key pair.

Given an access key, creates an HMAC credential and returns the access key and secret key pair.

POST /s3_credentials/{access_key}
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) CreateHmacCredentials(createHmacCredentialsOptions *CreateHmacCredentialsOptions) (result *AccessKeyResponse, response *core.DetailedResponse, err error)
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) CreateHmacCredentialsWithContext(ctx context.Context, createHmacCredentialsOptions *CreateHmacCredentialsOptions) (result *AccessKeyResponse, response *core.DetailedResponse, err error)

Request

Instantiate the CreateHmacCredentialsOptions struct and set the fields to provide parameter values for the CreateHmacCredentials method.

Custom Headers

  • The date version provided to the API, which should be in YYYY-MM-DD format and be between 2025-02-01 and the current date.

    Possible values: 0 ≤ length ≤ 10, Value must match regular expression ^(\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

    Example: 2025-02-01

  • The correlation ID, which should be a v4 UUID that is used to link this API call to an existing set of actions. If not provided, a new one will be generated.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

  • A request ID in v4 UUID format that is unique for this specific request. If not provided, a new one will be generated for this request.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

Path Parameters

  • The access key to create the new HMAC credential, must be less than 2048 characters long and may only contain alphanumeric characters, underscores, and dashes.

    Possible values: 1 ≤ length ≤ 2048, Value must match regular expression ^[a-zA-Z0-9_-]{1,2048}$

    Example: xxx-xx-xxx

WithContext method only

The CreateHmacCredentials options.

  • curl -X POST --location --header "Authorization: Bearer ${iam_token}"   --header "Accept: application/json"   --header "IBM-API-Version: 2025-02-01"   "${base_url}/s3_credentials/${access_key}"

Response

The response for creating a new HMAC credential, containing the access key and secret key for that HMAC credential.

The response for creating a new HMAC credential, containing the access key and secret key for that HMAC credential.

Examples:
{
  "access_key": "test-key-1",
  "secret_key": "qwertyuiop"
}

Status Code

  • Indicates a successful request and returns the access and secret key pair for the newly created HMAC credential.

  • The request is invalid. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • The user is not authorized to make this request. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • The server was unable to find the resource for this request. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • There is a conflict with the current state of the resource. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • An internal server error has occurred. Additional information about the error and relevant documentation will be provided in the response as necessary.

Example responses
  • {
      "access_key": "test-key-1",
      "secret_key": "qwertyuiop"
    }
  • {
      "access_key": "test-key-1",
      "secret_key": "qwertyuiop"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }

Delete HMAC credentials

Deletes the specific HMAC credential using the provided access key.

Deletes the specific HMAC credential using the provided access key.

DELETE /s3_credentials/{access_key}
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) DeleteHmacCredentials(deleteHmacCredentialsOptions *DeleteHmacCredentialsOptions) (response *core.DetailedResponse, err error)
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) DeleteHmacCredentialsWithContext(ctx context.Context, deleteHmacCredentialsOptions *DeleteHmacCredentialsOptions) (response *core.DetailedResponse, err error)

Request

Instantiate the DeleteHmacCredentialsOptions struct and set the fields to provide parameter values for the DeleteHmacCredentials method.

Custom Headers

  • The date version provided to the API, which should be in YYYY-MM-DD format and be between 2025-02-01 and the current date.

    Possible values: 0 ≤ length ≤ 10, Value must match regular expression ^(\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

    Example: 2025-02-01

  • The correlation ID, which should be a v4 UUID that is used to link this API call to an existing set of actions. If not provided, a new one will be generated.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

  • A request ID in v4 UUID format that is unique for this specific request. If not provided, a new one will be generated for this request.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

Path Parameters

  • The access key to identify the HMAC credential that will be deleted in this request.

    Possible values: 1 ≤ length ≤ 2048, Value must match regular expression ^[a-zA-Z0-9_-]{1,2048}$

WithContext method only

The DeleteHmacCredentials options.

  • curl -X DELETE --location --header "Authorization: Bearer ${iam_token}"   --header "IBM-API-Version: 2025-02-01"   "${base_url}/s3_credentials/${access_key}"

Response

Status Code

  • The HMAC credential was successfully deleted.

  • The request is invalid. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • The user is not authorized to make this request. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • An internal server error has occurred. Additional information about the error and relevant documentation will be provided in the response as necessary.

Example responses
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }

List the configured certificates

Retrieves the list configured certificates.

Retrieves the list configured certificates.

GET /certificates
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) ListCertificates(listCertificatesOptions *ListCertificatesOptions) (result *CertListResponse, response *core.DetailedResponse, err error)
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) ListCertificatesWithContext(ctx context.Context, listCertificatesOptions *ListCertificatesOptions) (result *CertListResponse, response *core.DetailedResponse, err error)

Request

Instantiate the ListCertificatesOptions struct and set the fields to provide parameter values for the ListCertificates method.

Custom Headers

  • The date version provided to the API, which should be in YYYY-MM-DD format and be between 2025-02-01 and the current date.

    Possible values: 0 ≤ length ≤ 10, Value must match regular expression ^(\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

    Example: 2025-02-01

  • The correlation ID, which should be a v4 UUID that is used to link this API call to an existing set of actions. If not provided, a new one will be generated.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

  • A request ID in v4 UUID format that is unique for this specific request. If not provided, a new one will be generated for this request.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

WithContext method only

The ListCertificates options.

  • curl -X GET --location --header "Authorization: Bearer ${iam_token}"   --header "Accept: application/json"   --header "IBM-API-Version: 2025-02-01"   "${base_url}/certificates"

Response

The list of configured certificates

The list of configured certificates.

Examples:
{
  "certificates": [
    "s3"
  ]
}

Status Code

  • Indicates a successful request and returns the current list configured certificates.

Example responses
  • {
      "certificates": [
        "s3"
      ]
    }
  • {
      "certificates": [
        "s3"
      ]
    }

Get SSL cert status

Retrieves the expiration date and status of the SSL certificate. The expiration status indicates the validity of the certificate.

Retrieves the expiration date and status of the SSL certificate. The expiration status indicates the validity of the certificate.

GET /certificates/{cert_type}
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) GetS3SslCertStatus(getS3SslCertStatusOptions *GetS3SslCertStatusOptions) (result *StatusResponse, response *core.DetailedResponse, err error)
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) GetS3SslCertStatusWithContext(ctx context.Context, getS3SslCertStatusOptions *GetS3SslCertStatusOptions) (result *StatusResponse, response *core.DetailedResponse, err error)

Request

Instantiate the GetS3SslCertStatusOptions struct and set the fields to provide parameter values for the GetS3SslCertStatus method.

Custom Headers

  • The date version provided to the API, which should be in YYYY-MM-DD format and be between 2025-02-01 and the current date.

    Possible values: 0 ≤ length ≤ 10, Value must match regular expression ^(\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

    Example: 2025-02-01

  • The correlation ID, which should be a v4 UUID that is used to link this API call to an existing set of actions. If not provided, a new one will be generated.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

  • A request ID in v4 UUID format that is unique for this specific request. If not provided, a new one will be generated for this request.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

Path Parameters

  • The certificate type that is to be used in the request. Acceptable values include: s3.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression ^[a-zA-Z0-9_-]{1,256}$

WithContext method only

The GetS3SslCertStatus options.

  • curl -X GET --location --header "Authorization: Bearer ${iam_token}"   --header "Accept: application/json"   --header "IBM-API-Version: 2025-02-01"   "${base_url}/certificates/${cert_type}"

Response

The expiration status and expiration date of the current certificate.

The expiration status and expiration date of the current certificate.

Examples:
{
  "expiration_date": "2024-04-16T13:45:38Z",
  "expired": true
}

Status Code

  • Indicates a successful request and returns the current SSL certificate's expiration status and expiration date.

  • The user is not authorized to make this request. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • An internal server error has occurred. Additional information about the error and relevant documentation will be provided in the response as necessary.

Example responses
  • {
      "expiration_date": "2024-04-16T13:45:38Z",
      "expired": true
    }
  • {
      "expiration_date": "2024-04-16T13:45:38Z",
      "expired": true
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }

Replace an SSL certificate

Replace the provided PEM formatted TLS certificate.

Replace the provided PEM formatted TLS certificate.

PUT /certificates/{cert_type}
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) ReplaceSslCert(replaceSslCertOptions *ReplaceSslCertOptions) (result *CertResponse, response *core.DetailedResponse, err error)
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) ReplaceSslCertWithContext(ctx context.Context, replaceSslCertOptions *ReplaceSslCertOptions) (result *CertResponse, response *core.DetailedResponse, err error)

Request

Instantiate the ReplaceSslCertOptions struct and set the fields to provide parameter values for the ReplaceSslCert method.

Custom Headers

  • The date version provided to the API, which should be in YYYY-MM-DD format and be between 2025-02-01 and the current date.

    Possible values: 0 ≤ length ≤ 10, Value must match regular expression ^(\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

    Example: 2025-02-01

  • The correlation ID, which should be a v4 UUID that is used to link this API call to an existing set of actions. If not provided, a new one will be generated.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

  • A request ID in v4 UUID format that is unique for this specific request. If not provided, a new one will be generated for this request.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

Path Parameters

  • The certificate type that is to be used in the PUT request. Acceptable values include: s3.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression ^[a-zA-Z0-9_-]{1,256}$

A string containing at least one PEM formatted TLS Certificate and a PEM formatted TLS Key for the PUT request. These should be formatted according to the RFC-7468 standard, with the CERTIFICATE property being used for certificates and any of the following properties for keys: PRIVATE KEY, RSA PRIVATE KEY, EC PRIVATE KEY. If a provided certificate or key is not in the specified formats, the API will reject it.

WithContext method only

The ReplaceSslCert options.

  • curl -X PUT --location --header "Authorization: Bearer ${iam_token}"   --header "Accept: application/json"   --header "IBM-API-Version: 2025-02-01"   --header "Content-Type: text/plain"   "${base_url}/certificates/${cert_type}"

Response

The response for posting a new SSL certificate, including any errors and if the provided key and certificate are valid.

The response for posting a new SSL certificate, including any errors and if the provided key and certificate are valid.

Examples:
{
  "errors": [],
  "valid_certificate": true,
  "value_key": true
}

Status Code

  • The provided SSL certificate and key were uploaded successfully. The response provides the validity of the certificate and the key

  • The provided SSL certificate and key were NOT uploaded successfully. The response includes a list of relevant errors and whether the provided certificate or key were valid. Valid certificate names are: s3mgmt

  • The user is not authorized to make this request. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • An internal server error has occurred. Additional information about the error and relevant documentation will be provided in the response as necessary.

Example responses
  • {
      "errors": [],
      "valid_certificate": true,
      "value_key": true
    }
  • {
      "errors": [],
      "valid_certificate": true,
      "value_key": true
    }
  • {
      "errors": [],
      "valid_certificate": true,
      "value_key": true
    }
  • {
      "errors": [],
      "valid_certificate": true,
      "value_key": true
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }

Create SSL certificates

Create the provided PEM formatted TLS certificate(s)

Create the provided PEM formatted TLS certificate(s).

POST /certificates/{cert_type}
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) CreateSslCert(createSslCertOptions *CreateSslCertOptions) (result *CertResponse, response *core.DetailedResponse, err error)
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) CreateSslCertWithContext(ctx context.Context, createSslCertOptions *CreateSslCertOptions) (result *CertResponse, response *core.DetailedResponse, err error)

Request

Instantiate the CreateSslCertOptions struct and set the fields to provide parameter values for the CreateSslCert method.

Custom Headers

  • The date version provided to the API, which should be in YYYY-MM-DD format and be between 2025-02-01 and the current date.

    Possible values: 0 ≤ length ≤ 10, Value must match regular expression ^(\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

    Example: 2025-02-01

  • The correlation ID, which should be a v4 UUID that is used to link this API call to an existing set of actions. If not provided, a new one will be generated.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

  • A request ID in v4 UUID format that is unique for this specific request. If not provided, a new one will be generated for this request.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

Path Parameters

  • The certificate type that is to be used in the POST request. Acceptable values include: s3.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression ^[a-zA-Z0-9_-]{1,256}$

A string containing at least one PEM formatted TLS Certificate and a PEM formatted TLS Key for the POST request. These should be formatted according to the RFC-7468 standard, with the CERTIFICATE property being used for certificates and any of the following properties for keys: PRIVATE KEY, RSA PRIVATE KEY, EC PRIVATE KEY. If a provided certificate or key is not in the specified formats, the API will reject it.

WithContext method only

The CreateSslCert options.

  • curl -X POST --location --header "Authorization: Bearer ${iam_token}"   --header "Accept: application/json"   --header "IBM-API-Version: 2025-02-01"   --header "Content-Type: text/plain"   "${base_url}/certificates/${cert_type}"

Response

The response for posting a new SSL certificate, including any errors and if the provided key and certificate are valid.

The response for posting a new SSL certificate, including any errors and if the provided key and certificate are valid.

Examples:
{
  "errors": [],
  "valid_certificate": true,
  "value_key": true
}

Status Code

  • The provided SSL certificate and key were uploaded successfully. The response provides the validity of the certificate and the key

  • The provided SSL certificate and key were NOT uploaded successfully. The response includes a list of relevant errors and whether the provided certificate or key were valid. Valid certificate names are: s3

  • The user is not authorized to make this request. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • The user is trying to create a certificate which already exists. Use PUT to update the certificate.

  • An internal server error has occurred. Additional information about the error and relevant documentation will be provided in the response as necessary.

Example responses
  • {
      "errors": [],
      "valid_certificate": true,
      "value_key": true
    }
  • {
      "errors": [],
      "valid_certificate": true,
      "value_key": true
    }
  • {
      "errors": [],
      "valid_certificate": true,
      "value_key": true
    }
  • {
      "errors": [],
      "valid_certificate": true,
      "value_key": true
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }

Delete SSL certificate

Delete the provided PEM formatted TLS certificate.

Delete the provided PEM formatted TLS certificate.

DELETE /certificates/{cert_type}
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) DeleteSslCert(deleteSslCertOptions *DeleteSslCertOptions) (response *core.DetailedResponse, err error)
(ibmCephaaSObjectStorageApi *IbmCephaaSObjectStorageApiV1) DeleteSslCertWithContext(ctx context.Context, deleteSslCertOptions *DeleteSslCertOptions) (response *core.DetailedResponse, err error)

Request

Instantiate the DeleteSslCertOptions struct and set the fields to provide parameter values for the DeleteSslCert method.

Custom Headers

  • The date version provided to the API, which should be in YYYY-MM-DD format and be between 2025-02-01 and the current date.

    Possible values: 0 ≤ length ≤ 10, Value must match regular expression ^(\d{4})\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$

    Example: 2025-02-01

  • The correlation ID, which should be a v4 UUID that is used to link this API call to an existing set of actions. If not provided, a new one will be generated.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

  • A request ID in v4 UUID format that is unique for this specific request. If not provided, a new one will be generated for this request.

    Possible values: 0 ≤ length ≤ 256, Value must match regular expression ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

    Example: abcd1234-abCD-1234-aB12-ABCdef123456

Path Parameters

  • The certificate type that is to be used in the DELETE request. Acceptable values include: s3.

    Possible values: 1 ≤ length ≤ 256, Value must match regular expression ^[a-zA-Z0-9_-]{1,256}$

WithContext method only

The DeleteSslCert options.

  • curl -X DELETE --location --header "Authorization: Bearer ${iam_token}"   --header "IBM-API-Version: 2025-02-01"   "${base_url}/certificates/${cert_type}"

Response

Status Code

  • The provided SSL certificate delete request was accepted.

  • The provided SSL certificate was not deleted.

  • The user is not authorized to make this request. Additional information about the error and relevant documentation will be provided in the response as necessary.

  • An internal server error has occurred. Additional information about the error and relevant documentation will be provided in the response as necessary.

Example responses
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
  • {
      "error_message": "This user is unauthorized",
      "errors": [
        {
          "code": "user_unauthorized",
          "message": "Unauthorized",
          "more_info": "https://cloud.ibm.com/apidocs/object-storage#error-handling"
        }
      ],
      "trace": "xxx-xx-xxx"
    }
id=curlclassName=tab-item-selected