Impossible Metals Events API

The Events API from Impossible Metals — 7 operation(s) for events.

Operations 19

GET /events
POST /events Create an Event #
GET /events/{id}
POST /events/{id}
DELETE /events/{id}
PUT /events/{id} Update an Event #
GET /events/by-slug/{slug}
POST /events/by-slug/{slug}
DELETE /events/by-slug/{slug}
GET /organizers Get organizers #
POST /organizers Create an Organizer #
GET /organizers/{id} Retrieve an Organizer #
PUT /organizers/{id} Update an Organizer #
DELETE /organizers/{id} Delete an Organizer #
GET /venues Get venues #
POST /venues Create a Venue #
GET /venues/{id} Retrieve a Venue #
PUT /venues/{id} Update a Venue #
DELETE /venues/{id} Delete a Venue #

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/impossible-metals-events-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

impossible-metals-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Impossible Metals Events API
  version: 1.0.0
  x-refined-note:
  - x-api-evangelist-note differs across the merged source definitions and was not carried
  x-captured-on: '2026-08-23'
  description: 'Operations tagged Events across 2 of this provider''s published API definitions: impossible-metals-events-openapi.yml, impossible-metals-events-tec-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://impossiblemetals.com/wp-json/tribe/events/v1/
- url: https://impossiblemetals.com/wp-json/tec/v1
tags:
- name: Events
paths:
  /events:
    get:
      parameters:
      - in: query
        schema:
          type: integer
        description: The archive page to return
        required: false
        name: page
      - in: query
        schema:
          type: integer
        description: The number of events to return on each page
        required: false
        name: per_page
      - in: query
        schema:
          type: string
        description: Events that start on the specified date
        required: false
        name: start_date
      - in: query
        schema:
          type: string
        description: Events that end on the specified date
        required: false
        name: end_date
      - in: query
        schema:
          type: string
        description: Events that start before the specified date
        required: false
        name: starts_before
      - in: query
        schema:
          type: string
        description: Events that start after the specified date
        required: false
        name: starts_after
      - in: query
        schema:
          type: string
        description: Events that end before the specified date
        required: false
        name: ends_before
      - in: query
        schema:
          type: string
        description: Events that end after the specified date
        required: false
        name: ends_after
      - in: query
        schema:
          type: string
        description: Dates set using the start_date/end_date, starts_*/ends_* are set to start at the specified times. The default behavior is to include the entire days.
        required: false
        name: strict_dates
      - in: query
        schema:
          type: string
        description: Events should contain the specified string in the title or description
        required: false
        name: search
      - in: query
        schema:
          type: array
          items:
            type: integer
        description: Events should be assigned one of the specified categories slugs or IDs
        required: false
        name: categories
        style: form
      - in: query
        schema:
          type: array
          items:
            type: integer
        description: Events should be assigned one of the specified tags slugs or IDs
        required: false
        name: tags
        style: form
      - in: query
        schema:
          type: array
          items:
            type: integer
        description: Events should be assigned one of the specified venue IDs
        required: false
        name: venue
        style: form
      - in: query
        schema:
          type: array
          items:
            type: integer
        description: Events should be assigned one of the specified organizer IDs
        required: false
        name: organizer
        style: form
      - in: query
        schema:
          type: boolean
        description: Events should be filtered by their featured status
        required: false
        name: featured
      - in: query
        schema:
          type: string
        description: The event post status
        required: false
        name: status
      - in: query
        schema:
          type: boolean
        description: Requires Events Calendar Pro. Events should be filtered by whether their venue has geolocation data
        required: false
        name: geoloc
      - in: query
        schema:
          type: number
        description: Requires Events Calendar Pro. Events should be filtered by their venue latitude location, must also provide geoloc_lng
        required: false
        name: geoloc_lat
      - in: query
        schema:
          type: number
        description: Requires Events Calendar Pro. Events should be filtered by their venue longitude location, must also provide geoloc_lat
        required: false
        name: geoloc_lng
      - in: query
        schema:
          type: array
          items:
            type: integer
        description: Include events with one of the post IDs specified in the array of CSV list, date filters will be ignored.
        required: false
        name: include
        style: form
      - in: query
        schema:
          type: integer
        description: Events should be filtered by their post_parent being the specified one.
        required: false
        name: post_parent
      - in: query
        schema:
          type: boolean
        description: Filter events with or without tickets.
        required: false
        name: ticketed
      responses:
        '200':
          description: Returns all the upcoming events matching the search criteria
          content:
            application/json:
              schema:
                title: events
                type: array
                items:
                  $ref: '#/components/schemas/Event'
        '400':
          description: One or more of the specified query variables has a bad format
        '404':
          description: The requested page was not found.
      tags:
      - Events
    post:
      summary: Create an Event
      security:
      - BasicAuth: []
      description: Creates a new event
      operationId: createEvent
      tags:
      - Events
      requestBody:
        description: The event data to create.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event_Request_Body'
            example:
              date: '2025-06-04T23:36:56+01:00'
              date_gmt: '2025-06-04T22:36:56Z'
              slug: my-awesome-title
              status: publish
              title: My Awesome Title
              content: This is the content...
              excerpt: This is the excerpt...
              author: 1
              featured_media: 123
              comment_status: open
              ping_status: open
              format: standard
              sticky: false
              template: templates-full.php
              tags:
              - 2
              - 8
              - 15
              tribe_events_cat:
              - 1
              - 5
              - 12
              start_date: '2025-06-05 12:00:00'
              start_date_utc: '2025-06-05 09:00:00'
              end_date: '2025-06-05 16:00:00'
              end_date_utc: '2025-06-05 13:00:00'
              timezone: Europe/Athens
              duration: 14400
              all_day: false
              featured: false
              cost: $10
              organizers:
              - 1
              - 2
              venues:
              - 7
              virtual: false
              lat: 37.774929
              lng: -122.419416
      parameters: []
      responses:
        '201':
          description: Event created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event_2'
        '400':
          description: Invalid request data
        '401':
          description: You are not logged in
        '403':
          description: You do not have permission to create events
        '500':
          description: Failed to create the event
    servers:
    - url: https://impossiblemetals.com/wp-json/tribe/events/v1/
  /events/{id}:
    get:
      parameters:
      - in: path
        schema:
          type: integer
        description: the event post ID
        required: true
        name: id
      - in: path
        schema:
          type: string
        description: The event password
        required: false
        name: password
      responses:
        '200':
          description: Returns the data of the event with the specified post ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '400':
          description: The event post ID is missing.
        '403':
          description: The event with the specified ID is not accessible.
        '404':
          description: An event with the specified ID does not exist.
      tags:
      - Events
    post:
      parameters:
      - in: path
        schema:
          type: integer
        description: the event post ID
        required: true
        name: id
      - in: path
        schema:
          type: string
        description: The event password
        required: false
        name: password
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                author:
                  description: The event author ID
                  type: integer
                date:
                  description: The event publication date
                  type: string
                date_utc:
                  description: The event publication date (UTC time zone)
                  type: string
                title:
                  description: The event title
                  type: string
                description:
                  description: The event description
                  type: string
                slug:
                  description: The event slug
                  type: string
                excerpt:
                  description: The event excerpt
                  type: string
                status:
                  description: The event post status
                  type: string
                timezone:
                  description: The event time zone
                  type: string
                all_day:
                  description: Whether the event lasts the whole day or not
                  type: boolean
                start_date:
                  description: The event start date and time
                  type: string
                end_date:
                  description: The event end date and time
                  type: string
                image:
                  description: The event featured image ID or URL
                  type: string
                cost:
                  description: The event cost
                  type: string
                website:
                  description: The event website URL
                  type: string
                show_map:
                  description: Whether the event should show a map or not
                  type: boolean
                show_map_link:
                  description: Whether the event should show a map link or not
                  type: boolean
                hide_from_listings:
                  description: Whether events should be hidden in the calendar view or not
                  type: boolean
                sticky:
                  description: Whether the event should be sticky in the calendar view or not
                  type: boolean
                featured:
                  description: Whether the event should be featured on the site or not
                  type: boolean
                categories:
                  description: The event category ID or name
                  type: array
                  items:
                    type: integer
                tags:
                  description: The event tag ID or name
                  type: array
                  items:
                    type: integer
                venue:
                  description: The event venue IDs or data
                  type: array
                  items:
                    type: integer
                organizer:
                  description: The event organizer IDs or data
                  type: array
                  items:
                    type: integer
      responses:
        '200':
          description: Returns the data of the updated event
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '201':
          description: Returns the data of the created event
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '400':
          description: A required parameter is missing or an input parameter is in the wrong format
        '403':
          description: The user is not authorized to create events
      tags:
      - Events
    delete:
      parameters:
      - in: path
        schema:
          type: integer
        description: the event post ID
        required: true
        name: id
      - in: path
        schema:
          type: string
        description: The event password
        required: false
        name: password
      responses:
        '200':
          description: Deletes an event and returns its data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '400':
          description: The event post ID is missing or does not exist.
        '403':
          description: The current user cannot delete the event with the specified ID.
        '410':
          description: The event with the specified ID has been deleted already.
        '500':
          description: The event with the specified ID could not be deleted.
      tags:
      - Events
    put:
      summary: Update an Event
      security:
      - BasicAuth: []
      description: Updates an existing event
      operationId: updateEvent
      tags:
      - Events
      requestBody:
        description: The event data to update.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Event_Request_Body'
            example:
              date: '2025-06-04T23:36:56+01:00'
              date_gmt: '2025-06-04T22:36:56Z'
              slug: my-awesome-title
              status: publish
              title: My Awesome Title
              content: This is the content...
              excerpt: This is the excerpt...
              author: 1
              featured_media: 123
              comment_status: open
              ping_status: open
              format: standard
              sticky: false
              template: templates-full.php
              tags:
              - 2
              - 8
              - 15
              tribe_events_cat:
              - 1
              - 5
              - 12
              start_date: '2025-06-05 12:00:00'
              start_date_utc: '2025-06-05 09:00:00'
              end_date: '2025-06-05 16:00:00'
              end_date_utc: '2025-06-05 13:00:00'
              timezone: Europe/Athens
              duration: 14400
              all_day: false
              featured: false
              cost: $10
              organizers:
              - 1
              - 2
              venues:
              - 7
              virtual: false
              lat: 37.774929
              lng: -122.419416
      parameters:
      - name: id
        in: path
        description: Unique identifier for the event.
        required: true
        schema:
          type: integer
        example: 126
      responses:
        '200':
          description: Event updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event_2'
        '400':
          description: Invalid request data
        '401':
          description: You are not logged in
        '403':
          description: You do not have permission to update this event
        '404':
          description: The requested event was not found
        '500':
          description: Failed to update the event
    servers:
    - url: https://impossiblemetals.com/wp-json/tribe/events/v1/
  /events/by-slug/{slug}:
    get:
      parameters:
      - in: path
        schema:
          type: string
        description: the event post name
        required: true
        name: slug
      responses:
        '200':
          description: Returns the data of the event with the specified post ID
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '400':
          description: The event post ID is missing.
        '403':
          description: The event with the specified ID is not accessible.
        '404':
          description: An event with the specified ID does not exist.
      tags:
      - Events
    post:
      parameters:
      - in: path
        schema:
          type: string
        description: the event post name
        required: true
        name: slug
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                author:
                  description: The event author ID
                  type: integer
                date:
                  description: The event publication date
                  type: string
                date_utc:
                  description: The event publication date (UTC time zone)
                  type: string
                title:
                  description: The event title
                  type: string
                description:
                  description: The event description
                  type: string
                slug:
                  description: The event slug
                  type: string
                excerpt:
                  description: The event excerpt
                  type: string
                status:
                  description: The event post status
                  type: string
                timezone:
                  description: The event time zone
                  type: string
                all_day:
                  description: Whether the event lasts the whole day or not
                  type: boolean
                start_date:
                  description: The event start date and time
                  type: string
                end_date:
                  description: The event end date and time
                  type: string
                image:
                  description: The event featured image ID or URL
                  type: string
                cost:
                  description: The event cost
                  type: string
                website:
                  description: The event website URL
                  type: string
                show_map:
                  description: Whether the event should show a map or not
                  type: boolean
                show_map_link:
                  description: Whether the event should show a map link or not
                  type: boolean
                hide_from_listings:
                  description: Whether events should be hidden in the calendar view or not
                  type: boolean
                sticky:
                  description: Whether the event should be sticky in the calendar view or not
                  type: boolean
                featured:
                  description: Whether the event should be featured on the site or not
                  type: boolean
                categories:
                  description: The event category ID or name
                  type: array
                  items:
                    type: integer
                tags:
                  description: The event tag ID or name
                  type: array
                  items:
                    type: integer
                venue:
                  description: The event venue IDs or data
                  type: array
                  items:
                    type: integer
                organizer:
                  description: The event organizer IDs or data
                  type: array
                  items:
                    type: integer
      responses:
        '200':
          description: Returns the data of the updated event
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '201':
          description: Returns the data of the created event
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '400':
          description: A required parameter is missing or an input parameter is in the wrong format
        '403':
          description: The user is not authorized to create events
      tags:
      - Events
    delete:
      parameters:
      - in: path
        schema:
          type: string
        description: the event post name
        required: true
        name: slug
      responses:
        '200':
          description: Deletes an event and returns its data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        '400':
          description: The event post ID is missing or does not exist.
        '403':
          description: The current user cannot delete the event with the specified ID.
        '410':
          description: The event with the specified ID has been deleted already.
        '500':
          description: The event with the specified ID could not be deleted.
      tags:
      - Events
    servers:
    - url: https://impossiblemetals.com/wp-json/tribe/events/v1/
  /organizers:
    get:
      summary: Get organizers
      security: []
      description: Returns a list of organizers
      operationId: getOrganizers
      tags:
      - Events
      parameters:
      - name: page
        in: query
        description: The collection page number.
        required: false
        schema:
          type: integer
          default: 1
          minimum: 1
        example: 1
      - name: per_page
        in: query
        description: Maximum number of items to be returned in result set.
        required: false
        schema:
          type: integer
          default: 10
          maximum: 100
          minimum: 1
        example: 51
      - name: search
        in: query
        description: Limit results to those matching a string.
        required: false
        schema:
          type: string
        example: Example
      - name: event
        in: query
        description: Limit result set to organizers with specific event.
        required: false
        schema:
          type: integer
        example: 126
      - name: has_events
        in: query
        description: Limit result set to organizers with events.
        required: false
        schema:
          type: boolean
        example: true
      - name: only_with_upcoming
        in: query
        description: Limit result set to organizers with upcoming events.
        required: false
        schema:
          type: boolean
        example: true
      - name: status
        in: query
        description: Limit result set to organizers with specific status.
        required: false
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - publish
            - pending
            - draft
            - future
            - private
          default:
          - publish
          uniqueItems: true
        example:
        - publish
      responses:
        '200':
          description: Returns the list of organizers
          headers:
            X-WP-Total:
              description: The total number of organizers matching the request.
              required: true
              schema:
                type: integer
            X-WP-TotalPages:
              description: The total number of pages for the request.
              required: true
              schema:
                type: integer
            Link:
              description: "RFC 5988 Link header for pagination. Contains navigation links with relationships:\n\t\t\t\t`rel=\"next\"` for the next page (if not on last page),\n\t\t\t\t`rel=\"prev\"` for the previous page (if not on first page).\n\t\t\t\tHeader is omitted entirely if there's only one page"
              required: false
              schema:
                type: array
                items:
                  type: string
                  format: uri
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Organizer_2'
        '400':
          description: A required parameter is missing or an input parameter is in the wrong format
        '404':
          description: The requested page was not found
    post:
      summary: Create an Organizer
      security:
      - BasicAuth: []
      description: Creates a new organizer
      operationId: createOrganizer
      tags:
      - Events
      requestBody:
        description: The organizer data to create.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Organizer_Request_Body'
            example:
              date: '2025-06-04T23:36:56+01:00'
              date_gmt: '2025-06-04T22:36:56Z'
              slug: my-awesome-title
              status: publish
              title: My Awesome Title
              content: This is the content...
              excerpt: This is the excerpt...
              author: 1
              featured_media: 123
              comment_status: open
              ping_status: open
              format: standard
              sticky: false
              template: templates-full.php
              tags:
              - 2
              - 8
              - 15
              phone: 123-456-7890
              website: https://example.com
              email: example@theeventscalendar.com
      parameters: []
      responses:
        '201':
          description: Organizer created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organizer_2'
        '400':
          description: Invalid request data
        '401':
          description: You are not logged in
        '403':
          description: You do not have permission to create organizers
        '500':
          description: Failed to create the organizer
    servers:
    - url: https://impossiblemetals.com/wp-json/tec/v1
  /organizers/{id}:
    get:
      summary: Retrieve an Organizer
      security: []
      description: Returns a single organizer
      operationId: getOrganizer
      tags:
      - Events
      parameters:
      - name: id
        in: path
        description: Unique identifier for the organizer.
        required: true
        schema:
          type: integer
        example: 126
      responses:
        '200':
          description: Returns the organizer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organizer_2'
        '404':
          description: The requested organizer was not found
    put:
      summary: Update an Organizer
      security:
      - BasicAuth: []
      description: Updates an existing organizer
      operationId: updateOrganizer
      tags:
      - Events
      requestBody:
        description: The organizer data to update.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Organizer_Request_Body'
            example:
              date: '2025-06-04T23:36:56+01:00'
              date_gmt: '2025-06-04T22:36:56Z'
              slug: my-awesome-title
              status: publish
              title: My Awesome Title
              content: This is the content...
              excerpt: This is the excerpt...
              author: 1
              featured_media: 123
              comment_status: open
              ping_status: open
              format: standard
              sticky: false
              template: templates-full.php
              tags:
              - 2
              - 8
              - 15
              phone: 123-456-7890
              website: https://example.com
              email: example@theeventscalendar.com
      parameters:
      - name: id
        in: path
        description: Unique identifier for the organizer.
        required: true
        schema:
          type: integer
        example: 126
      responses:
        '200':
          description: Organizer updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organizer_2'
        '400':
          description: Invalid request data
        '401':
          description: You are not logged in
        '403':
          description: You do not have permission to update this organizer
        '404':
          description: The requested organizer was not found
        '500':
          description: Failed to update the organizer
    delete:
      summary: Delete an Organizer
      security:
      - BasicAuth: []
      description: Deletes an existing organizer
      operationId: deleteOrganizer
      tags:
      - Events
      parameters:
      - name: id
        in: path
        description: Unique identifier for the organizer.
        required: true
        schema:
          type: integer
        example: 126
      - name: force
        in: query
        description: Whether to bypass Trash and force deletion.
        required: false
        schema:
          type: boolean
          default: false
        example: true
      responses:
        '200':
          description: Organizer deleted successfully
        '401':
          description: You are not logged in
        '403':
          description: You do not have permission to delete this organizer
        '404':
          description: The requested organizer was not found
        '410':
          description: The organizer has already been trashed
        '500':
          description: Failed to delete the organizer
        '501':
          description: The organizer does not support trashing. Set force=true to delete
    servers:
    - url: https://impossiblemetals.com/wp-json/tec/v1
  /venues:
    get:
      summary: Get venues
      security: []
      description: Returns a list of venues
      operationId: getVenues
      tags:
      - Events
      parameters:
      - name: page
        in: query
        description: The collection page number.
        required: false
        schema:
          type: integer
          default: 1
          minimum: 1
        example: 1
      - name: per_page
        in: query
        description: Maximum number of items to be returned in result set.
        required: false
        schema:
          type: integer
          default: 10
          maximum: 100
          minimum: 1
        example: 51
      - name: search
        in: query
        description: Limit results to those matching a string.
        required: false
        schema:
          type: string
        example: Example
      - name: event
        in: query
        description: Limit result set to venues with specific event.
        required: false
        schema:
          type: integer
        example: 126
      - name: has_events
        in: query
        description: Limit result set to venues with events.
        required: false
        schema:
          type: boolean
        example: true
      - name: only_with_upcoming
        in: query
        description: Limit result set to venues with upcoming events.
        required: false
        schema:
          type: boolean
        example: true
      - name: status
        in: query
        description: Limit result set to venues with specific status.
        required: false
        explode: false
        schema:
          type: array
          items:
            type: string
            enum:
            - publish
            - pending
            - draft
            - future
            - private
          default:
          - publish
          uniqueItems: true
        example:
        - publish
      - name: geoloc_lat
        in: query
        description: The latitude of the venue
        required: false
        schema:
          type: number

# --- truncated at 32 KB (75 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/impossible-metals/refs/heads/main/openapi/impossible-metals-events-api-openapi.yml