EventSearchItem

CompanyCraftingEventEvent DiscoveryDirectoryQuiltingKnittingMCP

Properties

Name Type Description
id string
slug string
title string
description stringnull
summary stringnull
start_date string
end_date stringnull
start_time stringnull
end_time stringnull
timezone stringnull
city string
state string
venue stringnull
location_kind string venue, online, hybrid (one place and online at once) or multi (several places)
street_address stringnull
postal_code stringnull
signup_note stringnull
craft_types array
event_type stringnull
tags array
url stringnull
source_url stringnull
organizer_name stringnull
lat numbernull
lng numbernull
price_note stringnull
is_free booleannull
published_at stringnull
languages array The languages it is held in, as BCP 47 codes (en, es); empty when unknown
hosted_by stringnull The group or shop hosting an online or hybrid event, when given
hasJoinDetails boolean An online or hybrid event with join details (link, meeting ID, passcode or dial-in); get them from GET /api/events/{slug}/join
joinPlatform stringnull The online meeting platform, for online events
contactName stringnull The organizer's contact person
hasContactDetails boolean A contact email or phone exists; get them from GET /api/events/{slug}/contact
isNew boolean Published within the last 7 days
updatedRecently boolean Its date, time, place or price changed within the last 7 days
changedFields array What changed (date, time, place, price); empty unless updatedRecently
contentChangedAt stringnull When its date, time, place or price last changed; null if never
cancelled boolean A cancelled event (only GET /api/events/{slug} returns one, until its dates pass); lists never include it
scheduleChange stringnull postponed (new date to come), rescheduled or moved_online; null when it runs as listed
previousStartDate stringnull The start date a rescheduled event had before (YYYY-MM-DD); null otherwise
images array The organizer's pictures in order, at most 6; the first is the cover. Empty when there are none
next_start string
next_end string
occurrence_count integer
distance_miles numbernull
recurrence_label stringnull
featured boolean
View JSON Schema on GitHub

JSON Schema

craftingeventfinder-com-event-search-item-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/craftingeventfinder-com/json-schema/craftingeventfinder-com-event-search-item-schema.json",
  "title": "EventSearchItem",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/craftingeventfinder-com-events-api-openapi.yml#/components/schemas/EventSearchItem",
  "allOf": [
    {
      "$ref": "#/$defs/Event"
    },
    {
      "type": "object",
      "properties": {
        "next_start": {
          "type": "string"
        },
        "next_end": {
          "type": "string"
        },
        "occurrence_count": {
          "type": "integer"
        },
        "distance_miles": {
          "type": [
            "number",
            "null"
          ]
        },
        "recurrence_label": {
          "type": [
            "string",
            "null"
          ]
        },
        "featured": {
          "type": "boolean"
        }
      },
      "required": [
        "next_start",
        "next_end",
        "occurrence_count",
        "distance_miles",
        "recurrence_label",
        "featured"
      ]
    }
  ],
  "$defs": {
    "Event": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        },
        "summary": {
          "type": [
            "string",
            "null"
          ]
        },
        "start_date": {
          "type": "string"
        },
        "end_date": {
          "type": [
            "string",
            "null"
          ]
        },
        "start_time": {
          "type": [
            "string",
            "null"
          ]
        },
        "end_time": {
          "type": [
            "string",
            "null"
          ]
        },
        "timezone": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "venue": {
          "type": [
            "string",
            "null"
          ]
        },
        "location_kind": {
          "type": "string",
          "enum": [
            "venue",
            "online",
            "hybrid",
            "multi"
          ],
          "description": "venue, online, hybrid (one place and online at once) or multi (several places)"
        },
        "street_address": {
          "type": [
            "string",
            "null"
          ]
        },
        "postal_code": {
          "type": [
            "string",
            "null"
          ]
        },
        "signup_note": {
          "type": [
            "string",
            "null"
          ]
        },
        "craft_types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "event_type": {
          "type": [
            "string",
            "null"
          ]
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "url": {
          "type": [
            "string",
            "null"
          ]
        },
        "source_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "organizer_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "lat": {
          "type": [
            "number",
            "null"
          ]
        },
        "lng": {
          "type": [
            "number",
            "null"
          ]
        },
        "price_note": {
          "type": [
            "string",
            "null"
          ]
        },
        "is_free": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "published_at": {
          "type": [
            "string",
            "null"
          ]
        },
        "languages": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The languages it is held in, as BCP 47 codes (en, es); empty when unknown"
        },
        "hosted_by": {
          "type": [
            "string",
            "null"
          ],
          "description": "The group or shop hosting an online or hybrid event, when given"
        },
        "hasJoinDetails": {
          "type": "boolean",
          "description": "An online or hybrid event with join details (link, meeting ID, passcode or dial-in); get them from GET /api/events/{slug}/join"
        },
        "joinPlatform": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "zoom",
            "meet",
            "teams",
            "webex",
            "facebook",
            "youtube",
            "other",
            null
          ],
          "description": "The online meeting platform, for online events"
        },
        "contactName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The organizer's contact person"
        },
        "hasContactDetails": {
          "type": "boolean",
          "description": "A contact email or phone exists; get them from GET /api/events/{slug}/contact"
        },
        "isNew": {
          "type": "boolean",
          "description": "Published within the last 7 days"
        },
        "updatedRecently": {
          "type": "boolean",
          "description": "Its date, time, place or price changed within the last 7 days"
        },
        "changedFields": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "date",
              "time",
              "place",
              "price"
            ]
          },
          "description": "What changed (date, time, place, price); empty unless updatedRecently"
        },
        "contentChangedAt": {
          "type": [
            "string",
            "null"
          ],
          "description": "When its date, time, place or price last changed; null if never"
        },
        "cancelled": {
          "type": "boolean",
          "description": "A cancelled event (only GET /api/events/{slug} returns one, until its dates pass); lists never include it"
        },
        "scheduleChange": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "postponed",
            "rescheduled",
            "moved_online",
            null
          ],
          "description": "postponed (new date to come), rescheduled or moved_online; null when it runs as listed"
        },
        "previousStartDate": {
          "type": [
            "string",
            "null"
          ],
          "description": "The start date a rescheduled event had before (YYYY-MM-DD); null otherwise"
        },
        "images": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PublicEventImage"
          },
          "description": "The organizer's pictures in order, at most 6; the first is the cover. Empty when there are none"
        }
      },
      "required": [
        "id",
        "slug",
        "title",
        "description",
        "summary",
        "start_date",
        "end_date",
        "start_time",
        "end_time",
        "timezone",
        "city",
        "state",
        "venue",
        "location_kind",
        "street_address",
        "postal_code",
        "signup_note",
        "craft_types",
        "event_type",
        "tags",
        "url",
        "source_url",
        "organizer_name",
        "lat",
        "lng",
        "price_note",
        "is_free",
        "published_at",
        "languages",
        "hosted_by",
        "hasJoinDetails",
        "joinPlatform",
        "contactName",
        "hasContactDetails",
        "isNew",
        "updatedRecently",
        "changedFields",
        "contentChangedAt",
        "cancelled",
        "scheduleChange",
        "previousStartDate",
        "images"
      ]
    },
    "PublicEventImage": {
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "The picture at most 1600px wide (WebP)"
        },
        "cardUrl": {
          "type": "string",
          "description": "The picture at most 600px wide (WebP), for cards"
        },
        "alt": {
          "type": "string",
          "description": "The description read to people who can't see the picture"
        },
        "width": {
          "type": "integer"
        },
        "height": {
          "type": "integer"
        },
        "focusX": {
          "type": "number",
          "description": "The focus point across, 0 (left) to 1 (right), kept in view when the picture is cropped"
        },
        "focusY": {
          "type": "number",
          "description": "The focus point down, 0 (top) to 1 (bottom)"
        }
      },
      "required": [
        "url",
        "cardUrl",
        "alt",
        "width",
        "height",
        "focusX",
        "focusY"
      ]
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/craftingeventfinder-com-event-search-item"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.