GET
/v1/app-users/{userId}Get an app user
Authentication
Request
| Name | In | Required | Description |
|---|---|---|---|
X-VChat-Tenant-Id | header | Yes | No description declared. |
X-VChat-App-Id | header | Yes | No description declared. |
X-VChat-Environment | header | Yes | No description declared. |
x-request-id | header | No | Optional caller-supplied request correlation identifier. |
userId | path | Yes | No description declared. |
cURL template
Replace path placeholders, the credential, and request body with values valid for your exact scope.
curl --request GET \
+ --url 'https://api.example.com/v1/app-users/{userId}' \
+ -H 'Authorization: Bearer <token>'Responses
200
application/json
{
"$ref": "#/components/schemas/AppUserResponseDto",
"properties": {
"data": {
"$ref": "#/components/schemas/AppUserDto",
"properties": {
"authVersion": {
"minimum": 1,
"type": "integer"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"custom": {
"additionalProperties": true,
"type": "object"
},
"deactivatedAt": {
"format": "date-time",
"nullable": true,
"type": "string"
},
"displayName": {
"nullable": true,
"type": "string"
},
"imageUrl": {
"format": "uri",
"nullable": true,
"type": "string"
},
"reactivatedAt": {
"format": "date-time",
"nullable": true,
"type": "string"
},
"status": {
"enum": [
"active",
"deactivated"
],
"type": "string"
},
"updatedAt": {
"format": "date-time",
"type": "string"
},
"userId": {
"example": "customer-user-1",
"type": "string"
}
},
"required": [
"userId",
"status",
"displayName",
"imageUrl",
"custom",
"authVersion",
"createdAt",
"updatedAt",
"deactivatedAt",
"reactivatedAt"
],
"type": "object"
},
"meta": {
"$ref": "#/components/schemas/AppUserResponseMetaDto",
"properties": {
"nextCursor": {
"nullable": true,
"type": "string"
},
"requestId": {
"example": "req_01J00000000000000000000000",
"type": "string"
}
},
"required": [
"requestId"
],
"type": "object"
}
},
"required": [
"data",
"meta"
],
"type": "object"
}400
application/json
{
"$ref": "#/components/schemas/PublicErrorResponseDto",
"properties": {
"error": {
"$ref": "#/components/schemas/PublicErrorBodyDto",
"properties": {
"code": {
"enum": [
"validation_failed",
"authentication_failed",
"authentication_required",
"reauthentication_required",
"permission_denied",
"resource_not_found",
"idempotency_conflict",
"target_account_unavailable",
"organization_owner_removal_conflict",
"organization_owner_role_conflict",
"organization_role_conflict",
"membership_conflict",
"invitation_conflict",
"invitation_expired",
"application_name_conflict",
"application_settings_version_conflict",
"environment_settings_version_conflict",
"app_user_version_conflict",
"channel_type_conflict",
"channel_type_version_conflict",
"channel_type_limit_reached",
"channel_conflict",
"channel_version_conflict",
"channel_membership_conflict",
"channel_membership_version_conflict",
"channel_membership_limit_reached",
"message_conflict",
"message_version_conflict",
"channel_read_state_conflict",
"thread_reply_limit_reached",
"message_reaction_type_not_allowed",
"message_reaction_limit_reached",
"thread_read_state_conflict",
"credential_limit_reached",
"credential_lifecycle_conflict",
"device_registration_conflict",
"device_registration_version_conflict",
"device_registration_limit_reached",
"attachment_upload_incomplete",
"attachment_not_ready",
"attachment_limit_reached",
"moderation_relationship_limit_reached",
"moderation_blocklist_limit_reached",
"moderation_case_resolution_conflict",
"message_moderation_rejected",
"retention_policy_version_conflict",
"data_job_not_cancelable",
"data_job_not_ready",
"data_job_limit_exceeded",
"webhook_endpoint_conflict",
"webhook_endpoint_version_conflict",
"webhook_endpoint_limit_reached",
"webhook_destination_rejected",
"webhook_secret_rotation_conflict",
"webhook_delivery_not_replayable",
"conflict",
"rate_limit_exceeded",
"internal_error",
"service_unavailable"
],
"example": "service_unavailable",
"type": "string"
},
"details": {
"$ref": "#/components/schemas/PublicErrorDetailsDto"
},
"message": {
"example": "The service is temporarily unavailable.",
"type": "string"
},
"requestId": {
"example": "req_01J00000000000000000000000",
"type": "string"
}
},
"required": [
"code",
"message",
"requestId",
"details"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}401
application/json
{
"$ref": "#/components/schemas/PublicErrorResponseDto",
"properties": {
"error": {
"$ref": "#/components/schemas/PublicErrorBodyDto",
"properties": {
"code": {
"enum": [
"validation_failed",
"authentication_failed",
"authentication_required",
"reauthentication_required",
"permission_denied",
"resource_not_found",
"idempotency_conflict",
"target_account_unavailable",
"organization_owner_removal_conflict",
"organization_owner_role_conflict",
"organization_role_conflict",
"membership_conflict",
"invitation_conflict",
"invitation_expired",
"application_name_conflict",
"application_settings_version_conflict",
"environment_settings_version_conflict",
"app_user_version_conflict",
"channel_type_conflict",
"channel_type_version_conflict",
"channel_type_limit_reached",
"channel_conflict",
"channel_version_conflict",
"channel_membership_conflict",
"channel_membership_version_conflict",
"channel_membership_limit_reached",
"message_conflict",
"message_version_conflict",
"channel_read_state_conflict",
"thread_reply_limit_reached",
"message_reaction_type_not_allowed",
"message_reaction_limit_reached",
"thread_read_state_conflict",
"credential_limit_reached",
"credential_lifecycle_conflict",
"device_registration_conflict",
"device_registration_version_conflict",
"device_registration_limit_reached",
"attachment_upload_incomplete",
"attachment_not_ready",
"attachment_limit_reached",
"moderation_relationship_limit_reached",
"moderation_blocklist_limit_reached",
"moderation_case_resolution_conflict",
"message_moderation_rejected",
"retention_policy_version_conflict",
"data_job_not_cancelable",
"data_job_not_ready",
"data_job_limit_exceeded",
"webhook_endpoint_conflict",
"webhook_endpoint_version_conflict",
"webhook_endpoint_limit_reached",
"webhook_destination_rejected",
"webhook_secret_rotation_conflict",
"webhook_delivery_not_replayable",
"conflict",
"rate_limit_exceeded",
"internal_error",
"service_unavailable"
],
"example": "service_unavailable",
"type": "string"
},
"details": {
"$ref": "#/components/schemas/PublicErrorDetailsDto"
},
"message": {
"example": "The service is temporarily unavailable.",
"type": "string"
},
"requestId": {
"example": "req_01J00000000000000000000000",
"type": "string"
}
},
"required": [
"code",
"message",
"requestId",
"details"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}403
application/json
{
"$ref": "#/components/schemas/PublicErrorResponseDto",
"properties": {
"error": {
"$ref": "#/components/schemas/PublicErrorBodyDto",
"properties": {
"code": {
"enum": [
"validation_failed",
"authentication_failed",
"authentication_required",
"reauthentication_required",
"permission_denied",
"resource_not_found",
"idempotency_conflict",
"target_account_unavailable",
"organization_owner_removal_conflict",
"organization_owner_role_conflict",
"organization_role_conflict",
"membership_conflict",
"invitation_conflict",
"invitation_expired",
"application_name_conflict",
"application_settings_version_conflict",
"environment_settings_version_conflict",
"app_user_version_conflict",
"channel_type_conflict",
"channel_type_version_conflict",
"channel_type_limit_reached",
"channel_conflict",
"channel_version_conflict",
"channel_membership_conflict",
"channel_membership_version_conflict",
"channel_membership_limit_reached",
"message_conflict",
"message_version_conflict",
"channel_read_state_conflict",
"thread_reply_limit_reached",
"message_reaction_type_not_allowed",
"message_reaction_limit_reached",
"thread_read_state_conflict",
"credential_limit_reached",
"credential_lifecycle_conflict",
"device_registration_conflict",
"device_registration_version_conflict",
"device_registration_limit_reached",
"attachment_upload_incomplete",
"attachment_not_ready",
"attachment_limit_reached",
"moderation_relationship_limit_reached",
"moderation_blocklist_limit_reached",
"moderation_case_resolution_conflict",
"message_moderation_rejected",
"retention_policy_version_conflict",
"data_job_not_cancelable",
"data_job_not_ready",
"data_job_limit_exceeded",
"webhook_endpoint_conflict",
"webhook_endpoint_version_conflict",
"webhook_endpoint_limit_reached",
"webhook_destination_rejected",
"webhook_secret_rotation_conflict",
"webhook_delivery_not_replayable",
"conflict",
"rate_limit_exceeded",
"internal_error",
"service_unavailable"
],
"example": "service_unavailable",
"type": "string"
},
"details": {
"$ref": "#/components/schemas/PublicErrorDetailsDto"
},
"message": {
"example": "The service is temporarily unavailable.",
"type": "string"
},
"requestId": {
"example": "req_01J00000000000000000000000",
"type": "string"
}
},
"required": [
"code",
"message",
"requestId",
"details"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}404
application/json
{
"$ref": "#/components/schemas/PublicErrorResponseDto",
"properties": {
"error": {
"$ref": "#/components/schemas/PublicErrorBodyDto",
"properties": {
"code": {
"enum": [
"validation_failed",
"authentication_failed",
"authentication_required",
"reauthentication_required",
"permission_denied",
"resource_not_found",
"idempotency_conflict",
"target_account_unavailable",
"organization_owner_removal_conflict",
"organization_owner_role_conflict",
"organization_role_conflict",
"membership_conflict",
"invitation_conflict",
"invitation_expired",
"application_name_conflict",
"application_settings_version_conflict",
"environment_settings_version_conflict",
"app_user_version_conflict",
"channel_type_conflict",
"channel_type_version_conflict",
"channel_type_limit_reached",
"channel_conflict",
"channel_version_conflict",
"channel_membership_conflict",
"channel_membership_version_conflict",
"channel_membership_limit_reached",
"message_conflict",
"message_version_conflict",
"channel_read_state_conflict",
"thread_reply_limit_reached",
"message_reaction_type_not_allowed",
"message_reaction_limit_reached",
"thread_read_state_conflict",
"credential_limit_reached",
"credential_lifecycle_conflict",
"device_registration_conflict",
"device_registration_version_conflict",
"device_registration_limit_reached",
"attachment_upload_incomplete",
"attachment_not_ready",
"attachment_limit_reached",
"moderation_relationship_limit_reached",
"moderation_blocklist_limit_reached",
"moderation_case_resolution_conflict",
"message_moderation_rejected",
"retention_policy_version_conflict",
"data_job_not_cancelable",
"data_job_not_ready",
"data_job_limit_exceeded",
"webhook_endpoint_conflict",
"webhook_endpoint_version_conflict",
"webhook_endpoint_limit_reached",
"webhook_destination_rejected",
"webhook_secret_rotation_conflict",
"webhook_delivery_not_replayable",
"conflict",
"rate_limit_exceeded",
"internal_error",
"service_unavailable"
],
"example": "service_unavailable",
"type": "string"
},
"details": {
"$ref": "#/components/schemas/PublicErrorDetailsDto"
},
"message": {
"example": "The service is temporarily unavailable.",
"type": "string"
},
"requestId": {
"example": "req_01J00000000000000000000000",
"type": "string"
}
},
"required": [
"code",
"message",
"requestId",
"details"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}429
application/json
{
"$ref": "#/components/schemas/PublicErrorResponseDto",
"properties": {
"error": {
"$ref": "#/components/schemas/PublicErrorBodyDto",
"properties": {
"code": {
"enum": [
"validation_failed",
"authentication_failed",
"authentication_required",
"reauthentication_required",
"permission_denied",
"resource_not_found",
"idempotency_conflict",
"target_account_unavailable",
"organization_owner_removal_conflict",
"organization_owner_role_conflict",
"organization_role_conflict",
"membership_conflict",
"invitation_conflict",
"invitation_expired",
"application_name_conflict",
"application_settings_version_conflict",
"environment_settings_version_conflict",
"app_user_version_conflict",
"channel_type_conflict",
"channel_type_version_conflict",
"channel_type_limit_reached",
"channel_conflict",
"channel_version_conflict",
"channel_membership_conflict",
"channel_membership_version_conflict",
"channel_membership_limit_reached",
"message_conflict",
"message_version_conflict",
"channel_read_state_conflict",
"thread_reply_limit_reached",
"message_reaction_type_not_allowed",
"message_reaction_limit_reached",
"thread_read_state_conflict",
"credential_limit_reached",
"credential_lifecycle_conflict",
"device_registration_conflict",
"device_registration_version_conflict",
"device_registration_limit_reached",
"attachment_upload_incomplete",
"attachment_not_ready",
"attachment_limit_reached",
"moderation_relationship_limit_reached",
"moderation_blocklist_limit_reached",
"moderation_case_resolution_conflict",
"message_moderation_rejected",
"retention_policy_version_conflict",
"data_job_not_cancelable",
"data_job_not_ready",
"data_job_limit_exceeded",
"webhook_endpoint_conflict",
"webhook_endpoint_version_conflict",
"webhook_endpoint_limit_reached",
"webhook_destination_rejected",
"webhook_secret_rotation_conflict",
"webhook_delivery_not_replayable",
"conflict",
"rate_limit_exceeded",
"internal_error",
"service_unavailable"
],
"example": "service_unavailable",
"type": "string"
},
"details": {
"$ref": "#/components/schemas/PublicErrorDetailsDto"
},
"message": {
"example": "The service is temporarily unavailable.",
"type": "string"
},
"requestId": {
"example": "req_01J00000000000000000000000",
"type": "string"
}
},
"required": [
"code",
"message",
"requestId",
"details"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}500
application/json
{
"$ref": "#/components/schemas/PublicErrorResponseDto",
"properties": {
"error": {
"$ref": "#/components/schemas/PublicErrorBodyDto",
"properties": {
"code": {
"enum": [
"validation_failed",
"authentication_failed",
"authentication_required",
"reauthentication_required",
"permission_denied",
"resource_not_found",
"idempotency_conflict",
"target_account_unavailable",
"organization_owner_removal_conflict",
"organization_owner_role_conflict",
"organization_role_conflict",
"membership_conflict",
"invitation_conflict",
"invitation_expired",
"application_name_conflict",
"application_settings_version_conflict",
"environment_settings_version_conflict",
"app_user_version_conflict",
"channel_type_conflict",
"channel_type_version_conflict",
"channel_type_limit_reached",
"channel_conflict",
"channel_version_conflict",
"channel_membership_conflict",
"channel_membership_version_conflict",
"channel_membership_limit_reached",
"message_conflict",
"message_version_conflict",
"channel_read_state_conflict",
"thread_reply_limit_reached",
"message_reaction_type_not_allowed",
"message_reaction_limit_reached",
"thread_read_state_conflict",
"credential_limit_reached",
"credential_lifecycle_conflict",
"device_registration_conflict",
"device_registration_version_conflict",
"device_registration_limit_reached",
"attachment_upload_incomplete",
"attachment_not_ready",
"attachment_limit_reached",
"moderation_relationship_limit_reached",
"moderation_blocklist_limit_reached",
"moderation_case_resolution_conflict",
"message_moderation_rejected",
"retention_policy_version_conflict",
"data_job_not_cancelable",
"data_job_not_ready",
"data_job_limit_exceeded",
"webhook_endpoint_conflict",
"webhook_endpoint_version_conflict",
"webhook_endpoint_limit_reached",
"webhook_destination_rejected",
"webhook_secret_rotation_conflict",
"webhook_delivery_not_replayable",
"conflict",
"rate_limit_exceeded",
"internal_error",
"service_unavailable"
],
"example": "service_unavailable",
"type": "string"
},
"details": {
"$ref": "#/components/schemas/PublicErrorDetailsDto"
},
"message": {
"example": "The service is temporarily unavailable.",
"type": "string"
},
"requestId": {
"example": "req_01J00000000000000000000000",
"type": "string"
}
},
"required": [
"code",
"message",
"requestId",
"details"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}503
application/json
{
"$ref": "#/components/schemas/PublicErrorResponseDto",
"properties": {
"error": {
"$ref": "#/components/schemas/PublicErrorBodyDto",
"properties": {
"code": {
"enum": [
"validation_failed",
"authentication_failed",
"authentication_required",
"reauthentication_required",
"permission_denied",
"resource_not_found",
"idempotency_conflict",
"target_account_unavailable",
"organization_owner_removal_conflict",
"organization_owner_role_conflict",
"organization_role_conflict",
"membership_conflict",
"invitation_conflict",
"invitation_expired",
"application_name_conflict",
"application_settings_version_conflict",
"environment_settings_version_conflict",
"app_user_version_conflict",
"channel_type_conflict",
"channel_type_version_conflict",
"channel_type_limit_reached",
"channel_conflict",
"channel_version_conflict",
"channel_membership_conflict",
"channel_membership_version_conflict",
"channel_membership_limit_reached",
"message_conflict",
"message_version_conflict",
"channel_read_state_conflict",
"thread_reply_limit_reached",
"message_reaction_type_not_allowed",
"message_reaction_limit_reached",
"thread_read_state_conflict",
"credential_limit_reached",
"credential_lifecycle_conflict",
"device_registration_conflict",
"device_registration_version_conflict",
"device_registration_limit_reached",
"attachment_upload_incomplete",
"attachment_not_ready",
"attachment_limit_reached",
"moderation_relationship_limit_reached",
"moderation_blocklist_limit_reached",
"moderation_case_resolution_conflict",
"message_moderation_rejected",
"retention_policy_version_conflict",
"data_job_not_cancelable",
"data_job_not_ready",
"data_job_limit_exceeded",
"webhook_endpoint_conflict",
"webhook_endpoint_version_conflict",
"webhook_endpoint_limit_reached",
"webhook_destination_rejected",
"webhook_secret_rotation_conflict",
"webhook_delivery_not_replayable",
"conflict",
"rate_limit_exceeded",
"internal_error",
"service_unavailable"
],
"example": "service_unavailable",
"type": "string"
},
"details": {
"$ref": "#/components/schemas/PublicErrorDetailsDto"
},
"message": {
"example": "The service is temporarily unavailable.",
"type": "string"
},
"requestId": {
"example": "req_01J00000000000000000000000",
"type": "string"
}
},
"required": [
"code",
"message",
"requestId",
"details"
],
"type": "object"
}
},
"required": [
"error"
],
"type": "object"
}Contract source
This page is generated from artifacts/openapi/openapi.json. The dedicated endpoint folder documents authorization, validation, errors, consistency, idempotency, events, retries, and client reconciliation.