Camtasia Libraries API

Manage asset libraries and collections

OpenAPI Specification

camtasia-libraries-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Camtasia Asset Library Assets Libraries 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: Libraries
  description: Manage asset libraries and collections
paths:
  /libraries:
    get:
      operationId: listLibraries
      summary: Camtasia List libraries
      description: Retrieve a list of asset libraries accessible to the user, including personal, shared, and TechSmith-provided libraries.
      tags:
      - Libraries
      responses:
        '200':
          description: List of libraries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LibraryListResponse'
        '401':
          description: Unauthorized
  /libraries/{libraryId}:
    get:
      operationId: getLibrary
      summary: Camtasia Get a library
      description: Retrieve details of a specific asset library.
      tags:
      - Libraries
      parameters:
      - $ref: '#/components/parameters/libraryId'
      responses:
        '200':
          description: Library details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Library'
        '401':
          description: Unauthorized
        '404':
          description: Library not found
  /libraries/{libraryId}/assets:
    get:
      operationId: listLibraryAssets
      summary: Camtasia List assets in a library
      description: Retrieve a paginated list of assets within a specific library.
      tags:
      - Libraries
      parameters:
      - $ref: '#/components/parameters/libraryId'
      - $ref: '#/components/parameters/assetType'
      - $ref: '#/components/parameters/searchQuery'
      - $ref: '#/components/parameters/pageOffset'
      - $ref: '#/components/parameters/pageLimit'
      responses:
        '200':
          description: Paginated list of assets in the library
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetListResponse'
        '401':
          description: Unauthorized
        '404':
          description: Library not found
components:
  parameters:
    pageOffset:
      name: offset
      in: query
      description: Pagination offset
      schema:
        type: integer
        default: 0
        minimum: 0
    libraryId:
      name: libraryId
      in: path
      required: true
      description: Unique identifier for the library
      schema:
        type: string
    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
    assetType:
      name: type
      in: query
      description: Filter by asset type
      schema:
        type: string
        enum:
        - video
        - audio
        - image
        - animation
        - effect
        - transition
        - annotation
        - cursor
        - theme
  schemas:
    Library:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the library
        name:
          type: string
          description: Display name of the library
        description:
          type: string
          description: Description of the library
        type:
          type: string
          enum:
          - personal
          - shared
          - techsmith
          description: Library type
        assetCount:
          type: integer
          description: Number of assets in the library
        createdAt:
          type: string
          format: date-time
          description: When the library was created
        updatedAt:
          type: string
          format: date-time
          description: When the library was last modified
    AssetListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Asset'
        total:
          type: integer
          description: Total number of matching assets
        offset:
          type: integer
          description: Current pagination offset
        limit:
          type: integer
          description: Number of results per page
    Asset:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the asset
        name:
          type: string
          description: Display name of the asset
        description:
          type: string
          description: Description of the asset
        type:
          type: string
          enum:
          - video
          - audio
          - image
          - animation
          - effect
          - transition
          - annotation
          - cursor
          - theme
          description: Type of media asset
        format:
          type: string
          description: File format (e.g., mp4, mp3, png)
        fileSize:
          type: integer
          description: File size in bytes
        duration:
          type: number
          description: Duration in seconds (for video and audio assets)
        width:
          type: integer
          description: Width in pixels (for visual assets)
        height:
          type: integer
          description: Height in pixels (for visual assets)
        thumbnailUrl:
          type: string
          format: uri
          description: URL to the asset thumbnail image
        downloadUrl:
          type: string
          format: uri
          description: URL to download the asset file
        tags:
          type: array
          items:
            type: string
          description: Tags associated with the asset
        libraryId:
          type: string
          description: ID of the library containing the asset
        categoryId:
          type: string
          description: ID of the category this asset belongs to
        createdAt:
          type: string
          format: date-time
          description: When the asset was created
        updatedAt:
          type: string
          format: date-time
          description: When the asset was last modified
    LibraryListResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Library'
  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