Every API here is available over the APIs.io API and to AI agents over MCP.
{
"openapi": "3.0.0",
"info": {
"version": "1.0.0",
"title": "The Events Calendar REST API",
"description": "The Events Calendar REST API allows accessing upcoming events information easily and conveniently."
},
"components": {
"schemas": {
"ImageSize": {
"type": "object",
"properties": {
"width": {
"type": "integer",
"description": "The image width in pixels in the specified size"
},
"height": {
"type": "integer",
"description": "The image height in pixels in the specified size"
},
"mime-type": {
"type": "string",
"description": "The image mime-type"
},
"url": {
"type": "string",
"format": "uri",
"description": "The link to the image in the specified size on the site"
}
}
},
"CostDetails": {
"type": "object",
"properties": {
"currency_symbol": {
"type": "string",
"description": "The cost currency symbol"
},
"currency_position ": {
"type": "string",
"description": "The position of the currency symbol in the cost string",
"enum": [
"prefix",
"postfix"
]
},
"values": {
"type": "array",
"items": {
"type": "integer"
},
"description": "A sorted array of all the numeric values for the cost"
}
}
},
"Term": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The WordPress term ID"
},
"name": {
"type": "string",
"description": "The term name"
},
"slug": {
"type": "string",
"description": "The term slug"
},
"taxonomy": {
"type": "string",
"description": "The taxonomy the term belongs to"
},
"description": {
"type": "string",
"description": "The term description"
},
"parent": {
"type": "integer",
"description": "The term parent term if any"
},
"count": {
"type": "integer",
"description": "The number of posts associated with the term"
},
"url": {
"type": "string",
"description": "The URL to the term archive page"
},
"urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of links to the term own, archive and parent REST URL"
}
}
},
"Image": {
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The URL to the full size version of the image"
},
"id": {
"type": "integer",
"description": "The image WordPress post ID"
},
"extension": {
"type": "string",
"description": "The image file extension"
},
"width": {
"type": "integer",
"description": "The image natural width in pixels"
},
"height": {
"type": "integer",
"description": "The image natural height in pixels"
},
"sizes": {
"type": "array",
"description": "The details about each size available for the image",
"items": {
"$ref": "#/components/schemas/ImageSize"
}
}
}
},
"DateDetails": {
"type": "object",
"properties": {
"year": {
"type": "integer",
"description": "The date year"
},
"month": {
"type": "integer",
"description": "The date month"
},
"day": {
"type": "integer",
"description": "The date day"
},
"hour": {
"type": "integer",
"description": "The date hour"
},
"minutes": {
"type": "integer",
"description": "The date minutes"
},
"seconds": {
"type": "integer",
"description": "The date seconds"
}
}
},
"Event": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The event WordPress post ID"
},
"global_id": {
"type": "string",
"description": "The event ID used to globally identify in Event Aggregator"
},
"global_id_lineage": {
"type": "array",
"items": {
"type": "string"
},
"description": "An Array containing the lineage of where this event comes from, this should not change after the event is created."
},
"author": {
"type": "integer",
"description": "The event author WordPress post ID"
},
"date": {
"type": "string",
"description": "The event creation date in the site time zone"
},
"date_utc": {
"type": "string",
"description": "The event creation date in UTC time"
},
"modified": {
"type": "string",
"description": "The event last modification date in the site time zone"
},
"modified_utc": {
"type": "string",
"description": "The event last modification date in UTC time"
},
"status": {
"type": "string",
"description": "The event status"
},
"url": {
"type": "string",
"description": "The URL to the event page"
},
"rest_url": {
"type": "string",
"description": "The TEC REST API link to fetch this event"
},
"title": {
"type": "string",
"description": "The event name"
},
"description": {
"type": "string",
"description": "The event long description"
},
"excerpt": {
"type": "string",
"description": "The event short description"
},
"slug": {
"type": "string",
"description": "The event slug"
},
"image": {
"type": "object",
"description": "The event featured image details if set",
"$ref": "#/components/schemas/Image"
},
"all_day": {
"type": "boolean",
"description": "Whether or not this event is an all day Event"
},
"start_date": {
"type": "string",
"description": "The event start date in the event or site time zone"
},
"start_date_details": {
"type": "array",
"description": "An array of each component of the event start date",
"items": {
"$ref": "#/components/schemas/DateDetails"
}
},
"end_date": {
"type": "string",
"description": "The event end date in the event or site time zone"
},
"end_date_details": {
"type": "array",
"description": "An array of each component of the event end date",
"items": {
"$ref": "#/components/schemas/DateDetails"
}
},
"utc_start_date": {
"type": "string",
"description": "The event start date in UTC time"
},
"utc_start_date_details": {
"type": "array",
"description": "An array of each component of the event start date in UTC time",
"items": {
"$ref": "#/components/schemas/DateDetails"
}
},
"utc_end_date": {
"type": "string",
"description": "The event end date in UTC time"
},
"utc_end_date_details": {
"type": "array",
"description": "An array of each component of the event end date in UTC time",
"items": {
"$ref": "#/components/schemas/DateDetails"
}
},
"timezone": {
"type": "string",
"description": "The event time zone string"
},
"timezone_abbr": {
"type": "string",
"description": "The abbreviated event time zone string"
},
"cost": {
"type": "string",
"description": "The event cost including the currency symbol"
},
"cost_details": {
"type": "array",
"description": "The event cost details",
"items": {
"$ref": "#/components/schemas/CostDetails"
}
},
"website": {
"type": "string",
"description": "The event website URL"
},
"show_map": {
"type": "boolean",
"description": "Whether the map should be shown for the event or not"
},
"show_map_link": {
"type": "boolean",
"description": "Whether the map link should be shown for the event or not"
},
"hide_from_listings": {
"type": "boolean",
"description": "Whether an event should be hidden from the calendar view or not"
},
"sticky": {
"type": "boolean",
"description": "Whether an event is sticky in the calendar view or not"
},
"featured": {
"type": "boolean",
"description": "Whether the event is featured in the calendar or not"
},
"categories": {
"type": "array",
"description": "The event categories",
"items": {
"$ref": "#/components/schemas/Term"
}
},
"tags": {
"type": "array",
"description": "The event tags",
"items": {
"$ref": "#/components/schemas/Term"
}
},
"venue": {
"type": "object",
"description": "The event venue",
"$ref": "#/components/schemas/Venue"
},
"organizer": {
"type": "array",
"description": "The event organizers",
"items": {
"$ref": "#/components/schemas/Organizer"
}
}
}
},
"Venue": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The venue WordPress post ID"
},
"global_id": {
"type": "string",
"description": "The venue ID used to globally identify in Event Aggregator"
},
"global_id_lineage": {
"type": "array",
"items": {
"type": "string"
},
"description": "An Array containing the lineage of where this organizer comes from, this should not change after the organizer is created."
},
"author": {
"type": "integer",
"description": "The venue author WordPress post ID"
},
"date": {
"type": "string",
"description": "The venue creation date in the site time zone"
},
"date_utc": {
"type": "string",
"description": "The venue creation date in UTC time"
},
"modified": {
"type": "string",
"description": "The venue last modification date in the site time zone"
},
"modified_utc": {
"type": "string",
"description": "The venue last modification date in UTC time"
},
"status": {
"type": "string",
"description": "The venue status"
},
"url": {
"type": "string",
"description": "The URL to the venue page"
},
"venue": {
"type": "string",
"description": "The venue name"
},
"description": {
"type": "string",
"description": "The venue long description"
},
"excerpt": {
"type": "string",
"description": "The venue short description"
},
"slug": {
"type": "string",
"description": "The venue slug"
},
"image": {
"type": "string",
"description": "The event featured image details if set",
"$ref": "#/components/schemas/Image"
},
"show_map": {
"type": "boolean",
"description": "Whether the map should be shown for the venue or not"
},
"show_map_link": {
"type": "boolean",
"description": "Whether the map link should be shown for the venue or not"
},
"address": {
"type": "string",
"description": "The venue address"
},
"city": {
"type": "string",
"description": "The venue city"
},
"country": {
"type": "string",
"description": "The venue country"
},
"province": {
"type": "string",
"description": "The venue province"
},
"state": {
"type": "string",
"description": "The venue state"
},
"zip": {
"type": "string",
"description": "The venue ZIP code"
},
"phone": {
"type": "string",
"description": "The venue phone number"
},
"website": {
"type": "string",
"description": "The venue website URL"
},
"stateprovince": {
"type": "string",
"description": "The venue state or province"
},
"geo_lat": {
"type": "number",
"format": "double",
"description": "The venue geo latitude"
},
"geo_lng": {
"type": "number",
"format": "double",
"description": "The venue geo longitude"
}
}
},
"Organizer": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The organizer WordPress post ID"
},
"global_id": {
"type": "string",
"description": "The organizer ID used to globally identify in Event Aggregator"
},
"global_id_lineage": {
"type": "array",
"items": {
"type": "string"
},
"description": "An Array containing the lineage of where this organizer comes from, this should not change after the organizer is created."
},
"author": {
"type": "integer",
"description": "The organizer author WordPress post ID"
},
"date": {
"type": "string",
"description": "The organizer creation date in the site time zone"
},
"date_utc": {
"type": "string",
"description": "The organizer creation date in UTC time"
},
"modified": {
"type": "string",
"description": "The organizer last modification date in the site time zone"
},
"modified_utc": {
"type": "string",
"description": "The organizer last modification date in UTC time"
},
"status": {
"type": "string",
"description": "The organizer status"
},
"url": {
"type": "string",
"description": "The URL to the organizer page"
},
"organizer": {
"type": "string",
"description": "The organizer name"
},
"description": {
"type": "string",
"description": "The organizer long description"
},
"excerpt": {
"type": "string",
"description": "The organizer short description"
},
"slug": {
"type": "string",
"description": "The organizer slug"
},
"image": {
"type": "string",
"description": "The event featured image details if set",
"$ref": "#/components/schemas/Image"
},
"phone": {
"type": "string",
"description": "The organizer phone number"
},
"website": {
"type": "string",
"description": "The organizer website"
},
"email": {
"type": "string",
"description": "The organizer email address"
}
}
}
}
},
"servers": [
{
"url": "https://www.employinc.com/wp-json/tribe/events/v1/"
}
],
"paths": {
"/doc": {
"get": {
"responses": {
"200": {
"description": "Returns the documentation for The Events Calendar REST API in Swagger consumable format."
}
}
}
},
"/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."
}
}
}
},
"/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."
}
}
},
"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"
}
}
},
"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,
# --- truncated at 32 KB (82 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/employ-inc/refs/heads/main/openapi/employ-inc-events-calendar-rest-api-openapi.json