メインコンテンツへスキップ

cancel-invite

dci cancel-invite <id> [body] [flags]

Marks the invite as Cancelled and invalidates the invite token so any outstanding email links stop working. The invite document is retained (soft cancel) — the user row remains visible in GET /iam/v1/users with inviteStatus: Cancelled. Use DELETE /iam/v1/users/\{id\} to fully remove the record.

Returns 404 if no invite exists for the given ID, and 409 if the invite is already cancelled.

Requires usersManager permission.

  • id — ID of the invited user — the id of a dci list-users row whose status is invited, also returned as user.id by dci invite-user.

Pass the request body as name: value arguments or pipe JSON on stdin — see Command structure.

Dry run is server-side

cancel-invite carries the API's own dryRun parameter, so --dry-run sends a simulation request and returns the real response shape marked as a dry run, instead of the local preview most destructive commands print. An --idempotency-key is required on every real call (UUID v4 or ULID recommended); when you omit it under --dry-run the CLI generates a throwaway key for you.

Examples

# Simulate the cancellation server-side; the CLI supplies a throwaway idempotency key for the dry run.
dci cancel-invite <invite-id> --dry-run
# Cancel the invite; the key is required, and retrying with the same key returns the cached result.
dci cancel-invite <invite-id> --idempotency-key "$(uuidgen)" --yes
The invite is marked `Cancelled` and its email links stop working; the row stays in `dci list-users` until you `dci delete-user <invite-id>`.
# Same, as JSON for scripts.
dci cancel-invite <invite-id> --idempotency-key <request-key> --yes --output json

Request

Content-Type: application/json

Raw JSON schema
{
"type": "object"
}

Flags

FlagTypeDefaultExampleDescription
--dry-runbooleanfalseIf true, validates and simulates the operation without committing changes. The response shape is identical to a real execution.

Every command also accepts the CLI-wide flags for output shaping — see Output formats and Table output options.

Output

OK - Invite cancelled.

By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.

FieldTypeDescription
messagestringSuccess message
inviteIdstringThe invite document ID.
Raw JSON schema
{
"type": "object",
"description": "Response confirming invite cancellation.",
"required": [
"message",
"inviteId"
],
"properties": {
"message": {
"type": "string",
"description": "Success message"
},
"inviteId": {
"type": "string",
"description": "The invite document ID."
}
}
}

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 statusExit codeError codeMeaning
40030VALIDATION_ERRORThe arguments or request body were rejected. Review the command's flags and payload.
40110AUTHENTICATION_FAILEDNot signed in, or the API token is invalid. Run dci login or check DCI_API_KEY.
40311PERMISSION_DENIEDThe DoiT user or the active customer context does not have access.
40420RESOURCE_NOT_FOUNDThe requested resource does not exist. Check the identifier argument.
40921RESOURCE_CONFLICTThe operation conflicts with the resource's current state.
50040API_SERVER_ERRORThe API failed to process the request. Retryable; contact DoiT support if it persists.

Aliases: cancelinvite