OpenAPI Specification
openapi: 3.0.3
info:
title: SavvyCal Meetings Current User Workflows API
description: 'The SavvyCal Meetings REST API enables developers to manage scheduling links, events, webhooks, workflows, and time zones programmatically. It uses OAuth 2.0 and personal access tokens for authentication and communicates in JSON format.
'
version: '1.0'
contact:
name: SavvyCal Developer Support
url: https://developers.savvycal.com/
termsOfService: https://savvycal.com/legal/terms
license:
name: Proprietary
url: https://savvycal.com/
servers:
- url: https://api.savvycal.com/v1
description: SavvyCal API v1
security:
- BearerAuth: []
tags:
- name: Workflows
description: Manage automation workflows.
paths:
/workflows:
get:
operationId: listWorkflows
summary: List workflows
description: 'Get a paginated list of workflows for scopes the authenticated user manages.
'
tags:
- Workflows
parameters:
- name: page
in: query
description: Page number for pagination.
schema:
type: integer
minimum: 1
default: 1
- name: per_page
in: query
description: Number of results per page.
schema:
type: integer
minimum: 1
maximum: 100
default: 20
responses:
'200':
description: Paginated list of workflows.
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowList'
'401':
$ref: '#/components/responses/Unauthorized'
/workflows/{workflow_id}:
get:
operationId: getWorkflow
summary: Get workflow
description: Get a specific workflow by ID.
tags:
- Workflows
parameters:
- name: workflow_id
in: path
required: true
description: The unique identifier of the workflow.
schema:
type: string
responses:
'200':
description: Workflow details.
content:
application/json:
schema:
$ref: '#/components/schemas/Workflow'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Error:
type: object
description: Standard error response.
properties:
error:
type: string
description: Human-readable error message.
errors:
type: object
description: Field-level validation errors.
additionalProperties:
type: array
items:
type: string
PaginationMeta:
type: object
description: Pagination metadata for list responses.
properties:
current_page:
type: integer
description: Current page number.
per_page:
type: integer
description: Number of items per page.
total_count:
type: integer
description: Total number of items.
total_pages:
type: integer
description: Total number of pages.
WorkflowList:
type: object
description: Paginated list of workflows.
properties:
data:
type: array
items:
$ref: '#/components/schemas/Workflow'
meta:
$ref: '#/components/schemas/PaginationMeta'
Workflow:
type: object
description: An automation workflow in SavvyCal.
properties:
id:
type: string
description: Unique workflow identifier.
name:
type: string
description: Workflow name.
state:
type: string
description: Current workflow state.
enum:
- active
- disabled
scope:
$ref: '#/components/schemas/Scope'
nullable: true
created_at:
type: string
format: date-time
description: When the workflow was created.
updated_at:
type: string
format: date-time
description: When the workflow was last updated.
Scope:
type: object
description: A team or organizational scope.
properties:
id:
type: string
description: Unique scope identifier.
name:
type: string
description: Scope name.
slug:
type: string
description: URL slug for the scope.
responses:
Unauthorized:
description: Authentication credentials missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: 'Personal access tokens (prefixed with `pt_secret_`) or OAuth 2.0 access tokens. Include in the Authorization header as: `Authorization: Bearer <token>`
'