# Sub Dictionary: `api_timings`

## Table Info

| Property | Value |
|----------|-------|
| Table | `api_timings` |
| Database | laravel_logs |
| Connection | `logs` |
| Engine | InnoDB |
| Type | TABLE |
| Category | Logging |
| Laravel Model | `ApiTiming` (app/Models/ApiTiming.php) |

## Columns

| # | Column | Type | Nullable | Default | Key | Extra | Description |
|---|--------|------|----------|---------|-----|-------|-------------|
| 1 | `id` | `bigint unsigned` | NO | - | PRI | auto_increment | Auto-increment primary key |
| 2 | `platform` | `enum('api','web','partner','admin')` | YES | NULL | MUL | - |  |
| 3 | `method` | `varchar(10)` | YES | NULL | MUL | - |  |
| 4 | `path` | `varchar(512)` | YES | NULL | MUL | - |  |
| 5 | `full_url` | `varchar(2000)` | YES | NULL | - | - |  |
| 6 | `status` | `smallint unsigned` | YES | NULL | MUL | - |  |
| 7 | `total_ms` | `decimal(10,3)` | NO | - | MUL | - | Total request time in milliseconds |
| 8 | `payload` | `json` | YES | NULL | - | - | Detailed JSON payload: steps, db queries, http calls, etc. |
| 9 | `user_id` | `bigint unsigned` | YES | NULL | MUL | - |  |
| 10 | `ip_address` | `varchar(45)` | YES | NULL | - | - |  |
| 11 | `created_at` | `timestamp` | NO | `CURRENT_TIMESTAMP` | MUL | DEFAULT_GENERATED | Laravel timestamp (created) |

## Indexes

| Name | Columns | Unique | Type |
|------|---------|--------|------|
| `api_timings_created_at_index` | `created_at` | NO | BTREE |
| `api_timings_method_index` | `method` | NO | BTREE |
| `api_timings_path_index` | `path` | NO | BTREE |
| `api_timings_platform_created_at_index` | `platform`, `created_at` | NO | BTREE |
| `api_timings_platform_index` | `platform` | NO | BTREE |
| `api_timings_status_index` | `status` | NO | BTREE |
| `api_timings_total_ms_index` | `total_ms` | NO | BTREE |
| `api_timings_user_id_index` | `user_id` | NO | BTREE |
| `PRIMARY` | `id` | YES | BTREE |

## Foreign Keys

### Formal Foreign Keys

None defined.

