OpenAPI Specification
openapi: 3.1.0
info:
title: Camtasia Asset Library Assets Projects API
description: API for accessing and managing media assets, templates, and libraries within TechSmith Camtasia. Provides programmatic access to browse, search, download, and manage video assets, audio tracks, images, templates, themes, and other media resources used in Camtasia projects.
version: '1.0'
contact:
name: TechSmith Support
url: https://support.techsmith.com
email: support@techsmith.com
termsOfService: https://www.techsmith.com/terms.html
servers:
- url: https://api.techsmith.com/camtasia/v1
description: TechSmith Camtasia API Production
security:
- bearerAuth: []
tags:
- name: Projects
description: Create and manage Camtasia projects
paths:
/projects:
get:
operationId: listProjects
summary: Camtasia List projects
description: Retrieve a paginated list of the user's Camtasia projects.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/searchQuery'
- $ref: '#/components/parameters/pageOffset'
- $ref: '#/components/parameters/pageLimit'
- name: status
in: query
description: Filter by project status
schema:
type: string
enum:
- draft
- in_progress
- completed
- archived
- name: sort
in: query
description: Sort order for results
schema:
type: string
enum:
- name
- created
- modified
default: modified
responses:
'200':
description: Paginated list of projects
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectListResponse'
'401':
description: Unauthorized
post:
operationId: createProject
summary: Camtasia Create a project
description: Create a new Camtasia project, optionally based on a template.
tags:
- Projects
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectRequest'
responses:
'201':
description: Project created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'400':
description: Invalid request
'401':
description: Unauthorized
/projects/{projectId}:
get:
operationId: getProject
summary: Camtasia Get a project
description: Retrieve detailed information about a specific project.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/projectId'
responses:
'200':
description: Project details
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'401':
description: Unauthorized
'404':
description: Project not found
put:
operationId: updateProject
summary: Camtasia Update a project
description: Update metadata and settings for an existing project.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/projectId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProjectRequest'
responses:
'200':
description: Project updated
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'400':
description: Invalid request
'401':
description: Unauthorized
'404':
description: Project not found
delete:
operationId: deleteProject
summary: Camtasia Delete a project
description: Delete a Camtasia project and its associated data.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/projectId'
responses:
'204':
description: Project deleted
'401':
description: Unauthorized
'404':
description: Project not found
components:
schemas:
CreateProjectRequest:
type: object
required:
- name
properties:
name:
type: string
description: Project name
description:
type: string
description: Project description
templateId:
type: string
description: Template ID to base the project on
resolution:
type: object
properties:
width:
type: integer
description: Canvas width in pixels
default: 1920
height:
type: integer
description: Canvas height in pixels
default: 1080
frameRate:
type: number
description: Frame rate in FPS
default: 30
Project:
type: object
properties:
id:
type: string
description: Unique identifier for the project
name:
type: string
description: Project name
description:
type: string
description: Project description
status:
type: string
enum:
- draft
- in_progress
- completed
- archived
description: Current project status
resolution:
type: object
properties:
width:
type: integer
description: Canvas width in pixels
height:
type: integer
description: Canvas height in pixels
description: Project canvas resolution
frameRate:
type: number
description: Project frame rate in frames per second
duration:
type: number
description: Total project duration in seconds
trackCount:
type: integer
description: Number of timeline tracks
templateId:
type: string
description: ID of the template used to create this project
createdAt:
type: string
format: date-time
description: When the project was created
updatedAt:
type: string
format: date-time
description: When the project was last modified
ProjectListResponse:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Project'
total:
type: integer
description: Total number of projects
offset:
type: integer
description: Current pagination offset
limit:
type: integer
description: Number of results per page
UpdateProjectRequest:
type: object
properties:
name:
type: string
description: Updated project name
description:
type: string
description: Updated project description
status:
type: string
enum:
- draft
- in_progress
- completed
- archived
description: Updated project status
resolution:
type: object
properties:
width:
type: integer
description: Canvas width in pixels
height:
type: integer
description: Canvas height in pixels
frameRate:
type: number
description: Updated frame rate
parameters:
pageOffset:
name: offset
in: query
description: Pagination offset
schema:
type: integer
default: 0
minimum: 0
pageLimit:
name: limit
in: query
description: Number of results per page
schema:
type: integer
default: 25
minimum: 1
maximum: 100
searchQuery:
name: q
in: query
description: Search query string
schema:
type: string
projectId:
name: projectId
in: path
required: true
description: Unique identifier for the project
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.0 bearer token from TechSmith account authentication
externalDocs:
description: Camtasia Support Documentation
url: https://support.techsmith.com/hc/en-us/categories/camtasia-api