# Get User

Gets the user that corresponds to the given ID.

Endpoint: GET /api/v1/users/{id}
Version: 0.2.0
Security: bearerAuth

## Path parameters:

  - `id` (string, required)
    ID of the user to retrieve.

## Response 200 fields (application/json):

  - `id` (string, required)
    The unique identifier of the object in the Fordefi platform.

  - `created_at` (string, required)
    The date and time when the object was created.

  - `modified_at` (string, required)
    The date and time when the object was last modified. Any change to any field of the resource is considered a modification.

  - `user_type` (string, required)
    The type of the user.

  - `name` (string)
    The name of the user.
    Example: John Doe

  - `email` (string, required)
    The email of the user.

  - `state` (string, required)
    Enum: "active", "onboarding_pending_code_generation", "onboarding_pending_activation", "reset_device_pending_code_generation", "reset_device_pending_activation", "pending_approval", "deleted"

  - `acknowledged_banners` (array, required)
    The banners that the user has acknowledged.

  - `role` (string, required)
    Enum: "admin", "trader", "viewer"

  - `user_groups` (array)
    The groups the user belongs to.

  - `user_groups.id` (string, required)
    The unique identifier of user group in the Fordefi platform.

  - `user_groups.name` (string, required)
    The name of the user group.

  - `user_groups.users_count` (integer, required)
    The number of users in the group.

  - `user_groups.admins_count` (integer, required)
    The number of admins in the group.

  - `user_groups.state` (string, required)
    Represents a user group state in the Fordefi platform
    Enum: "active", "deleted"

  - `pending_addition_to_user_groups` (array)
    The groups the user is pending to be added to.

  - `pending_removal_from_user_groups` (array)
    The groups the user is pending to be removed from.

  - `pending_change` (object)

  - `pending_change.new_role` (string, required)
    The new role of the user.
    Enum: "admin", "trader"

  - `pending_change.change_request_id` (string, required)
    The unique identifier of the change request.

  - `device_backup_info` (object)

  - `device_backup_info.device_backup_info` (any, required)
    The type of the backup.

  - `device_backup_info.device_backup_info.validation_hash` (string, required)
    Example: SGVsbG8=

  - `device_backup_info.device_backup_info.type` (string, required)
    Cloud backup type.

  - `device_backup_info.device_backup_info.cloud_type` (string, required)
    Enum: "google_drive", "icloud"

  - `device_backup_info.device_backup_info.account` (string, required)

  - `device_backup_info.device_backup_info.pin_code` (string, required)

  - `device_backup_info.device_backup_info.type` (string, required)
    Mnemonic backup type.

  - `device_backup_info.backup_created_at` (string, required)
    The time when the backup was created.

  - `device_backup_info.backup_last_verified_at` (string, required)
    The time when the backup was last verified.

  - `invited_by` (any)
    Represents a reference to a user in the Fordefi platform

  - `invited_by.id` (string, required)
    The unique identifier of the user in the Fordefi platform.

  - `invited_by.user_type` (string, required)
    The type of user. Can be a person, or (in programmatic scenarios) an API user or API Signer.

  - `invited_by.name` (string)
    The name of the user.
    Example: John Doe

  - `invited_by.email` (string, required)
    The email of the user.

  - `invited_by.user_type` (string, required)
    The type of the user.

  - `invited_by.state` (string, required)
    The state of the user. Is one of: `active`: The user can perform all actions in the Fordefi platform.`pending_approval`: The user creation is awaiting admin-quorum approval.`onboarding_pending_activation`: The user is approved and awaiting token activation.`deleted`: The user has been deleted.
    Enum: "active", "pending_approval", "onboarding_pending_activation", "deleted"

  - `invited_by.activated_at` (string)
    When the api user was activated and its access token was issued.

  - `invited_by.state` (string, required)
    The state of the user.
    Enum: "active", "onboarding_pending_code_generation", "onboarding_pending_activation", "deleted"

  - `invited_by.external_id` (string, required)
    External id of the user.
    Example: user|1234

  - `invited_by.name` (string, required)
    The name is Fordefi CARE

  - `approval_request` (object)
    Represents an approval request for an action in the Fordefi platform

  - `approval_request.state` (string, required)
    Represents the whole approval request state
    Enum: "created", "approved", "insufficient_approvers", "auto_approved", "failed"

  - `approval_request.required_groups` (integer, required)
    The number of required approval groups.

  - `approval_request.approval_groups` (array, required)
    A list of the possible approvers from different groups.

  - `approval_request.approval_groups.quorum_size` (integer, required)
    The number of approvers required to approve the transaction.

  - `approval_request.approval_groups.approvers` (array, required)
    A list of the possible approvers.

  - `approval_request.approval_groups.approvers.user` (any, required)

  - `approval_request.approval_groups.approvers.modified_at` (string, required)
    The date and time when this approval was modified.

  - `approval_request.approval_groups.approvers.state` (string, required)
    Represents an approval state of a single approver
    Enum: "pending", "approved", "unauthorized", "not_participated"

  - `approval_request.error_message` (string)
    The error message if the request failed.

  - `state` (string, required)
    The state of the user. Is one of: `active`: The user can perform all actions in the Fordefi platform.`pending_approval`: The user creation is awaiting admin-quorum approval.`onboarding_pending_activation`: The user is approved and awaiting token activation.`deleted`: The user has been deleted.
    Enum: "active", "pending_approval", "onboarding_pending_activation", "deleted"

  - `allowed_ip_settings` (object, required)

  - `allowed_ip_settings.allow_type` (string, required)
    Enum: "allow_all", "ip_list"

  - `allowed_ip_settings.ip_list` (array)
    The list of IP addresses or CIDR ranges that this user is allowed to make API calls from. This field is only used when allow_type is `ip_list`.e.g. `['192.168.1.1', '192.168.1.0/24']`

  - `last_active_at` (string)
    The last date and time when the user was active.

  - `activated_at` (string)
    When the api user was activated and its access token was issued.

  - `public_key_pem` (string)
    The PEM-encoded ECDSA P-256 public key whose signature authenticates this user's requests. Absent when the user authenticates with an access token only.
    Example: -----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE...
-----END PUBLIC KEY-----


  - `state` (string, required)
    The state of the user. Is one of: `active`: The user can perform all actions in the Fordefi platform.`onboarding_pending_code_generation`: The signer has been created but still needs to generate a qr code on it and scan it using mobile device.`onboarding_pending_activation`: The signer has been created but still needs to activate the account.`deleted`: The user has been deleted.
    Enum: "active", "onboarding_pending_code_generation", "onboarding_pending_activation", "deleted"

  - `last_keep_alive_at` (string)
    The last date and time when API Signer sent a keep-alive.

  - `name` (string, required)
    The name of the system user.

  - `state` (string, required)
    The state of the system user can be only active and returned for consistency.

## Response 400 fields (application/json):

  - `title` (string, required)
    Human-readable error message.

  - `detail` (string, required)
    Detailed error message.

  - `full_detail` (string)
    Full error message with additional details, if available.

  - `request_id` (string)
    Request ID - for debugging purposes.

  - `system_error_code` (string)
    An additional system error code in Fordefi.

## Response 401 fields (application/json):

  - `title` (string, required)
    Human-readable error message.

  - `detail` (string, required)
    Detailed error message.

  - `full_detail` (string)
    Full error message with additional details, if available.

  - `request_id` (string)
    Request ID - for debugging purposes.

## Response 403 fields (application/json):

  - `title` (string, required)
    Human-readable error message.

  - `detail` (string, required)
    Detailed error message.

  - `full_detail` (string)
    Full error message with additional details, if available.

  - `request_id` (string)
    Request ID - for debugging purposes.

## Response 404 fields (application/json):

  - `title` (string, required)
    Human-readable error message.

  - `detail` (string, required)
    Detailed error message.

  - `full_detail` (string)
    Full error message with additional details, if available.

  - `request_id` (string)
    Request ID - for debugging purposes.

  - `resource` (string)
    Enum: "user", "user_change_proposals", "user_group", "user_group_change_proposal", "vault", "vault_address", "vault_group", "address_group", "transaction", "batch_transaction", "path", "keyset", "auth_token", "access_token", "asset", "asset_info", "vault_derivation_path", "blockchain", "export", "quote", "import_keys_request", "vault_address_account", "exchange_asset_mapping", "dapp_group", "safe_address", "audit_log"

## Response 408 fields (application/json):

  - `title` (string, required)
    Human-readable error message.

  - `detail` (string, required)
    Detailed error message.

  - `full_detail` (string)
    Full error message with additional details, if available.

  - `request_id` (string)
    Request ID - for debugging purposes.

## Response 422 fields (application/json):

  - `title` (string, required)
    Human-readable error message.

  - `detail` (array, required)

  - `detail.loc` (array, required)

  - `detail.msg` (string, required)

  - `detail.type` (string, required)

  - `full_detail` (string)
    Full error message with additional details, if available.

  - `request_id` (string)
    Request ID - for debugging purposes.

## Response 500 fields (application/json):

  - `title` (string, required)
    Human-readable error message.

  - `detail` (string, required)
    Detailed error message.

  - `full_detail` (string)
    Full error message with additional details, if available.

  - `request_id` (string)
    Request ID - for debugging purposes.

