List Credentials
Path Parameters
Response
Errors
Add Credential
Path Parameters
Request Body
For
kind: "ip":
value must be a valid IPv4/IPv6 address or CIDR range. The stored data object also carries a notes string (empty unless set via the client’s ip_address dual-write path), so credential responses for kind: "ip" return data as { "value": ..., "notes": ... }.
For kind: "mtls_thumbprint" — issue a new certificate:
reveal field. The private key is never stored.
Because the response carries a private key, issuing is a reveal. On this API it needs a machine
credential granted
client:create: a token issued to a person (knoxcall login, a device or
authorization-code grant) is refused with 403, whatever the person’s role. In the dashboard
(a client’s Credentials section, “Issue a new cert”) only an Owner or an Admin can
issue, and each issue asks for a fresh second factor (an authenticator code, a passkey or a
security key) and writes a plaintext.reveal audit entry before the key is generated, the same
as issuing from a certificate authority. Registering an existing
certificate’s thumbprint (below) hands nothing back and needs neither.kind: "mtls_thumbprint" — register an existing certificate:
sha256_thumbprint must be a SHA-256 hex digest. Non-hex characters are stripped before validation, and the remaining string must be exactly 64 hex characters or the request fails with 400 validation_error (data.sha256_thumbprint must be a SHA-256 hex digest (64 hex chars).).
Response
mtls_thumbprint with mode: "issue", the response also includes a one-time reveal field: