1. Docs
  2. API Reference
  3. Mark an identity's email verified (admin)

Mark an identity's email verified (admin)

POST/api/v1/identities/{id}/verify-email

Marks 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

Bearer TokenAuthorization Option A

JWT access token. Never send alongside X-API-Key: a request carrying both is refused.

API KeyX-API-Key Option B

API key for management-tier access. Never send alongside an Authorization header: a request carrying both is refused.

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

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*
Request
curl -X POST "https://auth.canopy-io.com/api/v1/identities/value/verify-email" \
  -H "X-API-Key: $CANOPY_API_KEY"
Response
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)
Related endpoints
GETList identities in Application
POSTCreate an identity
GETList identities with their role assignments
GETGet Application identities summary
POSTBulk-create identities
GETGet an identity
PATCHUpdate an identity
DELETERemove an identity
GETGet identity detail with role assignments
POSTSet an identity's password (admin)
POSTForce a password reset for an identity (admin)
GETList an identity's active sessions (admin)
DELETERevoke one of an identity's sessions (admin)
POSTRevoke all of an identity's sessions (admin)
GETGet MFA enrollment summary for an identity
POSTForce-reset an identity's MFA — admin recovery action
GETRead an identity's auth state for backend decisioning
GETGet identity's role assignments
GETGet identity's effective permissions
GETGet where an identity may act with one permission
GETGet where an identity holds each permission
Was this page helpful?

Tell us how we can improve this guide.