# Luma — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and discover public events happening in your area through Luma, complete with details about hosts, attendees, and ticket information. Browse events by location to find exactly what you're looking for and learn more about each event's specifics.

**Category:** Entertainment | **Website:** [luma.com/](https://luma.com/) | **Docs:** [parse.bot/marketplace/b143447a-9cc4-4b7e-ad1c-85113aec355e/luma-com-api](https://parse.bot/marketplace/b143447a-9cc4-4b7e-ad1c-85113aec355e/luma-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/luma/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get event details

Retrieve full details for a single event by its API ID. Returns comprehensive information including full description, host bios, featured guests, geo-coordinates, ticket pricing, capacity, and availability status. The event_api_id is obtained from search_events results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `event_api_id` | string | Yes | Event API ID (e.g., 'evt-DmSmWL7HBwk4xNd') obtained from search_events results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/luma/get-event-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"event_api_id":"<string>"}'
```

### Search events

Search for upcoming public events by geographic location. Accepts a city name (with built-in coordinates for major cities), custom latitude/longitude, or a Luma place ID. Returns a paginated list of events ordered by start time. Each event includes basic info, hosts, ticket pricing, and location. Pagination uses an opaque cursor; the response indicates whether more results exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `cursor` | string | No | Opaque pagination cursor from a previous response's next_cursor field. |
| `latitude` | string | No | Custom latitude coordinate. Use together with longitude instead of location. |
| `limit` | integer | No | Maximum number of events to return (max 50 per page). |
| `location` | string | No | City name for location-based search. Built-in coordinates exist for: New York, San Francisco, London, Tokyo, Bangalore, Bengaluru, Mumbai, Delhi. Other city names are passed as-is. |
| `longitude` | string | No | Custom longitude coordinate. Use together with latitude instead of location. |
| `place_id` | string | No | Luma discover place API ID (e.g., 'discplace-G0tGUVYwl7T17Sb'). When provided, overrides location and lat/lng. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/credits/luma/search-events \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"cursor":"<string>","latitude":"<string>","limit":"<integer>","location":"<string>","longitude":"<string>","place_id":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.