# API Reference (/developers/v1/api)

The REST API is served from `https://api.savvycal.com/v1`. Requests and responses are JSON. Authenticate with a personal access token or an OAuth access token, as described in [Authentication](/developers/authentication).

This reference is generated from the [OpenAPI specification](https://api.savvycal.com/v1/spec).

## Events [#events]

An event represents a meeting that has been scheduled via SavvyCal.

<Cards>
  <Card title="List events" href="/developers/v1/api/list-events" description="GET /v1/events" />

  <Card title="Get event" href="/developers/v1/api/get-event" description="GET /v1/events/{event_id}" />

  <Card title="Cancel event" href="/developers/v1/api/cancel-event" description="POST /v1/events/{event_id}/cancel" />

  <Card title="Create event" href="/developers/v1/api/create-event" description="POST /v1/links/{link_id}/events" />
</Cards>

## Scheduling links [#scheduling-links]

A scheduling link represents a URL that can be used to schedule meetings.

<Cards>
  <Card title="List scheduling links" href="/developers/v1/api/list-scheduling-links" description="GET /v1/links" />

  <Card title="Create personal scheduling link" href="/developers/v1/api/create-personal-scheduling-link" description="POST /v1/links" />

  <Card title="Delete a scheduling link" href="/developers/v1/api/delete-scheduling-link" description="DELETE /v1/links/{link_id}" />

  <Card title="Get a scheduling link" href="/developers/v1/api/get-scheduling-link" description="GET /v1/links/{link_id}" />

  <Card title="Update a scheduling link" href="/developers/v1/api/update-scheduling-link" description="PATCH /v1/links/{link_id}" />

  <Card title="Duplicate a scheduling link" href="/developers/v1/api/duplicate-scheduling-link" description="POST /v1/links/{link_id}/duplicate" />

  <Card title="Get available time slots" href="/developers/v1/api/get-link-slots" description="GET /v1/links/{link_id}/slots" />

  <Card title="Toggle link state" href="/developers/v1/api/toggle-scheduling-link" description="POST /v1/links/{link_id}/toggle" />

  <Card title="Create a scheduling link" href="/developers/v1/api/create-scope-scheduling-link" description="POST /v1/scopes/{scope_slug}/links" />
</Cards>

## Current user [#current-user]

The current user is a representation of the user making the API request.

<Cards>
  <Card title="Get current user" href="/developers/v1/api/get-current-user" description="GET /v1/me" />
</Cards>

## Time zones [#time-zones]

A time zone represents a region of the world with a specific offset from Coordinated Universal Time (UTC).

<Cards>
  <Card title="List time zones" href="/developers/v1/api/list-time-zones" description="GET /v1/time_zones" />

  <Card title="Get time zone" href="/developers/v1/api/get-time-zone" description="GET /v1/time_zones/{time_zone}" />
</Cards>

## Webhooks [#webhooks]

A webhook represents an endpoint that can be used to receive notifications about events in the system.

<Cards>
  <Card title="List webhooks" href="/developers/v1/api/list-webhooks" description="GET /v1/webhooks" />

  <Card title="Create webhook" href="/developers/v1/api/create-webhook" description="POST /v1/webhooks" />

  <Card title="Delete webhook" href="/developers/v1/api/delete-webhook" description="DELETE /v1/webhooks/{webhook_id}" />

  <Card title="Get webhook" href="/developers/v1/api/get-webhook" description="GET /v1/webhooks/{webhook_id}" />
</Cards>

## Workflows [#workflows]

A workflow represents a series of actions that can be triggered by events in the system.

<Cards>
  <Card title="List workflows" href="/developers/v1/api/list-workflows" description="GET /v1/workflows" />

  <Card title="List workflow rules" href="/developers/v1/api/list-workflow-rules" description="GET /v1/workflows/{workflow_id}/rules" />
</Cards>

## Schemas [#schemas]

Request and response payloads, including the payload for each [webhook event type](/developers/webhooks#event-types), are listed under **Schemas** in the sidebar.
