Skip to content

Calendar

The Event object represents an individual event in the EstatePrime's calendar system. This object is returned in JSON format, containing all available values for a event.

Object

The Event object represents an individual event in the EstatePrime's calendar system. Below are the fields included in a Event object:

Example

json
{
  "id": 1489,
  "full_day": false,
  "date_starting": "2025-01-20 10:00:00",
  "date_ending": "2025-01-20 11:00:00",
  "date_created": "2025-01-15 18:00:05",
  "created_by": 10,
  "status_id": 1,
  "category_id": 3,
  "contacts": [23, 45, 67],
  "users": [2, 5, 7],
  "title": "Team Meeting",
  "description": "Monthly update and strategy planning.",
  "is_public": false,
  "is_online": true,
  "tags": [12, 34],
  "remote_meeting": {
    "type": "Google Meet",
    "meeting_url": "https://meet.google.com/abc-defg-hij",
    "meeting_id": "1x0g1q8ppes9681fpjaiq85dh1"
  }
}
  • id (int): The system id of the event.
  • full_day (boolean): Indicates if the event is a full-day event.
  • date_starting (string): The date and time the event starts in YYYY-MM-DD HH:MM:SS format.
  • date_ending (string): The date and time the event ends in YYYY-MM-DD HH:MM:SS format.
  • date_created (string): The date and time the event was created in the format YYYY-MM-DD HH:MM:SS.
  • created_by (int): The user ID of the user who created the event.
  • status_id (int): The ID of the event status.
  • category_id (int): The ID of the event category.
  • contacts (array of integers): A list of contact IDs associated with the event.
  • users (array of integers): A list of user IDs associated with the event.
  • title (string): The event's title.
  • description (string): The event's description.
  • is_public (boolean): Indicates if the event is public.
  • is_online (boolean): Indicates if the event is remote.
  • tags (array of integers): A list of tag IDs associated with the event.
  • remote_meeting (object): Information about the remote meeting, or null if not applicable. The object includes:
    • type (string): The type of the remote meeting (Google Meet, Zoom, Other).
    • meeting_url (string): The url of the remote meeting.
    • meeting_id (string): The meeting_id in case it was automatically created.

Get events

/api/calendar (GET)

Fetch a list of events.

Request

  • Method: GET
  • Headers: Include authentication headers as described in the Authentication section.
  • Body: JSON object with the following parameters:
    • page (int): The page number to fetch. Defaults to 1.
    • date_starting (object): Filter by event's starting date range. Must include:
      • min (string): The minimum date in YYYY-MM-DD HH:MM:SS format, or null for no lower limit.
      • max (string): The maximum date in YYYY-MM-DD HH:MM:SS format, or null for no upper limit.

Example Body

json
{
  "page": 1,
  "date_starting": {
    "min": "2025-02-24 00:00:00",
    "max": null
  }
}

Response

  • 200 OK: Returns a JSON array of event objects.

Example Response

json
{
  "status": 200,
  "page": 1,
  "total_pages": 9,
  "results_per_page": 50,
  "total_results": 428,
  "data": [
	{
	  "id": 1489,
	  "full_day": false,
	  "date_starting": "2025-01-20 10:00:00",
	  "date_ending": "2025-01-20 11:00:00",
	  "date_created": "2025-01-15 18:00:05",
	  "created_by": 10,
	  "status_id": 1,
	  "category_id": 3,
	  "contacts": [23, 45, 67],
	  "users": [2, 5, 7],
	  "title": "Team Meeting",
	  "description": "Monthly update and strategy planning.",
	  "is_public": false,
	  "is_online": true,
	  "tags": [12, 34],
	  "remote_meeting": {
		"type": "Google Meet",
		"meeting_url": "https://meet.google.com/abc-defg-hij",
		"meeting_id": "1x0g1q8ppes9681fpjaiq85dh1"
	  }
	},
	//Rest of the data...
  ]
}

Get single event

/api/calendar/{id} (GET)

Get a single event by its id.

Request

  • Method: GET
  • Headers: Include authentication headers.
  • Path Params: The event id to be fetched.

Example Response

json
{
  "status": 200,
  "data": {
	"id": 1489,
	"full_day": false,
	"date_starting": "2025-01-20 10:00:00",
	"date_ending": "2025-01-20 11:00:00",
	"date_created": "2025-01-15 18:00:05",
	"created_by": 10,
	"status_id": 1,
	"category_id": 3,
	"contacts": [23, 45, 67],
	"users": [2, 5, 7],
	"title": "Team Meeting",
	"description": "Monthly update and strategy planning.",
	"is_public": false,
	"is_online": true,
	"tags": [12, 34],
	"remote_meeting": {
	  "type": "Google Meet",
	  "meeting_url": "https://meet.google.com/abc-defg-hij",
	  "meeting_id": "1x0g1q8ppes9681fpjaiq85dh1"
	}
  }
}

Response

  • 200 OK: Returns the JSON object of the event.

Create event

/api/calendar (POST)

Create a new event.

Request

  • Method: POST
  • Headers: Include authentication headers.
  • Body: JSON object with the event details to be inserted.

Example Body

json
{
  "full_day": true,
  "date_starting": "2025-01-20",
  "date_ending": "2025-01-21",
  "created_by": 10,
  "status_id": 1,
  "category_id": 3,
  "contacts": [23, 45, 67],
  "users": [2, 5, 7],
  "title": "Team Meeting",
  "description": "Monthly update and strategy planning.",
  "is_public": false,
  "is_online": true,
  "tags": [12, 34]
}

Response

  • 200 OK: Returns the created event ID.

Example Response

json
{
  "status": 200,
  "created_id": 789
}

Update event

/api/calendar/{id} (PATCH)

Edit an existing event.

Request

  • Method: POST
  • Headers: Include authentication headers.
  • Path Params: The event id to be edited.
  • Body: JSON object with the event details to be updated.

Example Body

json
{
  "status_id": 2,
  "tags": null
}

Response

  • 200 OK: Returns the new event object.

Example Response

json
{
  "status": 200,
  "data": {
	"id": 1489,
	"full_day": false,
	"date_starting": "2025-01-20 10:00:00",
	"date_ending": "2025-01-20 11:00:00",
	"date_created": "2025-01-15 18:00:05",
	"created_by": 10,
	"status_id": 2,
	"category_id": 3,
	"contacts": [23, 45, 67],
	"users": [2, 5, 7],
	"title": "Team Meeting",
	"description": "Monthly update and strategy planning.",
	"is_public": false,
	"is_online": true,
	"tags": [],
	"remote_meeting": {
	  "type": "Google Meet",
	  "meeting_url": "https://meet.google.com/abc-defg-hij",
	  "meeting_id": "1x0g1q8ppes9681fpjaiq85dh1"
	}
  }
}

Delete event

/api/calendar/{id} (DELETE)

Delete a contact from the system.

Request

  • Method: DELETE
  • Headers: Include authentication headers.
  • Path Params: The event id to be deleted.

Response

  • 200 OK: Returns a success message.

Example Response

json
{
  "status": 200,
  "deleted_id": 789
}

Get event categories

/api/calendar/categories (GET)

Fetch the available event categories.

Request

  • Method: GET
  • Headers: Include authentication headers.

Response

  • 200 OK: Returns a JSON array of available event categories.

Example Response

json
{
  "status": 200,
  "data": [
    {
	  "id": 1,
	  "name": "Property Viewing",
	},
	{
	  "id": 2,
	  "name": "Appointment with Homeowner",
	},
	{
	  "id": 3,
	  "name": "Team Meeting",
	},
	{
	  "id": 4,
	  "name": "Other",
	}
  ]
}

Get event statuses

/api/calendar/statuses (GET)

Fetch the available event statuses.

Request

  • Method: GET
  • Headers: Include authentication headers.

Response

  • 200 OK: Returns a JSON array of available event statuses.

Example Response

json
{
  "status": 200,
  "data": [
    {
	  "id": 1,
	  "name": "Upcoming",
	},
	{
	  "id": 2,
	  "name": "In progress",
	},
	{
	  "id": 3,
	  "name": "Completed",
	},
	{
	  "id": 4,
	  "name": "Cancelled",
	}
  ]
}

Get event tags

/api/calendar/tags (GET)

Fetch the available contact tags.

Request

  • Method: GET
  • Headers: Include authentication headers.

Response

  • 200 OK: Returns a JSON array of available event tags.

Example Response

json
{
  "status": 200,
  "data": [
    {
	  "id": 1,
	  "name": "VIP client",
	},
	{
	  "id": 2,
	  "name": "Lost",
	}
  ]
}

Get event custom fields

/api/calendar/custom-fields (GET)

Fetch the available custom fields for events.

Request

  • Method: GET
  • Headers: Include authentication headers.

Response

  • 200 OK: Returns a JSON array of available custom fields for events.

Example Response

json
{
  "status": 200,
  "data": [
    {
	  "id": 1,
	  "name": "Urgent Meeting",
	  "type": "checkbox"
	}
  ]
}

Available custom fields types

  • text: Text up to 255 characters.
  • textarea: Text up to 2500 characters.
  • wysiwyg: Text with html format.
  • number: Integer or decimal.
  • formatted_number: Integer or decimal that is formatted. Eg 1,000,000.25.
  • select: Single select with options.
  • select_multi: Multiple select with options.
  • checkbox: Boolean.
  • file: Single file. (As a URL)
  • file_multi: Array of multiple files. (As URLs)
  • image: Single image. (As a URL)
  • image_multi: Array of multiple images. (As URLs)
  • address: Address. (Eg Bellariastraße 6, 1010 Wien, Austria)
  • url: URL.
  • date: Date in YYYY-MM-DD format. (Eg 2025-10-18)
  • datetime: Date in YYYY-MM-DD HH:MM:SS format. (Eg 2025-10-18 18:24:10)
  • currency: Integer or decimal that is formatted like a currency. Eg 1,000,000.25€.
  • user: Application user_id.
  • user_multi: An array of application user_id.
  • contact: Another contact's id.
  • contact_multi: An array with multiple contact ids.

Last updated on May 9th, 2026.