> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs-beta.getzep.com/v4/sdk-reference/user/create/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-beta.getzep.com/_mcp/server. # Create user POST https://api.getzep.com/api/v4/users Content-Type: application/json Reference: https://docs-beta.getzep.com/sdk-reference/user/create ## Authentication - `Authorization` header (required) (prefixed with ` Api-Key `) — Type "Api-Key" followed by a space and the project API key. ## Request ### Body (application/json) This endpoint expects a v4.CreateUserRequest. - `content_policy` (v4.GraphContentPolicyRequest, optional) — Content policy additions for the user's graph. The graph binds the current project content policy plus these additions, and the binding does not change after creation. - `disable_default_ontology` (boolean, optional) — When true, disables the default ontology for the user's graph. - `email` (string, optional) — The email address of the user. - `first_name` (string, optional) — The user's first name. - `last_name` (string, optional) — The user's last name. - `metadata` (map from string to any, optional) — Metadata to store on the user. - `time_zone` (string, optional) — The user's IANA time zone. ## Response ### 201 Created - `created_at` (string, optional) — The time the user was created. - `disable_default_ontology` (boolean, optional) — When true, disables the use of the default fallback ontology for the user's graph. - `email` (string, optional) — The email address of the user. - `first_name` (string, optional) — The first name of the user. - `graph_uuid` (string, optional) — The unique identifier of the user's graph, populated when the user is created. - `last_name` (string, optional) — The last name of the user. - `metadata` (map from string to any, optional) — Arbitrary key-value metadata attached to the user. - `time_zone` (string, optional) — The user's IANA time zone, used to localize dates in generated context. - `user_id` (string, optional) — The developer-assigned identifier of the user. - `uuid` (string, optional) — The unique identifier of the user. ## Errors ### 400 Bad Request Error Bad Request - `error` (v4.ErrorBody, optional) ### 401 Unauthorized Error Unauthorized - `error` (v4.ErrorBody, optional) ### 404 Not Found Error Not Found - `error` (v4.ErrorBody, optional) ### 409 Conflict Error Conflict - `error` (v4.ErrorBody, optional) ## Types ### v4.GraphContentPolicyRequest - `categories` (list of v4.ContentPolicyCategoryRequest, optional) — Categories to add for this graph. A key that the project policy already has is ignored. - `project_revision` (integer, optional) — When set, the create fails with content_policy_revision_stale unless this is the current project revision. - `rules` (list of v4.ContentPolicyRuleRequest, optional) — Rules to add for this graph. A rule that the project policy already has, with the same category key and description, is ignored. ### v4.ErrorBody - `code` (string, optional) - `details` (map from string to any, optional) - `message` (string, optional) - `param` (string, optional) - `request_id` (string, optional) ### v4.ContentPolicyCategoryRequest - `description` (string, optional) — What the category covers, in plain language. Maximum 500 characters. - `key` (string, optional) — A stable key for the category, unique within the policy. Lowercase letters, digits, and underscores; 2 to 64 characters. ### v4.ContentPolicyRuleRequest - `category_key` (string, optional) — The key of the category this rule belongs to. The category must be in the same policy. - `description` (string, optional) — The content this rule prohibits, in plain language. Maximum 1000 characters. - `permitted_examples` (list of string, optional) — Examples of similar content the rule permits. 0 to 8 items, each at most 500 characters. - `prohibited_examples` (list of string, optional) — Examples of content the rule prohibits. 1 to 8 items, each at most 500 characters. ## Examples **Request** ```json {} ``` **Response** ```json { "created_at": "string", "disable_default_ontology": true, "email": "string", "first_name": "string", "graph_uuid": "string", "last_name": "string", "metadata": {}, "time_zone": "string", "user_id": "string", "uuid": "string" } ```