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