Skip to main content
The Eventify REST API gives you programmatic access to the core data that powers the Eventify platform — events, categories, locations, and statuses. Every response is JSON, the majority of endpoints are publicly accessible without any credentials, and the API follows conventional HTTP semantics: GET to read, POST to create, PUT to update, and DELETE to remove. Whether you’re building an integration, a mobile client, or just exploring the data, this reference covers everything you need to get started quickly.

Base URL

All API endpoints are mounted under the /api path segment of your Eventify installation. Replace your-domain with your actual host:
For a standard local development setup using Laravel’s built-in server the base URL is:

Authentication

Most API endpoints are public and require no authentication. The single exception is GET /api/user, which is protected by Laravel Sanctum and returns the currently authenticated user’s profile. To call authenticated endpoints, include a Sanctum-issued bearer token in the Authorization header of your request:
All other resource endpoints — /api/event, /api/category, /api/locations, and /api/statuses — are unauthenticated. No token is needed to read or modify event and category data through the API.

Response Format

Every response from the Eventify API is Content-Type: application/json. The shape of a response depends on the action performed:

Error Response Examples

A 404 response looks like:
A 422 validation error from Laravel looks like:

Available Resources

Events

Full CRUD for events. List, retrieve, create, update, and delete event records, each with eager-loaded category, location, user, and status relations.

Categories

Full CRUD for event categories. Manage the classification labels that are attached to events across the platform.

Locations

Read-only listing of all location records, including street address, city, region, country, and geocoded latitude/longitude coordinates.

Statuses

Read-only listing of all event status records — Disponible, Agotado, and Finalizado — used to reflect an event’s current availability.
The table below summarises the available endpoints per resource at a glance:

Quick Start

The fastest way to verify the API is reachable is to list all events. No authentication header is required:
A successful response returns a JSON array of event objects (empty array [] if no events exist yet):
Pass the -s flag with curl to suppress progress output, and pipe through python3 -m json.tool (or jq) to pretty-print the JSON response in your terminal.