Skip to content
Pre-release. HostCraft is in testing and not yet for sale. These docs describe the current build and may change. Join the waitlist to hear when it launches.

SSL API

Source: daemon/proto/hostcraft/v1/ssl.proto

SSLService issues, uploads, renews and installs TLS certificates. REST: /api/v1/ssl.

Method REST route Permission Streaming
ListCertificates GET /api/v1/ssl/certificates SSLCertRead unary
IssueCertificate POST /api/v1/ssl/certificates/issue SSLCertIssue unary
UploadCertificate POST /api/v1/ssl/certificates/upload SSLCertUpload unary
GetCertificate GET /api/v1/ssl/certificates/{id} SSLCertRead unary
DeleteCertificate DELETE /api/v1/ssl/certificates/{id} SSLCertDelete unary
RenewCertificate POST /api/v1/ssl/certificates/{id}/renew SSLCertRenew unary
InstallCertificate POST /api/v1/ssl/certificates/{id}/install SSLCertInstall unary
GetRenewalSchedule GET /api/v1/ssl/renewals/schedule SSLCertRenewalRead unary
ListDNSProviders GET /api/v1/ssl/dns-providers SSLProvidersRead unary
SetDNSProviderCredentials POST /api/v1/ssl/dns-providers/{provider}/credentials SSLProviderCredsWrite unary
DeleteDNSProviderCredentials DELETE /api/v1/ssl/dns-providers/{provider}/credentials SSLProviderCredsDelete unary

/hostcraft.v1.SSLService/ListCertificates

/hostcraft.v1.SSLService/IssueCertificate

/hostcraft.v1.SSLService/UploadCertificate

/hostcraft.v1.SSLService/GetCertificate

/hostcraft.v1.SSLService/DeleteCertificate

/hostcraft.v1.SSLService/RenewCertificate

/hostcraft.v1.SSLService/InstallCertificate

/hostcraft.v1.SSLService/GetRenewalSchedule

/hostcraft.v1.SSLService/ListDNSProviders

/hostcraft.v1.SSLService/SetDNSProviderCredentials

/hostcraft.v1.SSLService/DeleteDNSProviderCredentials

Field Type Number Description
id string 1 -
account_id string 2 -
domain_id string 3 -
common_name string 4 -
sans repeated string 5 -
kind string 6 letsencrypt | zerossl | uploaded | self_signed | buypass | google
ca string 7 -
status string 8 pending | issued | failed | revoked | expired
issuer string 9 -
not_before google.protobuf.Timestamp 10 -
not_after google.protobuf.Timestamp 11 -
key_path string 12 -
cert_path string 13 -
chain_path string 14 -
fingerprint string 15 -
auto_renew bool 16 -
renewal_window_days int64 17 -
last_renewed_at google.protobuf.Timestamp 18 -
created_at google.protobuf.Timestamp 19 -

CertificateWorkflowResponse: workflow_id is empty for uploads, which complete synchronously.

Field Type Number Description
certificate Certificate 1 -
workflow_id string 2 -
Field Type Number Description
id string 1 -
name string 2 -
credential_keys repeated string 3 -
Field Type Number Description
id string 1 -
revoke bool 2 -
Field Type Number Description
provider string 1 -
account_id string 2 -

Empty is returned by RPCs whose REST route answers with an empty object or 204 No Content.

No fields.

Field Type Number Description
id string 1 -
Field Type Number Description
account_id string 1 -
Field Type Number Description
entries repeated RenewalEntry 1 -
Field Type Number Description
id string 1 -
site_id string 2 -
Field Type Number Description
account_id string 1 -
kind string 2 -
domain_id string 3 -
fqdns repeated string 4 -
challenge_type string 5 http01 | dns01
dns_provider string 6 -
auto_renew bool 7 -
renewal_window_days int64 8 -
site_id string 9 install onto this site once issued
Field Type Number Description
account_id string 1 -
domain_id string 2 -
kind string 3 -
Field Type Number Description
certificates repeated Certificate 1 -

No fields.

Field Type Number Description
providers repeated DNSProvider 1 -
Field Type Number Description
id string 1 -
force bool 2 -
Field Type Number Description
certificate_id string 1 -
common_name string 2 -
due_at google.protobuf.Timestamp 3 -
not_after google.protobuf.Timestamp 4 -
Field Type Number Description
provider string 1 -
account_id string 2 -
credentials map<string, string> 3 -
Field Type Number Description
account_id string 1 -
domain_id string 2 -
key_pem bytes 3 -
cert_pem bytes 4 -
chain_pem bytes 5 -
site_id string 6 -

WorkflowAccepted is the body of every 202 response that only starts a workflow saga. Follow progress with WorkflowService.StreamWorkflow.

Field Type Number Description
workflow_id string 1 -