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

API KeyX-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

  • 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
POSTActivate an identity
POSTDeactivate an identity
POSTSet an identity's password (admin)
POSTForce a password reset for an identity (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 holds each permission
Was this page helpful?

Tell us how we can improve this guide.