Eventship Speakers API

The Speakers API from Eventship — 3 operation(s) for speakers.

GitHub OpenAPI

Operations 5

GET /v1/speakers/search Search Speakers #
GET /v1/events/{event_slug}/speakers List Event Speakers #
POST /v1/events/{event_slug}/speakers Add Event Speaker #
PATCH /v1/events/{event_slug}/speakers/{appearance_id} Update Event Speaker #
DELETE /v1/events/{event_slug}/speakers/{appearance_id} Delete Event Speaker #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eventship-com:eventship-com-speakers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eventship-com-speakers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Eventship Com Speakers API
  version: '1.0'
  description: 'Operations tagged Speakers across 2 of this provider''s published API definitions: developer.eventship.com.json, eventship-com-openapi.json. Each path carries the servers of the definition it was published in.'
security:
- ApiKeyAuth: []
tags:
- name: Speakers
paths:
  /v1/speakers/search:
    get:
      tags:
      - Speakers
      summary: Search Speakers
      description: 'Search the shared speaker directory by name.


        Speaker profiles are reusable across events, so call this first and reuse a

        match (pass its ``id`` as ``speakerId`` when adding) instead of creating a

        duplicate. This is the same search-first flow the web editor uses.'
      operationId: search_speakers_v1_speakers_search_get
      parameters:
      - name: q
        in: query
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 100
          description: Search query
          title: Q
        description: Search query
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          maximum: 50
          minimum: 1
          default: 10
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse_list_SpeakerSearchResult__'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/events/{event_slug}/speakers:
    get:
      tags:
      - Speakers
      summary: List Event Speakers
      description: 'List the speakers on an event.


        Each entry''s ``id`` is the appearance id used to update or remove that

        speaker, ``speakerId`` is the shared profile id, ``sessionIds`` are the

        sessions they speak at, and ``createdByMe`` indicates whether you created the

        profile (only then can you edit its canonical name).'
      operationId: list_event_speakers_v1_events__event_slug__speakers_get
      parameters:
      - name: event_slug
        in: path
        required: true
        schema:
          type: string
          title: Event Slug
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse_list_Speaker__'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Speakers
      summary: Add Event Speaker
      description: 'Add a speaker to an event.


        Provide ``speakerId`` (from ``GET /v1/speakers/search``) to reuse an existing

        profile, or ``name`` (plus optional ``title``/``company``/``bio``/

        ``headshot``/``linkedin``) to create a new one. When reusing a profile, any

        fields you send backfill the shared profile if it was empty, otherwise apply

        only to this event.'
      operationId: add_event_speaker_v1_events__event_slug__speakers_post
      parameters:
      - name: event_slug
        in: path
        required: true
        schema:
          type: string
          title: Event Slug
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api__schemas__event__SpeakerCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse_Speaker_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/events/{event_slug}/speakers/{appearance_id}:
    patch:
      tags:
      - Speakers
      summary: Update Event Speaker
      description: 'Update a speaker on an event.


        ``appearance_id`` is the ``id`` from ``GET /v1/events/{event_slug}/speakers``.

        Send ``""`` to clear a field for this event; omit a field to leave it

        unchanged. The canonical ``name`` changes only if you created the profile.'
      operationId: update_event_speaker_v1_events__event_slug__speakers__appearance_id__patch
      parameters:
      - name: event_slug
        in: path
        required: true
        schema:
          type: string
          title: Event Slug
      - name: appearance_id
        in: path
        required: true
        schema:
          type: string
          title: Appearance Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/api__schemas__event__SpeakerUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse_Speaker_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Speakers
      summary: Delete Event Speaker
      description: 'Remove a speaker from an event.


        Deletes the appearance (all sessions for that speaker on this event); the

        shared speaker profile itself is never deleted.'
      operationId: delete_event_speaker_v1_events__event_slug__speakers__appearance_id__delete
      parameters:
      - name: event_slug
        in: path
        required: true
        schema:
          type: string
          title: Event Slug
      - name: appearance_id
        in: path
        required: true
        schema:
          type: string
          title: Appearance Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse_dict_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    api__schemas__event__SpeakerCreateRequest:
      properties:
        speakerId:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Speakerid
        name:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Name
        title:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Title
        company:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Company
        companyId:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Companyid
        bio:
          anyOf:
          - type: string
          - type: 'null'
          title: Bio
        headshot:
          anyOf:
          - type: string
            maxLength: 2048
          - type: 'null'
          title: Headshot
        linkedin:
          anyOf:
          - type: string
            maxLength: 2048
          - type: 'null'
          title: Linkedin
        sessionIds:
          items:
            type: integer
          type: array
          title: Sessionids
        role:
          anyOf:
          - type: string
            maxLength: 100
          - type: 'null'
          title: Role
        customTitle:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Customtitle
        customBio:
          anyOf:
          - type: string
          - type: 'null'
          title: Custombio
      type: object
      title: SpeakerCreateRequest
      description: Request to add a speaker to an event (creates appearance).
    ApiResponse_Speaker_:
      properties:
        data:
          $ref: '#/components/schemas/Speaker'
        success:
          type: boolean
          title: Success
          default: true
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
      type: object
      required:
      - data
      title: ApiResponse[Speaker]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    api__schemas__event__SpeakerUpdateRequest:
      properties:
        sessionIds:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Sessionids
        role:
          anyOf:
          - type: string
            maxLength: 100
          - type: 'null'
          title: Role
        customTitle:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Customtitle
        customBio:
          anyOf:
          - type: string
          - type: 'null'
          title: Custombio
        name:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Name
        title:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Title
        company:
          anyOf:
          - type: string
            maxLength: 255
          - type: 'null'
          title: Company
        headshot:
          anyOf:
          - type: string
            maxLength: 2048
          - type: 'null'
          title: Headshot
        bio:
          anyOf:
          - type: string
          - type: 'null'
          title: Bio
        linkedin:
          anyOf:
          - type: string
            maxLength: 2048
          - type: 'null'
          title: Linkedin
      type: object
      title: SpeakerUpdateRequest
      description: Request to update a speaker appearance and optionally the speaker profile.
    ApiResponse_list_SpeakerSearchResult__:
      properties:
        data:
          items:
            $ref: '#/components/schemas/SpeakerSearchResult'
          type: array
          title: Data
        success:
          type: boolean
          title: Success
          default: true
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
      type: object
      required:
      - data
      title: ApiResponse[list[SpeakerSearchResult]]
    Speaker:
      properties:
        id:
          type: string
          title: Id
        speakerId:
          type: string
          title: Speakerid
          default: ''
        name:
          type: string
          title: Name
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        company:
          anyOf:
          - type: string
          - type: 'null'
          title: Company
        headshot:
          anyOf:
          - type: string
          - type: 'null'
          title: Headshot
        bio:
          anyOf:
          - type: string
          - type: 'null'
          title: Bio
        linkedin:
          anyOf:
          - type: string
          - type: 'null'
          title: Linkedin
        role:
          anyOf:
          - type: string
          - type: 'null'
          title: Role
        sessionIds:
          items:
            type: integer
          type: array
          title: Sessionids
        sortOrder:
          type: integer
          title: Sortorder
          default: 0
        createdByMe:
          type: boolean
          title: Createdbyme
          default: false
      type: object
      required:
      - id
      - speakerId
      - name
      - title
      - company
      - headshot
      - bio
      - linkedin
      - role
      - sessionIds
      - sortOrder
      - createdByMe
      title: Speaker
      description: Event speaker appearance - response schema.
    ApiResponse_list_Speaker__:
      properties:
        data:
          items:
            $ref: '#/components/schemas/Speaker'
          type: array
          title: Data
        success:
          type: boolean
          title: Success
          default: true
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
      type: object
      required:
      - data
      title: ApiResponse[list[Speaker]]
    ApiResponse_dict_:
      properties:
        data:
          additionalProperties: true
          type: object
          title: Data
        success:
          type: boolean
          title: Success
          default: true
        message:
          anyOf:
          - type: string
          - type: 'null'
          title: Message
      type: object
      required:
      - data
      title: ApiResponse[dict]
    SpeakerSearchResult:
      properties:
        id:
          type: string
          title: Id
        slug:
          type: string
          title: Slug
        name:
          type: string
          title: Name
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        companyName:
          anyOf:
          - type: string
          - type: 'null'
          title: Companyname
        headshot:
          anyOf:
          - type: string
          - type: 'null'
          title: Headshot
      type: object
      required:
      - id
      - slug
      - name
      title: SpeakerSearchResult
      description: Speaker search result for autocomplete.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your host API key. Create one from your host dashboard settings.
x-refined-from:
- developer.eventship.com.json
- eventship-com-openapi.json