API Overview
API Overview
Section titled “API Overview”The LMIF API is a RESTful API that allows platforms to integrate identity protection into their applications.
Base URL
Section titled “Base URL”| Environment | Base URL |
|---|---|
| Production | https://api.lookmaimfamous.com/v1 |
| Sandbox | https://sandbox.api.lookmaimfamous.com/v1 |
Authentication
Section titled “Authentication”All requests require a Bearer token in the Authorization header:
Authorization: Bearer lmif_live_xxxSee Authentication for details.
Content Type
Section titled “Content Type”All requests and responses use JSON:
Content-Type: application/jsonAPI Endpoints
Section titled “API Endpoints”Identity Check
Section titled “Identity Check”The core integration point for platforms.
| Method | Endpoint | Description |
|---|---|---|
| POST | /lmif/identity/check | Check if an identity is protected |
| POST | /lmif/identity/check/batch | Check multiple identities |
Claims
Section titled “Claims”Manage identity claims.
| Method | Endpoint | Description |
|---|---|---|
| GET | /lmif/claims | List claims |
| POST | /lmif/claims | Create a claim |
| GET | /lmif/claims/{id} | Get claim details |
| PATCH | /lmif/claims/{id} | Update a claim |
| DELETE | /lmif/claims/{id} | Delete a claim |
Manage identity protection boxes.
| Method | Endpoint | Description |
|---|---|---|
| GET | /lmif/boxes | List boxes |
| POST | /lmif/boxes | Create a box |
| GET | /lmif/boxes/{id} | Get box details |
| PATCH | /lmif/boxes/{id} | Update box policy |
| DELETE | /lmif/boxes/{id} | Remove a box |
Licenses
Section titled “Licenses”Manage licenses for protected identities.
| Method | Endpoint | Description |
|---|---|---|
| GET | /lmif/licenses | List licenses |
| POST | /lmif/licenses/request | Request a license |
| GET | /lmif/licenses/{id} | Get license details |
| GET | /lmif/licenses/request/{id} | Get request status |
| POST | /lmif/licenses/{id}/renew | Renew a license |
| DELETE | /lmif/licenses/{id} | Cancel a license |
| POST | /lmif/licenses/{id}/usage | Report usage |
Violations
Section titled “Violations”Track and manage violations.
| Method | Endpoint | Description |
|---|---|---|
| GET | /lmif/violations | List violations |
| GET | /lmif/violations/{id} | Get violation details |
| POST | /lmif/violations/{id}/resolve | Resolve a violation |
| POST | /lmif/violations/{id}/appeal | Appeal a violation |
Grace Periods
Section titled “Grace Periods”Manage grace period compliance.
| Method | Endpoint | Description |
|---|---|---|
| GET | /lmif/grace-periods | List active grace periods |
| GET | /lmif/grace-periods/{id} | Get grace period details |
| POST | /lmif/grace-periods/{id}/resolve | Resolve a grace period |
Webhooks
Section titled “Webhooks”Manage webhook endpoints.
| Method | Endpoint | Description |
|---|---|---|
| GET | /lmif/webhooks | List webhook endpoints |
| POST | /lmif/webhooks | Register a webhook |
| GET | /lmif/webhooks/{id} | Get webhook details |
| PATCH | /lmif/webhooks/{id} | Update webhook |
| DELETE | /lmif/webhooks/{id} | Delete webhook |
| POST | /lmif/webhooks/test | Send test event |
Request Format
Section titled “Request Format”Query Parameters
Section titled “Query Parameters”For list endpoints:
| Parameter | Type | Description |
|---|---|---|
limit | integer | Max items to return (default: 20, max: 100) |
offset | integer | Items to skip (for pagination) |
sort | string | Sort field (e.g., createdAt) |
order | string | Sort order (asc or desc) |
Request Body
Section titled “Request Body”POST/PATCH requests accept JSON:
{ "name": "value", "nested": { "field": "value" }}Response Format
Section titled “Response Format”Success Response
Section titled “Success Response”{ "data": { "id": "xxx", "type": "claim", "attributes": { ... } }, "meta": { "requestId": "req_abc123" }}List Response
Section titled “List Response”{ "data": [ { "id": "xxx", ... }, { "id": "yyy", ... } ], "meta": { "total": 100, "limit": 20, "offset": 0, "hasMore": true }}Error Response
Section titled “Error Response”{ "error": { "code": "VALIDATION_ERROR", "message": "Invalid request", "details": [ { "field": "name", "message": "Name is required" } ] }, "meta": { "requestId": "req_abc123" }}Error Codes
Section titled “Error Codes”| Code | HTTP Status | Description |
|---|---|---|
UNAUTHORIZED | 401 | Invalid or missing API key |
FORBIDDEN | 403 | Insufficient permissions |
NOT_FOUND | 404 | Resource not found |
VALIDATION_ERROR | 400 | Invalid request data |
RATE_LIMITED | 429 | Too many requests |
INTERNAL_ERROR | 500 | Server error |
See Error Codes for complete list.
Rate Limits
Section titled “Rate Limits”| Plan | Requests/minute | Requests/day |
|---|---|---|
| Sandbox | 60 | 1,000 |
| Basic | 300 | 50,000 |
| Standard | 1,000 | 500,000 |
| Enterprise | Custom | Custom |
Rate limit headers are included in responses:
X-RateLimit-Limit: 300X-RateLimit-Remaining: 299X-RateLimit-Reset: 1640000000Versioning
Section titled “Versioning”The API version is included in the URL path (/v1/). Breaking changes will be introduced in new versions, with deprecation notices for old versions.
Idempotency
Section titled “Idempotency”For POST requests, include an Idempotency-Key header to ensure the request is processed only once:
Idempotency-Key: unique-request-id-123This is especially important for:
- Creating claims
- Creating boxes
- Requesting licenses