> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs-beta.getzep.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-beta.getzep.com/_mcp/server.

# Create Agent Skill Use

POST https://api.getzep.com/api/v4/agents/{agent_uuid}/skills/{skill_uuid}/uses
Content-Type: application/json

Reference: https://docs-beta.getzep.com/sdk-reference/agent/skill/use/create

## Authentication

- `Authorization` header (required) (prefixed with ` Api-Key  `) — Type "Api-Key" followed by a space and the project API key.

## Request

### Path parameters

- `agent_uuid` (string, required) — Agent UUID
- `skill_uuid` (string, required) — Skill UUID

### Body (application/json)

This endpoint expects a v4.CreateAgentSkillUseRequest.

- `search_id` (string, required)
- `trajectory_uuid` (string, required)
- `usage` (enum, required)
  - Allowed values: `selected`, `used`, `partially_used`, `ignored`, `inapplicable`
- `outcome` (v4.AddAgentSkillUseOutcomeRequest, optional)
- `reason_code` (string, optional)

## Response

### 201

Created

- `agent_version` (string, optional)
- `created_at` (string, optional)
- `outcome` (v4.AgentSkillUseOutcome, optional)
- `reason_code` (string, optional)
- `skill_uuid` (string, optional)
- `skill_version` (integer, optional)
- `trajectory_uuid` (string, optional)
- `usage` (string, optional)
- `uuid` (string, optional)

## Errors

### 409 Conflict Error

Conflict

- `error` (v4.ErrorBody, optional)

## Types

### v4.AddAgentSkillUseOutcomeRequest

- `outcome` (enum, required)
  - Allowed values: `succeeded`, `failed`, `partial`, `abandoned`, `unknown`

### v4.AgentSkillUseOutcome

- `assertion_uuid` (string, optional)
- `created_at` (string, optional)
- `outcome` (string, optional)
- `trajectory_uuid` (string, optional)
- `use_uuid` (string, optional)
- `uuid` (string, optional)
- `verification` (string, optional)

### v4.ErrorBody

- `code` (string, optional)
- `details` (map from string to any, optional)
- `message` (string, optional)
- `param` (string, optional)
- `request_id` (string, optional)

## Examples

**Request**

```json
{
  "search_id": "string",
  "trajectory_uuid": "string",
  "usage": "selected"
}
```

**Response**

```json
{
  "agent_version": "string",
  "created_at": "string",
  "outcome": {
    "assertion_uuid": "string",
    "created_at": "string",
    "outcome": "string",
    "trajectory_uuid": "string",
    "use_uuid": "string",
    "uuid": "string",
    "verification": "string"
  },
  "reason_code": "string",
  "skill_uuid": "string",
  "skill_version": 1,
  "trajectory_uuid": "string",
  "usage": "string",
  "uuid": "string"
}
```