---
title: "Mark a connection's certificate for renewal"
method: POST
path: "/connections/{id}/ssl:renew"
tags: ["Secure"]
---

# Mark a connection's certificate for renewal

`POST /connections/{id}/ssl:renew`

## Request

- Base URL: `https://api.customdomain.ai/v1`
- URL: `https://api.customdomain.ai/v1/connections/{id}/ssl:renew`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Records the operator-requested renew and surfaces `renewing`. The edge's autocert manager performs the actual renewal ahead of expiry.

## Path parameters

- `id` string, required

## Response `202`

Renewal requested

- object
  - `certificate` Certificate
    - `id` string
    - `domain` string, required
    - `application_id` string
    - `status` 'pending' | 'issued' | 'renewing' | 'failed' | 'revoked', required
    - `issuer` string
    - `not_before` string, date-time
    - `not_after` string, date-time
    - `last_error` string: most recent issuance/renewal failure; empty when healthy.
    - `managed` boolean, required: true = edge auto-manages (ACME); false = operator-imported.
    - `renew_after` string, date-time
    - `updated_at` string, date-time

## Other responses

- `401`: Error envelope: {code, title, details}.
- `404`: Error envelope: {code, title, details}.
- `503`: Error envelope: {code, title, details}.

---

[API](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api.md) · [All operations](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api/revisions/34d89cb7a7cd?raw)
