> For the complete documentation index, see [llms.txt](https://docs.otari.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.otari.ai/otari/for-integrators/api-reference/users.md).

# Users

## List Users

> List the users the caller's organization can name, with pagination.\
> \
> \`\`users\`\` is deployment-global and has no organization column, so which of\
> them this organization can name is derived: a key, usage, or a roster row\
> puts one in reach, and one reached from nowhere at all (the shared\
> \`\`default\`\` owner, or a user just created) is shared rather than hidden.\
> See \`\`repositories.users\_repository.in\_organization\`\`.\
> \
> \`\`parent\_user\_id\`\` with \`\`external\_id\`\` finds the end user a service key\
> created for a \`\`user\`\` value, which is how a caller maps its own ids to\
> Otari's. \`\`include\_total\`\` adds an \`\`Otari-Total-Count\`\` header counting\
> every match, so \`\`limit=1\`\` with it counts a service key's end users.

```json
{"openapi":"3.1.0","info":{"title":"otari","version":"0.33.0"},"security":[{"ApiKeyAuth":[]},{"XApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"description":"Enter your API key here (sent as Otari-Key header).","in":"header","name":"Otari-Key","type":"apiKey"},"XApiKeyAuth":{"description":"Anthropic-native clients send credentials here (no Bearer prefix).","in":"header","name":"x-api-key","type":"apiKey"}},"schemas":{"UserResponse":{"description":"Response model for user information.","properties":{"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"allowed_models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Models"},"allowed_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Tools"},"blocked":{"title":"Blocked","type":"boolean"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"budget_started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Started At"},"created_at":{"title":"Created At","type":"string"},"current_requests":{"title":"Current Requests","type":"integer"},"current_tokens":{"title":"Current Tokens","type":"integer"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"next_budget_reset_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Budget Reset At"},"parent_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent User Id"},"reserved":{"title":"Reserved","type":"number"},"reserved_requests":{"title":"Reserved Requests","type":"integer"},"reserved_tokens":{"title":"Reserved Tokens","type":"integer"},"spend":{"title":"Spend","type":"number"},"updated_at":{"title":"Updated At","type":"string"},"user_id":{"title":"User Id","type":"string"}},"required":["user_id","alias","spend","reserved","current_tokens","reserved_tokens","current_requests","reserved_requests","budget_id","allowed_models","allowed_tools","budget_started_at","next_budget_reset_at","blocked","created_at","updated_at","metadata"],"title":"UserResponse","type":"object"},"HTTPValidationError":{"properties":{"code":{"const":"invalid_request","description":"Stable error code, also sent as the Otari-Error-Code header.","title":"Code","type":"string"},"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"}}},"paths":{"/api/v1/users":{"get":{"description":"List the users the caller's organization can name, with pagination.\n\n``users`` is deployment-global and has no organization column, so which of\nthem this organization can name is derived: a key, usage, or a roster row\nputs one in reach, and one reached from nowhere at all (the shared\n``default`` owner, or a user just created) is shared rather than hidden.\nSee ``repositories.users_repository.in_organization``.\n\n``parent_user_id`` with ``external_id`` finds the end user a service key\ncreated for a ``user`` value, which is how a caller maps its own ids to\nOtari's. ``include_total`` adds an ``Otari-Total-Count`` header counting\nevery match, so ``limit=1`` with it counts a service key's end users.","operationId":"users-list_users","parameters":[{"in":"query","name":"skip","required":false,"schema":{"default":0,"minimum":0,"title":"Skip","type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"title":"Limit","type":"integer"}},{"description":"Only the end users of this owner: the user a service key belongs to.","in":"query","name":"parent_user_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Only the end users of this owner: the user a service key belongs to.","title":"Parent User Id"}},{"description":"Only the end user a service key names with this `user` value.","in":"query","name":"external_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Only the end user a service key names with this `user` value.","title":"External Id"}},{"description":"Only blocked users (true) or only unblocked ones (false).","in":"query","name":"blocked","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Only blocked users (true) or only unblocked ones (false).","title":"Blocked"}},{"description":"Also count every matching user, in the Otari-Total-Count response header.","in":"query","name":"include_total","required":false,"schema":{"default":false,"description":"Also count every matching user, in the Otari-Total-Count response header.","title":"Include Total","type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UserResponse"},"title":"Response Users-List Users","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"List Users","tags":["users"]}}}}
```

## Create User

> Create a new user.

```json
{"openapi":"3.1.0","info":{"title":"otari","version":"0.33.0"},"security":[{"ApiKeyAuth":[]},{"XApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"description":"Enter your API key here (sent as Otari-Key header).","in":"header","name":"Otari-Key","type":"apiKey"},"XApiKeyAuth":{"description":"Anthropic-native clients send credentials here (no Bearer prefix).","in":"header","name":"x-api-key","type":"apiKey"}},"schemas":{"CreateUserRequest":{"description":"Request model for creating a new user.","properties":{"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional admin-facing alias","title":"Alias"},"allowed_models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"Default model access-list this user's keys inherit; null = unrestricted, [] = deny all","title":"Allowed Models"},"allowed_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"Default search tool access-list this user's keys inherit: null = the tools allowed_models grants, [] = no tool, or search tool names ('*' for every search tool).","title":"Allowed Tools"},"blocked":{"default":false,"description":"Whether user is blocked","title":"Blocked","type":"boolean"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional budget ID","title":"Budget Id"},"metadata":{"additionalProperties":true,"description":"Optional metadata","title":"Metadata","type":"object"},"user_id":{"description":"Unique user identifier","title":"User Id","type":"string"}},"required":["user_id"],"title":"CreateUserRequest","type":"object"},"UserResponse":{"description":"Response model for user information.","properties":{"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"allowed_models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Models"},"allowed_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Tools"},"blocked":{"title":"Blocked","type":"boolean"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"budget_started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Started At"},"created_at":{"title":"Created At","type":"string"},"current_requests":{"title":"Current Requests","type":"integer"},"current_tokens":{"title":"Current Tokens","type":"integer"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"next_budget_reset_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Budget Reset At"},"parent_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent User Id"},"reserved":{"title":"Reserved","type":"number"},"reserved_requests":{"title":"Reserved Requests","type":"integer"},"reserved_tokens":{"title":"Reserved Tokens","type":"integer"},"spend":{"title":"Spend","type":"number"},"updated_at":{"title":"Updated At","type":"string"},"user_id":{"title":"User Id","type":"string"}},"required":["user_id","alias","spend","reserved","current_tokens","reserved_tokens","current_requests","reserved_requests","budget_id","allowed_models","allowed_tools","budget_started_at","next_budget_reset_at","blocked","created_at","updated_at","metadata"],"title":"UserResponse","type":"object"},"HTTPValidationError":{"properties":{"code":{"const":"invalid_request","description":"Stable error code, also sent as the Otari-Error-Code header.","title":"Code","type":"string"},"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"}}},"paths":{"/api/v1/users":{"post":{"description":"Create a new user.","operationId":"users-create_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Create User","tags":["users"]}}}}
```

## Get User

> Get details of a user in the caller's organization.

```json
{"openapi":"3.1.0","info":{"title":"otari","version":"0.33.0"},"security":[{"ApiKeyAuth":[]},{"XApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"description":"Enter your API key here (sent as Otari-Key header).","in":"header","name":"Otari-Key","type":"apiKey"},"XApiKeyAuth":{"description":"Anthropic-native clients send credentials here (no Bearer prefix).","in":"header","name":"x-api-key","type":"apiKey"}},"schemas":{"UserResponse":{"description":"Response model for user information.","properties":{"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"allowed_models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Models"},"allowed_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Tools"},"blocked":{"title":"Blocked","type":"boolean"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"budget_started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Started At"},"created_at":{"title":"Created At","type":"string"},"current_requests":{"title":"Current Requests","type":"integer"},"current_tokens":{"title":"Current Tokens","type":"integer"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"next_budget_reset_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Budget Reset At"},"parent_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent User Id"},"reserved":{"title":"Reserved","type":"number"},"reserved_requests":{"title":"Reserved Requests","type":"integer"},"reserved_tokens":{"title":"Reserved Tokens","type":"integer"},"spend":{"title":"Spend","type":"number"},"updated_at":{"title":"Updated At","type":"string"},"user_id":{"title":"User Id","type":"string"}},"required":["user_id","alias","spend","reserved","current_tokens","reserved_tokens","current_requests","reserved_requests","budget_id","allowed_models","allowed_tools","budget_started_at","next_budget_reset_at","blocked","created_at","updated_at","metadata"],"title":"UserResponse","type":"object"},"HTTPValidationError":{"properties":{"code":{"const":"invalid_request","description":"Stable error code, also sent as the Otari-Error-Code header.","title":"Code","type":"string"},"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"}}},"paths":{"/api/v1/users/{user_id}":{"get":{"description":"Get details of a user in the caller's organization.","operationId":"users-get_user","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get User","tags":["users"]}}}}
```

## Update User

> Update a user in the caller's organization.

```json
{"openapi":"3.1.0","info":{"title":"otari","version":"0.33.0"},"security":[{"ApiKeyAuth":[]},{"XApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"description":"Enter your API key here (sent as Otari-Key header).","in":"header","name":"Otari-Key","type":"apiKey"},"XApiKeyAuth":{"description":"Anthropic-native clients send credentials here (no Bearer prefix).","in":"header","name":"x-api-key","type":"apiKey"}},"schemas":{"UpdateUserRequest":{"description":"Request model for updating a user.","properties":{"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"allowed_models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Models"},"allowed_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Tools"},"blocked":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocked"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"title":"UpdateUserRequest","type":"object"},"UserResponse":{"description":"Response model for user information.","properties":{"alias":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alias"},"allowed_models":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Models"},"allowed_tools":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Tools"},"blocked":{"title":"Blocked","type":"boolean"},"budget_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Id"},"budget_started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Started At"},"created_at":{"title":"Created At","type":"string"},"current_requests":{"title":"Current Requests","type":"integer"},"current_tokens":{"title":"Current Tokens","type":"integer"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"metadata":{"additionalProperties":true,"title":"Metadata","type":"object"},"next_budget_reset_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Budget Reset At"},"parent_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent User Id"},"reserved":{"title":"Reserved","type":"number"},"reserved_requests":{"title":"Reserved Requests","type":"integer"},"reserved_tokens":{"title":"Reserved Tokens","type":"integer"},"spend":{"title":"Spend","type":"number"},"updated_at":{"title":"Updated At","type":"string"},"user_id":{"title":"User Id","type":"string"}},"required":["user_id","alias","spend","reserved","current_tokens","reserved_tokens","current_requests","reserved_requests","budget_id","allowed_models","allowed_tools","budget_started_at","next_budget_reset_at","blocked","created_at","updated_at","metadata"],"title":"UserResponse","type":"object"},"HTTPValidationError":{"properties":{"code":{"const":"invalid_request","description":"Stable error code, also sent as the Otari-Error-Code header.","title":"Code","type":"string"},"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"}}},"paths":{"/api/v1/users/{user_id}":{"patch":{"description":"Update a user in the caller's organization.","operationId":"users-update_user","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Update User","tags":["users"]}}}}
```

## Delete User

> Delete a user in the caller's organization, and erase their telemetry and agent traces.

```json
{"openapi":"3.1.0","info":{"title":"otari","version":"0.33.0"},"security":[{"ApiKeyAuth":[]},{"XApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"description":"Enter your API key here (sent as Otari-Key header).","in":"header","name":"Otari-Key","type":"apiKey"},"XApiKeyAuth":{"description":"Anthropic-native clients send credentials here (no Bearer prefix).","in":"header","name":"x-api-key","type":"apiKey"}},"schemas":{"HTTPValidationError":{"properties":{"code":{"const":"invalid_request","description":"Stable error code, also sent as the Otari-Error-Code header.","title":"Code","type":"string"},"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"}}},"paths":{"/api/v1/users/{user_id}":{"delete":{"description":"Delete a user in the caller's organization, and erase their telemetry and agent traces.","operationId":"users-delete_user","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}}],"responses":{"204":{"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Delete User","tags":["users"]}}}}
```

## Get User Usage

> Get usage history for a user in the caller's organization.

```json
{"openapi":"3.1.0","info":{"title":"otari","version":"0.33.0"},"security":[{"ApiKeyAuth":[]},{"XApiKeyAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"description":"Enter your API key here (sent as Otari-Key header).","in":"header","name":"Otari-Key","type":"apiKey"},"XApiKeyAuth":{"description":"Anthropic-native clients send credentials here (no Bearer prefix).","in":"header","name":"x-api-key","type":"apiKey"}},"schemas":{"UsageLogResponse":{"description":"Response model for usage log.","properties":{"api_key_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key Id"},"completion_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Completion Tokens"},"cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost"},"endpoint":{"title":"Endpoint","type":"string"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"id":{"title":"Id","type":"string"},"latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latency Ms"},"model":{"title":"Model","type":"string"},"prompt_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Prompt Tokens"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"provider_latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Provider Latency Ms"},"status":{"title":"Status","type":"string"},"timestamp":{"title":"Timestamp","type":"string"},"total_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Tokens"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},"required":["id","user_id","api_key_id","timestamp","model","provider","endpoint","prompt_tokens","completion_tokens","total_tokens","cost","status","error_message","latency_ms","provider_latency_ms"],"title":"UsageLogResponse","type":"object"},"HTTPValidationError":{"properties":{"code":{"const":"invalid_request","description":"Stable error code, also sent as the Otari-Error-Code header.","title":"Code","type":"string"},"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"},"ValidationError":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"}}},"paths":{"/api/v1/users/{user_id}/usage":{"get":{"description":"Get usage history for a user in the caller's organization.","operationId":"users-get_user_usage","parameters":[{"in":"path","name":"user_id","required":true,"schema":{"title":"User Id","type":"string"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"minimum":0,"title":"Skip","type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"title":"Limit","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/UsageLogResponse"},"title":"Response Users-Get User Usage","type":"array"}}},"description":"Successful Response"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"summary":"Get User Usage","tags":["users"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.otari.ai/otari/for-integrators/api-reference/users.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
