Initiate delegated identity verification from an external integration
External-integration twin of PostHelpdeskVerifyDelegateInitiate. The operator verifies a subject who has no device by exchanging codes with an approved delegate. Rides the same handshake infrastructure, so status, code submission and cancellation reuse the external helpdesk-verify {session_id} endpoints.
A 404 means the delegate has no active sensor — the same meaning the non-delegated external initiate carries, so the integration can offer a fallback rather than treating it as a dead end.
Header Parameters
- SlashID-OrgID string required
The organization ID
Example: af5fbd30-7ce7-4548-8b30-4cd59cb2aba1
- application/json
Request Body required
- subject_email email required
The user being verified, who has no device available.
- delegate_email email required
The delegate who exchanges codes on the subject's behalf. Validated server-side against
delegation_mode, and required to have an active sensor on the connection — a delegate without one yields 404, exactly as the non-delegated external initiate does. - delegation_mode string required
Possible values: [
global_approved,line_manager,unconstrained]How a delegate is selected for delegated verification.
global_approved— pick from the org's approved delegate list.line_manager— the subject's line manager, resolved via the HRIS graph.unconstrained— any user eligible for the chosen verification method. - connection_id string required
The external identity connection ID
operator object required
email email requiredThe human operating the integration (e.g. the ServiceNow agent). MUST be derived server-side by the integration (ServiceNow:
gs.getUser().getEmail()), never supplied by its own client. Resolved to a SlashID console person holding a verifier role; 403 if it does not resolve or lacks the role.assertion string requiredPossible values: [
integration_asserted,idp_verified]How the operator identity was established.
integration_asserted— the calling integration vouches for it under its own API credential;idp_verified— proven to SlashID directly. Recorded on every attempt so that a later move to per-agent authentication does not change what historical audit rows meant. Onlyintegration_assertedis accepted today.external_metadata object
source string requiredPossible values: [
servicenow]instance stringServiceNow instance name.
table stringrecord_id stringsys_id of the Call or Incident. Frequently absent — verification commonly starts at call intake, on a record that has not been saved yet and therefore has no sys_id.
display_id stringHuman-facing record number, e.g. INC0012345.
- 200
- 400
- 401
- 403
- 404
- 429
Delegated verification initiated successfully
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
Cursors are opaque. Follow the tokens the server returns; never construct, parse or modify one.
limit integernext_cursor stringOpaque token addressing the next page. Absent on the last page.
prev_cursor stringOpaque token addressing the previous page. Absent on the first page.
last_cursor stringOpaque token addressing the final page directly, so a client can jump to the end without a total count.
total_count int64Total number of matching items. Returned on the FIRST page only; clients cache it for the remainder of the walk.
errors object[]
httpcode integermessage stringresult object
session_id stringUnique delegated verification session identifier
verification_code stringPossible values: Value must match regular expression
^\d{6}$The 6-digit code the operator reads to the delegate over voice
subject_email stringThe user being verified on whose behalf the delegation runs
delegate_email stringThe delegate exchanging codes with the operator
delegation_mode stringPossible values: [
global_approved,line_manager,unconstrained]How a delegate is selected for delegated verification.
global_approved— pick from the org's approved delegate list.line_manager— the subject's line manager, resolved via the HRIS graph.unconstrained— any user eligible for the chosen verification method.expires_at date-timeWhen this verification session expires
turn_order stringPossible values: [
sensor_first,admin_first]Which party proves their identity first, resolved from the connection's settings.
sensor_first— the delegate reads their code first;admin_first— the operator readsverification_codealoud first.
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"next_cursor": "string",
"prev_cursor": "string",
"last_cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
],
"result": {
"session_id": "string",
"verification_code": "string",
"subject_email": "string",
"delegate_email": "string",
"delegation_mode": "global_approved",
"expires_at": "2005-12-24T18:29:30.033157Z",
"turn_order": "sensor_first"
}
}
Bad Request
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
Cursors are opaque. Follow the tokens the server returns; never construct, parse or modify one.
limit integernext_cursor stringOpaque token addressing the next page. Absent on the last page.
prev_cursor stringOpaque token addressing the previous page. Absent on the first page.
last_cursor stringOpaque token addressing the final page directly, so a client can jump to the end without a total count.
total_count int64Total number of matching items. Returned on the FIRST page only; clients cache it for the remainder of the walk.
errors object[]
httpcode integermessage string
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"next_cursor": "string",
"prev_cursor": "string",
"last_cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
]
}
Unauthorized
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
Cursors are opaque. Follow the tokens the server returns; never construct, parse or modify one.
limit integernext_cursor stringOpaque token addressing the next page. Absent on the last page.
prev_cursor stringOpaque token addressing the previous page. Absent on the first page.
last_cursor stringOpaque token addressing the final page directly, so a client can jump to the end without a total count.
total_count int64Total number of matching items. Returned on the FIRST page only; clients cache it for the remainder of the walk.
errors object[]
httpcode integermessage string
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"next_cursor": "string",
"prev_cursor": "string",
"last_cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
]
}
Forbidden
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
Cursors are opaque. Follow the tokens the server returns; never construct, parse or modify one.
limit integernext_cursor stringOpaque token addressing the next page. Absent on the last page.
prev_cursor stringOpaque token addressing the previous page. Absent on the first page.
last_cursor stringOpaque token addressing the final page directly, so a client can jump to the end without a total count.
total_count int64Total number of matching items. Returned on the FIRST page only; clients cache it for the remainder of the walk.
errors object[]
httpcode integermessage string
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"next_cursor": "string",
"prev_cursor": "string",
"last_cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
]
}
Not Found
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
Cursors are opaque. Follow the tokens the server returns; never construct, parse or modify one.
limit integernext_cursor stringOpaque token addressing the next page. Absent on the last page.
prev_cursor stringOpaque token addressing the previous page. Absent on the first page.
last_cursor stringOpaque token addressing the final page directly, so a client can jump to the end without a total count.
total_count int64Total number of matching items. Returned on the FIRST page only; clients cache it for the remainder of the walk.
errors object[]
httpcode integermessage string
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"next_cursor": "string",
"prev_cursor": "string",
"last_cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
]
}
Too Many Requests
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
Cursors are opaque. Follow the tokens the server returns; never construct, parse or modify one.
limit integernext_cursor stringOpaque token addressing the next page. Absent on the last page.
prev_cursor stringOpaque token addressing the previous page. Absent on the first page.
last_cursor stringOpaque token addressing the final page directly, so a client can jump to the end without a total count.
total_count int64Total number of matching items. Returned on the FIRST page only; clients cache it for the remainder of the walk.
errors object[]
httpcode integermessage string
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"next_cursor": "string",
"prev_cursor": "string",
"last_cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
]
}