Mark an identity's email verified (admin)
/api/v1/identities/{id}/verify-emailMarks an identity's email verified directly (server-to-server admin), setting email_verified and email_verified_at without a confirmation-link round-trip — intended for users already proven in a legacy system. Idempotent: re-verifying an already-verified identity is a no-op that is not re-audited; first-time verification writes an identity.email.admin_verified row because it bypasses proof of ownership. Returns 204 No Content; returns 404 when the identity has no membership in this Environment.
Authentication
Authorization Option A JWT access token
X-API-Key Option B API key for management-tier access
Path Parameters
idstring Required Responses
Marks the identity's email as verified without the user clicking a link — the migration path for users already verified in a legacy system. Idempotent. Loudly audited; to instead send a verification email, use the Direct-API resend-verification endpoint.
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
application/json
error *ApiErrorBodyDto
curl -X POST "https://auth.canopy-io.com/api/v1/identities/value/verify-email" \ -H "X-API-Key: $CANOPY_API_KEY"
HTTP/1.1 204 Marks the identity's email as verified without the user clicking a link — the migration path for users already verified in a legacy system. Idempotent. Loudly audited; to instead send a verification email, use the Direct-API resend-verification endpoint. (empty body)
Tell us how we can improve this guide.