HydraCore
API by router

Google calendar

Generate a Google Calendar deep link URL for one-tap add.

This does NOT use the Calendar API — it generates a URL that anyone can click to add the event to their personal calendar. Zero friction for workers (Dave taps the link → event in his phone). Auth: Bearer proxy key.

POST
/internal/v1/instances/{instance_id}/calendar/deeplink

Path Parameters

instance_idInstance Id
Formatuuid
attendees?Attendees

Email addresses of attendees

calendar_id?Calendar Id

Calendar ID (default: primary)

Default"primary"
description?Description

Event description/notes

end_timeEnd Time

Event end (ISO 8601)

Formatdate-time
location?Location
start_timeStart Time

Event start (ISO 8601)

Formatdate-time
summarySummary

Event title

Lengthlength <= 500

Response Body

curl -X POST "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/calendar/deeplink" \  -H "Content-Type: application/json" \  -d '{    "end_time": "2019-08-24T14:15:22Z",    "start_time": "2019-08-24T14:15:22Z",    "summary": "string"  }'
{
  "ics_url": "string",
  "url": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

List Calendar Events

List calendar events. Auth: Bearer proxy key.

GET
/internal/v1/instances/{instance_id}/calendar/events

Path Parameters

instance_idInstance Id
Formatuuid

Query Parameters

calendar_id?Calendar Id
Default"primary"
connection_name?Connection Name

Specific calendar connection name (for multi-calendar)

time_min?Time Min

Start of time range (default: now)

time_max?Time Max

End of time range (default: now + 7 days)

max_results?Max Results
Default20
Range1 <= value <= 100

Response Body

curl -X GET "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/calendar/events?calendar_id=primary&connection_name=string&time_min=2019-08-24T14%3A15%3A22Z&time_max=2019-08-24T14%3A15%3A22Z&max_results=20"
{
  "count": 0,
  "events": [
    {
      "end": "string",
      "html_link": "string",
      "id": "string",
      "location": "string",
      "start": "string",
      "status": "string",
      "summary": "string"
    }
  ]
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Create Calendar Event

Create a calendar event. Auth: Bearer proxy key. Requires write_events capability.

POST
/internal/v1/instances/{instance_id}/calendar/events

Path Parameters

instance_idInstance Id
Formatuuid

Query Parameters

connection_name?Connection Name
attendees?Attendees

Email addresses of attendees

calendar_id?Calendar Id

Calendar ID (default: primary)

Default"primary"
description?Description

Event description/notes

end_timeEnd Time

Event end (ISO 8601)

Formatdate-time
location?Location
start_timeStart Time

Event start (ISO 8601)

Formatdate-time
summarySummary

Event title

Lengthlength <= 500

Response Body

curl -X POST "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/calendar/events?connection_name=string" \  -H "Content-Type: application/json" \  -d '{    "end_time": "2019-08-24T14:15:22Z",    "start_time": "2019-08-24T14:15:22Z",    "summary": "string"  }'
{
  "end": "string",
  "html_link": "string",
  "id": "string",
  "location": "string",
  "start": "string",
  "status": "string",
  "summary": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Check Freebusy

Check free/busy status. Auth: Bearer proxy key. Requires read_freebusy capability.

GET
/internal/v1/instances/{instance_id}/calendar/freebusy

Path Parameters

instance_idInstance Id
Formatuuid

Query Parameters

calendar_id?Calendar Id
Default"primary"
connection_name?Connection Name
time_minTime Min
Formatdate-time
time_maxTime Max
Formatdate-time

Response Body

curl -X GET "https://loading/internal/v1/instances/497f6eca-6276-4993-bfeb-53cbbbba6f08/calendar/freebusy?calendar_id=primary&connection_name=string&time_min=2019-08-24T14%3A15%3A22Z&time_max=2019-08-24T14%3A15%3A22Z"
{
  "busy_periods": [
    {}
  ],
  "calendar_id": "string"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}