Scaleway Certificate API

The Load Balancer certificate object. It represents an SSL/TLS certificate for your Load Balancer which can be used by a frontend to establish secure, encrypted connections for incoming traffic. Use this endpoint to create Let's Encrypt certificates or import custom certificates for your Load Balancer, and update, list, get and delete them as required.

Operations 5

GET /lb/v1/zones/{zone}/certificates/{certificate_id} Get an SSL/TLS certificate #
PUT /lb/v1/zones/{zone}/certificates/{certificate_id} Update an SSL/TLS certificate #
DELETE /lb/v1/zones/{zone}/certificates/{certificate_id} Delete an SSL/TLS certificate #
GET /lb/v1/zones/{zone}/lbs/{lb_id}/certificates List all SSL/TLS certificates on a given Load Balancer #
POST /lb/v1/zones/{zone}/lbs/{lb_id}/certificates Create an SSL/TLS certificate #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scaleway-certificate-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

scaleway-certificate-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Load Balancer Certificate API
  description: Load Balancers are highly available and fully managed Instances that facilitate the distribution of incoming traffic across multiple servers.
  version: v1
servers:
- url: https://api.scaleway.com
tags:
- name: Certificate
  description: The Load Balancer certificate object. It represents an SSL/TLS certificate for your Load Balancer which can be used by a frontend to establish secure, encrypted connections for incoming traffic. Use this endpoint to create Let's Encrypt certificates or import custom certificates for your Load Balancer, and update, list, get and delete them as required.
paths:
  /lb/v1/zones/{zone}/certificates/{certificate_id}:
    get:
      tags:
      - Certificate
      operationId: GetCertificate
      summary: Get an SSL/TLS certificate
      description: Get information for a particular SSL/TLS certificate, specified by its certificate ID. The response returns full details of the certificate, including its type, main domain name, and alternative domain names.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: path
        name: certificate_id
        description: Certificate ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.lb.v1.Certificate'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    put:
      tags:
      - Certificate
      operationId: UpdateCertificate
      summary: Update an SSL/TLS certificate
      description: Update the name of a particular SSL/TLS certificate, specified by its certificate ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: path
        name: certificate_id
        description: Certificate ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.lb.v1.Certificate'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Certificate name.
              required:
              - name
              x-properties-order:
              - name
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X PUT \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"string\"}' \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}\""
      - lang: HTTPie
        source: "http PUT \"https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  name=\"string\""
    delete:
      tags:
      - Certificate
      operationId: DeleteCertificate
      summary: Delete an SSL/TLS certificate
      description: Delete an SSL/TLS certificate, specified by its certificate ID. Deleting a certificate is irreversible and cannot be undone.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: path
        name: certificate_id
        description: Certificate ID.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X DELETE \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}\""
      - lang: HTTPie
        source: "http DELETE \"https://api.scaleway.com/lb/v1/zones/{zone}/certificates/{certificate_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
  /lb/v1/zones/{zone}/lbs/{lb_id}/certificates:
    get:
      tags:
      - Certificate
      operationId: ListCertificates
      summary: List all SSL/TLS certificates on a given Load Balancer
      description: List all the SSL/TLS certificates on a given Load Balancer. The response is an array of certificate objects, which are by default listed in ascending order of creation date.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: path
        name: lb_id
        description: Load Balancer ID.
        required: true
        schema:
          type: string
      - in: query
        name: order_by
        description: Sort order of certificates in the response.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          default: created_at_asc
      - in: query
        name: page
        description: The page number to return, from the paginated results.
        schema:
          type: integer
          format: int32
      - in: query
        name: page_size
        description: Number of certificates to return.
        schema:
          type: integer
          format: uint32
      - in: query
        name: name
        description: Certificate name to filter for, only certificates of this name will be returned.
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.lb.v1.ListCertificatesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/certificates\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/certificates\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    post:
      tags:
      - Certificate
      operationId: CreateCertificate
      summary: Create an SSL/TLS certificate
      description: Generate a new SSL/TLS certificate for a given Load Balancer. You can choose to create a Let's Encrypt certificate, or import a custom certificate.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: path
        name: lb_id
        description: Load Balancer ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.lb.v1.Certificate'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name for the certificate.
                letsencrypt:
                  type: object
                  description: Object to define a new Let's Encrypt certificate to be generated.
                  properties:
                    common_name:
                      type: string
                      description: Main domain name of certificate (this domain must exist and resolve to your Load Balancer IP address).
                    subject_alternative_name:
                      type: array
                      description: Alternative domain names (all domain names must exist and resolve to your Load Balancer IP address).
                      items:
                        type: string
                  nullable: true
                  required:
                  - common_name
                  x-properties-order:
                  - common_name
                  - subject_alternative_name
                  x-one-of: type
                custom_certificate:
                  type: object
                  description: Object to define an existing custom certificate to be imported.
                  properties:
                    certificate_chain:
                      type: string
                      description: Full PEM-formatted certificate, consisting of the entire certificate chain including public key, private key, and (optionally) Certificate Authorities.
                  nullable: true
                  required:
                  - certificate_chain
                  x-properties-order:
                  - certificate_chain
                  x-one-of: type
              required:
              - name
              x-properties-order:
              - name
              - letsencrypt
              - custom_certificate
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"name\":\"string\"}' \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/certificates\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/lb/v1/zones/{zone}/lbs/{lb_id}/certificates\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  name=\"string\""
components:
  schemas:
    scaleway.lb.v1.Instance:
      type: object
      properties:
        id:
          type: string
          description: Underlying Instance ID.
        status:
          type: string
          description: Instance status.
          enum:
          - unknown
          - ready
          - pending
          - stopped
          - error
          - locked
          - migrating
          default: unknown
        ip_address:
          type: string
          description: Instance IP address.
        created_at:
          type: string
          description: Date on which the Instance was created. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        updated_at:
          type: string
          description: Date on which the Instance was last updated. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        region:
          type: string
          description: The region the Instance is in.
          deprecated: true
        zone:
          type: string
          description: The zone the Instance is in.
      x-properties-order:
      - id
      - status
      - ip_address
      - created_at
      - updated_at
      - region
      - zone
    scaleway.lb.v1.Ip:
      type: object
      properties:
        id:
          type: string
          description: IP address ID.
        ip_address:
          type: string
          description: IP address.
        organization_id:
          type: string
          description: Organization ID of the Scaleway Organization the IP address is in.
        project_id:
          type: string
          description: Project ID of the Scaleway Project the IP address is in.
        lb_id:
          type: string
          description: Load Balancer ID.
          nullable: true
        reverse:
          type: string
          description: Reverse DNS (domain name) of the IP address.
        tags:
          type: array
          description: IP tags.
          items:
            type: string
        region:
          type: string
          description: The region the IP address is in.
          deprecated: true
        zone:
          type: string
          description: The zone the IP address is in.
      x-properties-order:
      - id
      - ip_address
      - organization_id
      - project_id
      - lb_id
      - reverse
      - tags
      - region
      - zone
    scaleway.lb.v1.ListCertificatesResponse:
      type: object
      properties:
        certificates:
          type: array
          description: List of certificate objects.
          items:
            $ref: '#/components/schemas/scaleway.lb.v1.Certificate'
        total_count:
          type: integer
          description: The total number of objects.
          format: uint32
      x-properties-order:
      - certificates
      - total_count
    scaleway.lb.v1.Certificate:
      type: object
      properties:
        type:
          type: string
          description: Certificate type (Let's Encrypt or custom).
          enum:
          - letsencryt
          - custom
          - letsencrypt
          default: letsencryt
        id:
          type: string
          description: Certificate ID.
        common_name:
          type: string
          description: Main domain name of certificate.
        subject_alternative_name:
          type: array
          description: Alternative domain names.
          items:
            type: string
        fingerprint:
          type: string
          description: Identifier (SHA-1) of the certificate.
        not_valid_before:
          type: string
          description: Lower validity bound. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        not_valid_after:
          type: string
          description: Upper validity bound. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        status:
          type: string
          description: Certificate status.
          enum:
          - pending
          - ready
          - error
          default: pending
        lb:
          type: object
          description: Load Balancer object the certificate is attached to.
          properties:
            id:
              type: string
              description: Underlying Instance ID.
            name:
              type: string
              description: Load Balancer name.
            description:
              type: string
              description: Load Balancer description.
            status:
              type: string
              description: Load Balancer status.
              enum:
              - unknown
              - ready
              - pending
              - stopped
              - error
              - locked
              - migrating
              - to_create
              - creating
              - to_delete
              - deleting
              default: unknown
            instances:
              type: array
              description: List of underlying Instances.
              items:
                $ref: '#/components/schemas/scaleway.lb.v1.Instance'
            organization_id:
              type: string
              description: Scaleway Organization ID.
            project_id:
              type: string
              description: Scaleway Project ID.
            ip:
              type: array
              description: List of IP addresses attached to the Load Balancer.
              items:
                $ref: '#/components/schemas/scaleway.lb.v1.Ip'
            tags:
              type: array
              description: Load Balancer tags.
              items:
                type: string
            frontend_count:
              type: integer
              description: Number of frontends the Load Balancer has.
              format: int32
            backend_count:
              type: integer
              description: Number of backends the Load Balancer has.
              format: int32
            type:
              type: string
              description: Load Balancer offer type.
            subscriber:
              type: object
              description: Subscriber information.
              properties:
                id:
                  type: string
                  description: Subscriber ID.
                name:
                  type: string
                  description: Subscriber name.
                email_config:
                  type: object
                  description: Email address of subscriber.
                  properties:
                    email:
                      type: string
                      description: Email address to send alerts to.
                  nullable: true
                  x-properties-order:
                  - email
                  x-one-of: config
                webhook_config:
                  type: object
                  description: Webhook URI of subscriber.
                  properties:
                    uri:
                      type: string
                      description: URI to receive POST requests.
                  nullable: true
                  x-properties-order:
                  - uri
                  x-one-of: config
              x-properties-order:
              - id
              - name
              - email_config
              - webhook_config
            ssl_compatibility_level:
              type: string
              description: Determines the minimal SSL version which needs to be supported on client side.
              enum:
              - ssl_compatibility_level_unknown
              - ssl_compatibility_level_intermediate
              - ssl_compatibility_level_modern
              - ssl_compatibility_level_old
              default: ssl_compatibility_level_unknown
            created_at:
              type: string
              description: Date on which the Load Balancer was created. (RFC 3339 format)
              format: date-time
              example: '2022-03-22T12:34:56.123456Z'
              nullable: true
            updated_at:
              type: string
              description: Date on which the Load Balancer was last updated. (RFC 3339 format)
              format: date-time
              example: '2022-03-22T12:34:56.123456Z'
              nullable: true
            private_network_count:
              type: integer
              description: Number of Private Networks attached to the Load Balancer.
              format: int32
            route_count:
              type: integer
              description: Number of routes configured on the Load Balancer.
              format: int32
            region:
              type: string
              description: The region the Load Balancer is in.
              deprecated: true
            zone:
              type: string
              description: The zone the Load Balancer is in.
          x-properties-order:
          - id
          - name
          - description
          - status
          - instances
          - organization_id
          - project_id
          - ip
          - tags
          - frontend_count
          - backend_count
          - type
          - subscriber
          - ssl_compatibility_level
          - created_at
          - updated_at
          - private_network_count
          - route_count
          - region
          - zone
        name:
          type: string
          description: Certificate name.
        created_at:
          type: string
          description: Date on which the certificate was created. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        updated_at:
          type: string
          description: Date on which the certificate was last updated. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        status_details:
          type: string
          description: Additional information about the certificate status (useful in case of certificate generation failure, for example).
          nullable: true
      x-properties-order:
      - type
      - id
      - common_name
      - subject_alternative_name
      - fingerprint
      - not_valid_before
      - not_valid_after
      - status
      - lb
      - name
      - created_at
      - updated_at
      - status_details
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey