Uncle Nearest Events API

The Events API from Uncle Nearest — 7 operation(s) for events.

OpenAPI Specification

uncle-nearest-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Uncle Nearest Events API
  version: 1.0.0
  description: 'Operations tagged Events across 2 of this provider''s published API definitions: uncle-nearest-events-calendar-v1-openapi.json, uncle-nearest-tec-v1-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://unclenearest.com/wp-json/tribe/events/v1/
- url: https://unclenearest.com/wp-json/tec/v1
tags:
- name: Events
paths:
  /events:
    servers:
    - url: https://unclenearest.com/wp-json/tribe/events/v1/
    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
  /events/{id}:
    servers:
    - url: https://unclenearest.com/wp-json/tribe/events/v1/
    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
  /events/by-slug/{slug}:
    servers:
    - url: https://unclenearest.com/wp-json/tribe/events/v1/
    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
  /organizers:
    servers:
    - url: https://unclenearest.com/wp-json/tec/v1
    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: 9
          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
  /organizers/{id}:
    servers:
    - url: https://unclenearest.com/wp-json/tec/v1
    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
  /venues:
    servers:
    - url: https://unclenearest.com/wp-json/tec/v1
    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: 9
          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
        example: 37.774929
      - name: geoloc_lng
        in: query
        description: The longitude o

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