---
title: "List scheduling links"
method: GET
path: "/v1/links"
tags: ["Scheduling Links"]
---

# List scheduling links

`GET /v1/links`

## Request

- Base URL: `https://api.savvycal.com`
- URL: `https://api.savvycal.com/v1/links`
- Auth: one of:
  - OAuth 2
    - Authorization code: `/oauth/authorize`
    - Token URL: `/oauth/token`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/savvycal/apis/savvycal-meetings-api/docs/v1/links/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `limit` integer
- `after` string
- `before` string
- `state` 'active' | 'pending' | 'disabled' | 'archived'
- `scope` string
- `q` string

## Response `200`

Success

- LinkListResponse
  - `entries` Link[], required
    - `default_duration` integer, required: Default duration in minutes
    - `description` string: Link description, as HTML. Empty when the link has no description.
    - `durations` integer[], required: Durations in minutes
    - `fields` LinkField[], required
      - `id` string, required
      - `is_required` boolean, required
      - `label` string, required
      - `options` FieldOption[], required: The choices for a `checkboxes`, `radios`, or `select` field. Empty for other field types.
        - `id` string, required
        - `value` string, required
      - `type` 'short_text' | 'long_text' | 'checkboxes' | 'radios' | 'select' | 'url' | 'hidden', required
    - `id` string, required
    - `increment` integer, required: Minutes between slot start times
    - `name` string, required: Public link name
    - `private_name` string, nullable: Private link name. `null` when the current user can't edit the link or the link has no private name.
    - `scope` ScopePreview: Preview of a scope/team
      - `id` string, required
      - `name` string, required
      - `slug` string, required
    - `slug` string, required
    - `state` 'active' | 'pending' | 'disabled' | 'archived' | 'deleted', required
  - `metadata` PaginationMeta, required
    - `after` string, nullable: Pass as `after` to get the next page. `null` on the last page.
    - `before` string, nullable: Pass as `before` to get the previous page. `null` on the first page.
    - `limit` integer, required

## Other responses

- `400`: Invalid `after` or `before` cursor, or `scope`
- `401`: Unauthorized

---

[API](https://skmtc.dev/savvycal/apis/savvycal-meetings-api.md) - [All operations](https://skmtc.dev/savvycal/apis/savvycal-meetings-api/llms.txt) - [OpenAPI document](https://skmtc.dev/savvycal/apis/savvycal-meetings-api/revisions/398985d699a3?raw)
