---
title: "POST /v1/manage-user"
method: POST
path: "/v1/manage-user"
tags: ["AdminService"]
---

# POST /v1/manage-user

`POST /v1/manage-user`

Lets you manage users in your account by adding, deleting, enabling, or disabling users. You can also reset their passwords and edit user roles. This endpoint can help you streamline your onboarding process by programmatically adding new users, assigning appropriate roles, and setting up permissions.
Some tips for this API:
* This operation only works with OAuth 2.0 (in a JWT "Bearer Token") authentication. It does not work with API Keys. You can find details of how to set up and use OAuth 2.0 [here](https://docs.vectara.com/docs/deploy-and-scale/authentication/oauth-2).
* Add multiple users by including additional “user” objects into the userAction array.

## Headers

- `customer-id` integer, required
- `timeout` string

## Request body

- AdminManageUserRequest
  - `userAction` ManageUserRequestUserAction[]
    - `user` AdminUser — Represents a user in an account. A user is a person or an application that has access to the system.
      - `id` integer — Unique ID for the user. This is required for deleting, enabling, disabling a user or to reset their password. This can be retrieved via ListUsers API or it is also returned as part of ManageUser API when a new user is created.
      - `handle` string — Name of the user. This is required for creating a new user.
      - `type` 'USER_TYPE__NONE' | 'USER_TYPE__USER' | 'USER_TYPE__FEDERATED_USER' | 'USER_TYPE__APP_CLIENT' — - USER_TYPE__USER: A normal user - USER_TYPE__FEDERATED_USER: A user that is authenticated by an external identity provider such as Google etc. - USER_TYPE__APP_CLIENT: An application client. Please note that this doesn't work with ManageUser API. To create an App Client, use the ManageAppClient API.
      - `comment` string
      - `tsCreate` string, int64 — Seconds since epoch when the user was created.
      - `idCreate` integer — ID of the user who created this user.
      - `email` string — Email address associated with the user. This is required for creating a new user.
      - `userStatus` 'USER_STATUS__NONE' | 'USER_STATUS__ACTIVE' | 'USER_STATUS__DISABLED'
      - `role` AdminCustomerRole[]
    - `userActionType` 'USER_ACTION_TYPE__NONE' | 'USER_ACTION_TYPE__ADD' | 'USER_ACTION_TYPE__DELETE' | 'USER_ACTION_TYPE__DISABLE' | 'USER_ACTION_TYPE__ENABLE' | 'USER_ACTION_TYPE__RESET_PASSWORD'

## Response `200`

A successful response.

- AdminManageUserResponse
  - `response` ManageUserResponseUserResponse[] — List of users alongwith relative status such as OK, FAILED etc.
    - `user` AdminUser — Represents a user in an account. A user is a person or an application that has access to the system.
      - `id` integer — Unique ID for the user. This is required for deleting, enabling, disabling a user or to reset their password. This can be retrieved via ListUsers API or it is also returned as part of ManageUser API when a new user is created.
      - `handle` string — Name of the user. This is required for creating a new user.
      - `type` 'USER_TYPE__NONE' | 'USER_TYPE__USER' | 'USER_TYPE__FEDERATED_USER' | 'USER_TYPE__APP_CLIENT' — - USER_TYPE__USER: A normal user - USER_TYPE__FEDERATED_USER: A user that is authenticated by an external identity provider such as Google etc. - USER_TYPE__APP_CLIENT: An application client. Please note that this doesn't work with ManageUser API. To create an App Client, use the ManageAppClient API.
      - `comment` string
      - `tsCreate` string, int64 — Seconds since epoch when the user was created.
      - `idCreate` integer — ID of the user who created this user.
      - `email` string — Email address associated with the user. This is required for creating a new user.
      - `userStatus` 'USER_STATUS__NONE' | 'USER_STATUS__ACTIVE' | 'USER_STATUS__DISABLED'
      - `role` AdminCustomerRole[]
    - `status` ComvectaraStatus
      - `code` 'OK' | 'FAILURE' | 'UNKNOWN' | 'INVALID_ARGUMENT' | 'DEADLINE_EXCEEDED' | 'ALREADY_EXISTS' | 'PERMISSION_DENIED' | 'RESOURCE_EXHAUSTED' | 'FAILED_PRECONDITION' | 'ABORTED' | 'OUT_OF_RANGE' | 'UNIMPLEMENTED' | 'INTERNAL' | 'UNAVAILABLE' | 'DATA_LOSS' | 'UNAUTHENTICATED' | 'BAD_REQUEST' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'NOT_FOUND' | 'METHOD_NOT_ALLOWED' | 'CONFLICT' | 'UNSUPPORTED_MEDIA_TYPE' | 'TOO_MANY_REQUESTS' | 'INTERNAL_SERVER_ERROR' | 'NOT_IMPLEMENTED' | 'SERVICE_UNAVAILABLE' | 'INSUFFICIENT_STORAGE' | 'UNPARSEABLE_RESPONSE' | 'DISABLED_CUSTOMER' | 'INVALID_CUSTOMER_ID' | 'DISABLED_CORPUS' | 'INVALID_CORPUS_ID' | 'DISABLED_API_KEY' | 'EXPIRED_API_KEY' | 'INVALID_API_KEY' | 'CMK_INACCESSIBLE' | 'QRY__DISABLED_CORPUS' | 'QRY__DOCUMENT_DB_FAILURE' | 'QRY__ENCODER_FAILURE' | 'QRY__INTERRUPTED' | 'QRY__INVALID_CORPUS' | 'QRY__INVALID_START' | 'QRY__INVALID_NUM_RESULTS' | 'QRY__INVALID_CONTEXT' | 'QRY__MISSING_QUERY' | 'QRY__MISSING_CORPUS' | 'QRY__TIMEOUT' | 'QRY__TOO_MANY_CORPORA' | 'QRY__TOO_MANY_QUERIES' | 'QRY__VECTOR_INDEX_FAILURE' | 'QRY__INVALID_DIMENSION' | 'QRY__INVALID_CLIENTKEY' | 'QRY__DECRYPTION_FAILURE' | 'QRY__INVALID_RERANKER' | 'QRY__PARTIAL_RERANK' | 'QRY__RERANK_FAILURE' | 'QRY__TOO_MANY_RESULT_ROWS' | 'QRY__PARTIAL_RETRIEVAL' | 'QRY__SMRY__INVALID_SUMMARIZER_PROMPT' | 'QRY__SMRY__INVALID_SUMMARY_LANG' | 'QRY__SMRY__UNSUPPORTED_SUMMARY_LANG' | 'QRY__SMRY__PARTIAL_SUMMARY' | 'QRY__SMRY__NO_QUERY_RESULTS' | 'QRY__SMRY__EVAL_UNSUPPORTED_LANG' | 'QRY__SMRY__EVAL_FAILURE' | 'QRY__GEN__NO_QUERY_RESULTS' | 'QRY__GEN__UNPARSEABLE_MODEL_PARAMS' | 'CX_SPECS__INVALID_JSON' | 'CX_SPECS__UNREGISTERED_TYPE' | 'CX_SPECS__MISSING_SPEC' | 'CX_SPECS__MISSING_TYPE' | 'CX_SPECS__UNPARSEABLE_SPEC' | 'ADM__INVALID_CUSTOMER_ID' | 'ADM__INVALID_CORPUS_ID' | 'ADM__INVALID_ENCODER_ID' | 'ADM__INVALID_ROLE_ID' | 'ADM__ROLE_ALREADY_EXISTS' | 'ADM__ONLY_ONE_OWNER_SUPPORTED' | 'ADM__INVALID_PERMISSION' | 'ADM__ROLECREATION_FAILURE' | 'ADM__USER_EMAIL_NOT_AVAIALBLE' | 'ADM__USERNAME_NOT_AVAILABLE' | 'ADM__SIGNUP_MISSING_NAME' | 'ADM__SIGNUP_MISSING_ORG' | 'ADM__SIGNUP_MISSING_EMAIL' | 'ADM__SIGNUP_MISSING_PAYMENT' | 'ADM__SIGNUP_MISSING_PLAN' | 'ADM__SIGNUP_MISSING_PASSWORD' | 'ADM__SIGNUP_INVALID_NAME' | 'ADM__SIGNUP_INVALID_ORG' | 'ADM__SIGNUP_INVALID_EMAIL' | 'ADM__SIGNUP_INVALID_PAYMENT' | 'ADM__SIGNUP_INVALID_PLAN' | 'ADM__SIGNUP_INVALID_PASSWORD' | 'ADM__SIGNUP_INVALID_ACCOUNT_ALIAS' | 'ADM__SIGNUP_INVALID_EMAIL_VALIDATION_CODE' | 'ADM__SIGNUP_MISSING_COUNTRY_CODE' | 'ADM__SIGNUP_ROOT_EMAIL_NOT_AVAILABLE' | 'ADM__CUST_MARK_DELETE_FAILED' | 'ADM__CUST_FAISS_DEALLOC_FAILED' | 'ADM__CUST_ALREADY_ACTIVE' | 'ADM__CUST_REACTIVATE_FAILED' | 'ADM__CUST_ENABLEMENT_FAILED' | 'ADM__CORPUS_LIMIT_REACHED' | 'ADM__STRIPE_CARD_DECLINED' | 'ADM__STRIPE_PROCESSING_ERROR' | 'ADM__EMAIL_VALIDATION_REQUEST_NOT_FOUND' | 'ADM__EMAIL_NOT_VALIDATED' | 'ADM__CHANGE_PLAN__NO_CURRENT_PLAN' | 'ADM__CHANGE_PLAN__REQUIRES_MANUAL_CHANGE' | 'ADM__CHANGE_PLAN__INVALID_PLAN_ID' | 'ADM__CHANGE_PLAN__NO_PAYMENT_SOURCE' | 'ADM__CHANGE_PLAN__INVALID_EFFECTIVE_DATE' | 'ADM__CHANGE_PLAN__CONFLICTING_CHANGE' | 'SCM__MISCONFIGURED_CONNECTION' | 'STATS_DB_READ_FAILURE' | 'VDB__TEXT_READ_FAILURE' | 'REBUILD__LOW_RECALL' | 'REBUILD__INDEX_UPLOAD_FAILURE' | 'REBUILD__UPDATE_JOURNAL_FAILURE' | 'REBUILD__UPDATE_FAISSPARAMS_FAILURE' | 'REBUILD__NO_DATA' | 'REBUILD__EVALUATION' | 'IDX__TRANSIENT_PARTIAL_DELETION_FAILURE' | 'IDX__PERMANENT_PARTIAL_DELETION_FAILURE' | 'CALB__INVALID_JSON' | 'CALB__INVALID_SPEC' | 'CALB__UNREGISTERED_TYPE' | 'CALB__MISSING_SPEC' | 'CALB__MISSING_TYPE' | 'CALB__UNPARSABLE_SPEC'
      - `statusDetail` string

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.net/vectara/apis/vectara-rest-api.md) · [All operations](https://skmtc.net/vectara/apis/vectara-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vectara/vectara-rest-api/revisions/d4c8fc1d0e7a/schema)
