---
title: "Get promoter by ID or slug"
method: GET
path: "/promoters/{key}"
tags: ["Promoters"]
---

# Get promoter by ID or slug

`GET /promoters/{key}`

Retrieve a promoter using either its unique ID or URL-friendly slug

## Path parameters

- `key` string, required — Promoter key - either a unique ID (pmt_xxx format) or URL-friendly slug

## Response `200`

OK

- object
  - `promoter` Promoter, required — Promoter organization with location and approval status
    - `id` string, required — Unique identifier for the promoter organization
    - `createdAt` string, date-time, required — Timestamp in ISO 8601 format when the promoter was created
    - `updatedAt` string, date-time, required — Timestamp in ISO 8601 format when the promoter was last updated
    - `name` string, required — Display name of the promoter organization. Must be between 3 and 30 characters
    - `slug` string, required — URL-friendly slug for the promoter organization. Must be unique and between 3 and 30 characters
    - `teamId` string, required — ID of the team that owns this promoter. Establishes team-based organization and permissions.
    - `description` string, required — Detailed description of the promoter organization and their events
    - `approval` 'PENDING' | 'APPROVED' | 'REJECTED', required — Approval status of the promoter. PENDING: awaiting review, APPROVED: can create events, REJECTED: cannot operate
    - `image` object — Optional promotional image for the promoter organization with dimensions and alt text
      - `src` string, uri, required
      - `alt` string, required
      - `width` number, required
      - `height` number, required
    - `location` object, required — Primary location details for the promoter including address, coordinates, and timezone
      - `id` string, required — Location identifier
      - `googlePlaceId` string — Google Place ID for this location
      - `createdAt` string, date-time, required — Timestamp in ISO 8601 format when the location was created
      - `updatedAt` string, date-time, required — Timestamp in ISO 8601 format when the location was last updated
      - `name` string, required — Location name
      - `address` string, required — Formatted address
      - `city` string — City name
      - `state` string — State or region
      - `postcode` string — Postal code
      - `country` string, required — Country name
      - `latitude` number, required — Latitude coordinate
      - `longitude` number, required — Longitude coordinate
      - `timeZone` string, required — IANA timezone identifier (e.g., 'America/New_York', 'Europe/London', 'Australia/Sydney', 'UTC'). Must be validated against the IANA timezone database where used.
      - `types` string[] — Google Place types indicating the category and nature of this location
      - `description` string — AI-generated description of the place, when available
      - `image` object — Primary location photo
        - `src` string, uri, required
        - `alt` string, required
        - `width` number, required
        - `height` number, required
      - `venue` object — Denormalized venue details if this location is a managed venue. Only included when venue is approved.
        - `id` string, required — Venue identifier
        - `name` string, required — Venue name
        - `slug` string, required — URL-friendly venue slug
        - `teamId` string, required — Team that owns this venue
        - `approval` 'PENDING' | 'APPROVED' | 'REJECTED', required — Venue approval status
        - `image` object — Venue image
          - `src` string, uri, required
          - `alt` string, required
          - `width` number, required
          - `height` number, required
        - `description` string — Venue description
    - `geohash` string, required — Geohash encoding of the promoter's location for efficient spatial queries
    - `tracking` object — Optional tracking configuration for analytics and advertising platforms
      - `fbId` string — Facebook pixel ID for tracking conversions and analytics
      - `gaId` string — Google Analytics 4 Measurement ID for web analytics
      - `tikTokId` string — TikTok pixel ID for advertising and conversion tracking
    - `metadata` object — Flexible key-value metadata storage for custom configuration. Similar to Stripe's metadata API. Maximum 50 keys, key names up to 40 characters, values up to 500 characters.

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404
- `409` — 409
- `412` — 412
- `422` — 422
- `429` — 429
- `500` — 500
- `501` — 501
- `503` — 503

---

[API](https://skmtc.net/session/apis/session-services-api.md) · [All operations](https://skmtc.net/session/apis/session-services-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/session/session-services-api/versions/bec3de84da9e/schema)
