Tripleseat Leads API

Capture and retrieve leads, including the public lead form.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-lead-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-lead-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-event-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-account-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-account-update-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-contact-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-contact-create-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-location-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-site-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-api-user-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-webhooks-webhook-payload-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-schema/tripleseat-webhooks-webhook-headers-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-lead-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-event-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-account-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-contact-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-lead-create-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-account-update-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-contact-create-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-location-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-site-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-api-user-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-webhooks-webhook-payload-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-structure/tripleseat-webhooks-webhook-headers-structure.json

Other Resources

🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-ld/tripleseat-api-context.jsonld
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/json-ld/tripleseat-webhooks-context.jsonld
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-lead-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-event-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-account-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-contact-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-lead-create-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-account-update-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-contact-create-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-location-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-site-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-api-user-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-webhooks-webhook-payload-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/tripleseat/refs/heads/main/examples/tripleseat-webhooks-webhook-headers-example.json

OpenAPI Specification

tripleseat-leads-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Tripleseat Accounts Leads API
  description: The Tripleseat REST API provides programmatic access to the event and catering sales lifecycle for restaurants, hotels, and unique venues. It exposes leads, events, accounts, contacts, locations, sites, and users, plus a public lead form endpoint for capturing inquiries directly into Tripleseat. The API is served from api.tripleseat.com under the v1 path, returns JSON or XML, paginates with the page query parameter (50 records per page), and uses OAuth 2.0 for authentication. Webhooks (documented in the companion AsyncAPI/description) emit lead and booking lifecycle events signed with a SHA256-HMAC X-Signature header.
  version: v1
  contact:
    name: Kin Lane
    email: kin@apievangelist.com
  license:
    name: Proprietary
    url: https://tripleseat.com/terms-of-service/
  termsOfService: https://tripleseat.com/terms-of-service/
servers:
- url: https://api.tripleseat.com
  description: Tripleseat Production API
security:
- oauth2: []
tags:
- name: Leads
  description: Capture and retrieve leads, including the public lead form.
paths:
  /v1/leads.json:
    get:
      operationId: listLeads
      summary: List Leads
      description: Retrieve a paginated list of leads. Returns 50 records per page; use the page query parameter to page through results.
      tags:
      - Leads
      parameters:
      - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A paginated list of leads.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Lead'
              examples:
                ListLeads200Example:
                  summary: Default listLeads 200 response
                  x-microcks-default: true
                  value:
                    results:
                    - id: 500123
                      first_name: Mark
                      last_name: Lawrence
                      email_address: contact@example.com
                      phone_number: +1-555-867-5309
                      company: Acme Events Co.
                      event_description: Evening reception with plated dinner.
                      event_date: '2026-07-15'
                      start_time: '18:00'
                      end_time: '22:00'
                      guest_count: 75
                      additional_information: Evening reception with plated dinner.
                      location_id: 500123
                      status: definite
                      created_at: '2026-06-03T14:30:00Z'
                      updated_at: '2026-06-03T14:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v1/leads/{lead_id}.json:
    get:
      operationId: getLead
      summary: Get Lead
      description: Retrieve information for a single lead by its identifier.
      tags:
      - Leads
      parameters:
      - $ref: '#/components/parameters/LeadId'
      responses:
        '200':
          description: The requested lead.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lead'
              examples:
                GetLead200Example:
                  summary: Default getLead 200 response
                  x-microcks-default: true
                  value:
                    id: 500123
                    first_name: Mark
                    last_name: Lawrence
                    email_address: contact@example.com
                    phone_number: +1-555-867-5309
                    company: Acme Events Co.
                    event_description: Evening reception with plated dinner.
                    event_date: '2026-07-15'
                    start_time: '18:00'
                    end_time: '22:00'
                    guest_count: 75
                    additional_information: Evening reception with plated dinner.
                    location_id: 500123
                    status: definite
                    created_at: '2026-06-03T14:30:00Z'
                    updated_at: '2026-06-03T14:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v1/leads/search.json:
    get:
      operationId: searchLeads
      summary: Search Leads
      description: Retrieve leads matching the supplied query parameters.
      tags:
      - Leads
      parameters:
      - $ref: '#/components/parameters/Page'
      - name: updated_after
        in: query
        description: Return leads updated after this timestamp.
        required: false
        schema:
          type: string
          format: date-time
        example: '2026-06-03T14:30:00Z'
      responses:
        '200':
          description: A paginated list of matching leads.
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Lead'
              examples:
                SearchLeads200Example:
                  summary: Default searchLeads 200 response
                  x-microcks-default: true
                  value:
                    results:
                    - id: 500123
                      first_name: Mark
                      last_name: Lawrence
                      email_address: contact@example.com
                      phone_number: +1-555-867-5309
                      company: Acme Events Co.
                      event_description: Evening reception with plated dinner.
                      event_date: '2026-07-15'
                      start_time: '18:00'
                      end_time: '22:00'
                      guest_count: 75
                      additional_information: Evening reception with plated dinner.
                      location_id: 500123
                      status: definite
                      created_at: '2026-06-03T14:30:00Z'
                      updated_at: '2026-06-03T14:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v1/leads/create.json:
    post:
      operationId: createLead
      summary: Create Lead
      description: Create a lead from a public lead form using a public key. The request body wraps lead fields in a lead object. If the site has more than one location, location_id must be supplied in the body or as a query parameter.
      tags:
      - Leads
      parameters:
      - name: public_key
        in: query
        description: The public key for the lead form site or location.
        required: true
        schema:
          type: string
        example: example
      - name: location_id
        in: query
        description: The location the lead is intended for. Required when the site has more than one location and not supplied in the body.
        required: false
        schema:
          type: integer
        example: 500123
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                lead:
                  $ref: '#/components/schemas/LeadCreate'
              required:
              - lead
            examples:
              CreateLeadRequestExample:
                summary: Default createLead request
                x-microcks-default: true
                value:
                  lead:
                    first_name: Mark
                    last_name: Lawrence
                    email_address: contact@example.com
                    phone_number: +1-555-867-5309
                    company: Acme Events Co.
                    event_description: Evening reception with plated dinner.
                    event_date: '2026-07-15'
                    start_time: '18:00'
                    end_time: '22:00'
                    guest_count: 75
                    additional_information: Evening reception with plated dinner.
                    location_id: 500123
      responses:
        '201':
          description: The lead was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Lead'
              examples:
                CreateLead201Example:
                  summary: Default createLead 201 response
                  x-microcks-default: true
                  value:
                    id: 500123
                    first_name: Mark
                    last_name: Lawrence
                    email_address: contact@example.com
                    phone_number: +1-555-867-5309
                    company: Acme Events Co.
                    event_description: Evening reception with plated dinner.
                    event_date: '2026-07-15'
                    start_time: '18:00'
                    end_time: '22:00'
                    guest_count: 75
                    additional_information: Evening reception with plated dinner.
                    location_id: 500123
                    status: definite
                    created_at: '2026-06-03T14:30:00Z'
                    updated_at: '2026-06-03T14:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    LeadCreate:
      type: object
      description: Fields accepted when creating a lead via the public lead form.
      properties:
        first_name:
          type: string
          example: Mark
        last_name:
          type: string
          example: Lawrence
        email_address:
          type: string
          format: email
          example: contact@example.com
        phone_number:
          type: string
          example: +1-555-867-5309
        company:
          type: string
          example: Acme Events Co.
        event_description:
          type: string
          example: Evening reception with plated dinner.
        event_date:
          type: string
          format: date
          example: '2026-07-15'
        start_time:
          type: string
          example: '18:00'
        end_time:
          type: string
          example: '22:00'
        guest_count:
          type: integer
          example: 75
        additional_information:
          type: string
          example: Evening reception with plated dinner.
        location_id:
          type: integer
          example: 500123
      required:
      - first_name
      - last_name
      - email_address
    Error:
      type: object
      description: A standard error response.
      properties:
        error:
          type: string
          description: A human-readable error message.
          example: Unauthorized
        status:
          type: integer
          description: The HTTP status code associated with the error.
          example: definite
    Lead:
      type: object
      description: A potentially interested person or party for outreach.
      properties:
        id:
          type: integer
          description: Unique identifier of the lead.
          example: 500123
        first_name:
          type: string
          description: First name of the lead contact.
          example: Mark
        last_name:
          type: string
          description: Last name of the lead contact.
          example: Lawrence
        email_address:
          type: string
          format: email
          description: Email address of the lead contact.
          example: contact@example.com
        phone_number:
          type: string
          description: Phone number of the lead contact.
          example: +1-555-867-5309
        company:
          type: string
          description: Company associated with the lead.
          example: Acme Events Co.
        event_description:
          type: string
          description: Description of the event the lead is inquiring about.
          example: Evening reception with plated dinner.
        event_date:
          type: string
          format: date
          description: Requested date of the event.
          example: '2026-07-15'
        start_time:
          type: string
          description: Requested start time of the event.
          example: '18:00'
        end_time:
          type: string
          description: Requested end time of the event.
          example: '22:00'
        guest_count:
          type: integer
          description: Estimated number of guests.
          example: 75
        additional_information:
          type: string
          description: Additional free-text information supplied with the lead.
          example: Evening reception with plated dinner.
        location_id:
          type: integer
          description: Identifier of the location the lead is intended for.
          example: 500123
        status:
          type: string
          description: Current status of the lead.
          example: definite
        created_at:
          type: string
          format: date-time
          description: Timestamp when the lead was created.
          example: '2026-06-03T14:30:00Z'
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the lead was last updated.
          example: '2026-06-03T14:30:00Z'
  parameters:
    Page:
      name: page
      in: query
      description: The page of results to return. Each page contains 50 records.
      required: false
      schema:
        type: integer
        minimum: 1
        default: 1
    LeadId:
      name: lead_id
      in: path
      description: The unique identifier of the lead.
      required: true
      schema:
        type: integer
  responses:
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication credentials were missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request was malformed or failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: The rate limit of 10 requests per second for the leads and events endpoints was exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0. Access tokens are Bearer tokens that expire after 7200 seconds (2 hours) and are accompanied by a refresh token. OAuth 1.0 is deprecated and discontinued on July 1, 2026.
      flows:
        clientCredentials:
          tokenUrl: https://api.tripleseat.com/oauth/token
          scopes: {}
        authorizationCode:
          authorizationUrl: https://api.tripleseat.com/oauth/authorize
          tokenUrl: https://api.tripleseat.com/oauth/token
          refreshUrl: https://api.tripleseat.com/oauth/token
          scopes: {}
externalDocs:
  description: Tripleseat API Overview
  url: https://support.tripleseat.com/hc/en-us/articles/205162108-API-Overview