get-signup-request
dci get-signup-request <signupRequestId>
Returns the current state of a signup request. Poll at the returned pollAfterSeconds cadence; once status is completed the response carries customerId, consoleUrl and signInUrl. The response never includes the requester's email or the verification code. A browser must send the Signup-Result-Token returned by verifySignupRequest to read results after email verification. Without it, the request remains pending until its consent window expires. Agents may read results after the matching authenticated human explicitly approves their request.
signupRequestId— Public signup request id (sr_ prefix).
status moves from pending_consent through consented and provisioning to completed, or ends
as rejected, expired or failed. While the request is not finished, poll at the returned
pollAfterSeconds cadence. A completed request carries customerId, consoleUrl and signInUrl.
The response never includes the admin's email or the verification code. No authentication is needed;
an unknown ID returns 404.
Examples
# Check where a signup request stands.
dci get-signup-request <signup-request-id>
# Just the status, to poll from a script.
dci get-signup-request <signup-request-id> --fields status,pollAfterSeconds --output json
# Read the new customer ID and sign-in link once the request is completed.
dci get-signup-request <signup-request-id> --fields status,customerId,consoleUrl,signInUrl
Output
OK
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
id | string | Public request id (sr_ prefix); an unguessable capability. |
status | string | One of: "pending_consent", "consented", "provisioning", "completed", "rejected", "expired", "failed". |
channel | string | One of: "agent", "console", "web". |
companyName | string | Company name supplied at signup; shown on the console verification and completion pages. |
consentUrl | string (uri) | Page where the organization's admin verifies the request (pending_consent only). |
activationToken | string | Returned once, by the verifySignupRequest call that performed the verification. Redeem it with createSignupSession after the request is completed. |
resultToken | string | Returned only by successful verifySignupRequest. Send as Signup-Result-Token when polling this request to read its result. Valid for one hour; never returned by create, replay, resend or GET. |
verification | object | Present while the request awaits the emailed code. |
verification.required | boolean | |
verification.expiresAt | string (date-time) | |
verification.resendAfterSeconds | integer | |
verification.sendsRemaining | integer | |
expiresAt | string (date-time) | When an unverified request expires (pending_consent only). |
pollAfterSeconds | integer | Suggested polling interval while the request is not terminal. |
customerId | string | The provisioned tenant (completed only). |
consoleUrl | string (uri) | |
signInUrl | string (uri) | Page where the admin signs into the new tenant (completed only). |
tier | string | Trial tier name (trial). |
trialEndDate | string (date-time) | |
nextSteps | array of string | |
reason | object | Why a terminal request did not complete. |
reason.code | string | |
reason.detail | string | |
reason.retryable | boolean |
Raw JSON schema
{
"type": "object",
"description": "Redacted public view of a signup request. Never includes the admin email, the verification code or the idempotency key.",
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string",
"description": "Public request id (sr_ prefix); an unguessable capability."
},
"status": {
"type": "string",
"enum": [
"pending_consent",
"consented",
"provisioning",
"completed",
"rejected",
"expired",
"failed"
]
},
"channel": {
"type": "string",
"enum": [
"agent",
"console",
"web"
]
},
"companyName": {
"type": "string",
"description": "Company name supplied at signup; shown on the console verification and completion pages."
},
"consentUrl": {
"type": "string",
"format": "uri",
"description": "Page where the organization's admin verifies the request (pending_consent only)."
},
"activationToken": {
"type": "string",
"description": "Returned once, by the verifySignupRequest call that performed the verification. Redeem it with createSignupSession after the request is completed."
},
"resultToken": {
"type": "string",
"description": "Returned only by successful verifySignupRequest. Send as Signup-Result-Token when polling this request to read its result. Valid for one hour; never returned by create, replay, resend or GET."
},
"verification": {
"type": "object",
"description": "Present while the request awaits the emailed code.",
"properties": {
"required": {
"type": "boolean"
},
"expiresAt": {
"type": "string",
"format": "date-time"
},
"resendAfterSeconds": {
"type": "integer"
},
"sendsRemaining": {
"type": "integer"
}
}
},
"expiresAt": {
"type": "string",
"format": "date-time",
"description": "When an unverified request expires (pending_consent only)."
},
"pollAfterSeconds": {
"type": "integer",
"description": "Suggested polling interval while the request is not terminal."
},
"customerId": {
"type": "string",
"description": "The provisioned tenant (completed only)."
},
"consoleUrl": {
"type": "string",
"format": "uri"
},
"signInUrl": {
"type": "string",
"format": "uri",
"description": "Page where the admin signs into the new tenant (completed only)."
},
"tier": {
"type": "string",
"description": "Trial tier name (trial)."
},
"trialEndDate": {
"type": "string",
"format": "date-time"
},
"nextSteps": {
"type": "array",
"items": {
"type": "string"
}
},
"reason": {
"type": "object",
"description": "Why a terminal request did not complete.",
"properties": {
"code": {
"type": "string"
},
"detail": {
"type": "string"
},
"retryable": {
"type": "boolean"
}
}
}
}
}
Errors
On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.
HTTP status to exit code mapping
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 404 | 20 | RESOURCE_NOT_FOUND | The requested resource does not exist. Check the identifier argument. |
| 429 | 50 | RATE_LIMITED | Too many requests. Retryable — the CLI reports the server-provided delay. |
Related
- create-signup-request — Create a signup request
- verify-signup-request — Verify a signup request with the emailed code
- resend-signup-verification — Resend the verification code
- create-signup-session — Sign the verified prospect in
- API reference: GET /signup/v1/requests/{signupRequestId}
Aliases: getsignuprequest