UpCloud

Certificate Bundles

Certificate bundles contain TLS certificates and keys used for HTTPS termination on load balancer frontends. You can create manual bundles with your own certificates or dynamic bundles with automatic Let's Encrypt certificates.


GET/1.3/load-balancer/certificate-bundles

List certificate bundles

Returns a list of all certificate bundles in the account.

Query parameters

  • Name
    limit
    Type
    integer
    Description

    Maximum number of results. Default: 10.

  • Name
    offset
    Type
    integer
    Description

    Offset for pagination.

Request

GET
/1.3/load-balancer/certificate-bundles
curl -X GET https://api.upcloud.com/1.3/load-balancer/certificate-bundles \
  -u your_username:your_password

GET/1.3/load-balancer/certificate-bundles/{uuid}

Get bundle details

Returns details of a specific certificate bundle.

Request

GET
/1.3/load-balancer/certificate-bundles/{uuid}
curl -X GET https://api.upcloud.com/1.3/load-balancer/certificate-bundles/abc123-def456-789012 \
  -u your_username:your_password

POST/1.3/load-balancer/certificate-bundles

Create manual bundle

Creates a manual certificate bundle with your own certificate and private key.

Attributes

  • Name
    name
    Type
    string
    Description

    Bundle name (1-255 chars).

  • Name
    type
    Type
    string
    Description

    Set to "manual" for manual bundles.

  • Name
    certificate
    Type
    string
    Description

    PEM-encoded certificate.

  • Name
    private_key
    Type
    string
    Description

    PEM-encoded private key.

  • Name
    intermediates
    Type
    string
    Description

    PEM-encoded intermediate certificates.

Request

POST
/1.3/load-balancer/certificate-bundles
curl -X POST https://api.upcloud.com/1.3/load-balancer/certificate-bundles \
  -u your_username:your_password \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-cert",
    "type": "manual",
    "certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
    "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----",
    "intermediates": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
  }'

POST/1.3/load-balancer/certificate-bundles

Create dynamic bundle

Creates a dynamic certificate bundle that automatically obtains and renews certificates from Let's Encrypt.

Attributes

  • Name
    name
    Type
    string
    Description

    Bundle name (1-255 chars).

  • Name
    type
    Type
    string
    Description

    Set to "dynamic" for automatic certificates.

  • Name
    hostnames
    Type
    array
    Description

    List of hostnames to include in the certificate.

  • Name
    key_type
    Type
    string
    Description

    Key type: "rsa" or "ecdsa". Default: "rsa".

Request

POST
/1.3/load-balancer/certificate-bundles
curl -X POST https://api.upcloud.com/1.3/load-balancer/certificate-bundles \
  -u your_username:your_password \
  -H "Content-Type: application/json" \
  -d '{
    "name": "auto-cert",
    "type": "dynamic",
    "hostnames": ["example.com", "www.example.com"],
    "key_type": "ecdsa"
  }'

PATCH/1.3/load-balancer/certificate-bundles/{uuid}

Modify bundle

Modifies an existing certificate bundle.

Request

PATCH
/1.3/load-balancer/certificate-bundles/{uuid}
curl -X PATCH https://api.upcloud.com/1.3/load-balancer/certificate-bundles/abc123-def456-789012 \
  -u your_username:your_password \
  -H "Content-Type: application/json" \
  -d '{
    "name": "updated-cert-name"
  }'

DELETE/1.3/load-balancer/certificate-bundles/{uuid}

Delete bundle

Deletes a certificate bundle. The bundle must not be in use by any frontend TLS configs.

Request

DELETE
/1.3/load-balancer/certificate-bundles/{uuid}
curl -X DELETE https://api.upcloud.com/1.3/load-balancer/certificate-bundles/abc123-def456-789012 \
  -u your_username:your_password