Logo
OpenScaler
API DocumentationLoad Balancer Certificates

Create / Upload a Certificate

POST
/v1/lbs/{lb_id}/certificates

Attach an SSL/TLS certificate to the given load balancer. Three certificate types are supported:

TypeDescription
self_signedAuto-generate a self-signed certificate.
let_encryptAuto-generate a Let's Encrypt certificate (requires cn_name and let_encrypt_email).
uploadUpload an existing PEM certificate via cert_content.

Authorization

bearer_auth
AuthorizationBearer <token>

OAuth Authentication

OpenScaler API uses OAuth, a standard for secure authorization. To access the API, obtain a token via the OpenScaler Platform.

Use the access_token in the Authorization header for requests:

Authorization: Bearer <token>

Always keep your token secure and do not share it with anyone.

In: header

Path Parameters

lb_id*string

A unique identifier for a load balancer instance.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request body for creating/uploading a certificate. The required fields depend on cert_type:

  • self_signed: only name and cert_type are required.
  • let_encrypt: cn_name and let_encrypt_email are also required.
  • upload: cert_content (PEM) is also required.

Response Body

application/json

application/json

text/pain

application/json

application/json

curl -X POST "https://example.com/v1/lbs/550e8400-e29b-41d4-a716-446655440000/certificates" \  -H "Content-Type: application/json" \  -d '{    "name": "my-cert",    "cert_type": "upload"  }'
{  "name": "my-cert",  "cert_type": "upload",  "common_name": "example.com",  "subject": "CN=example.com",  "domains": "example.com, www.example.com",  "issuers": "Let's Encrypt Authority X3",  "not_before": "2024-01-01T00:00:00Z",  "not_after": "2025-01-01T00:00:00Z",  "serial": "03:AB:CD:EF",  "size": 2048}
{  "errors": [    {      "message": "'vcpus' field must be an integer",      "field": "resource_id"    }  ]}
"Access denied"
{  "errors": [    {      "message": "User not initialized (missing required fields in token), please init user by sending POST request to `/v1/init` then refresh your token\n"    }  ]}
{  "errors": [    {      "message": "VM with ID 23 not found"    }  ]}