openapi: 3.0.3 info: title: Gumlet Analytics Video Collections API version: '1.0' description: Representative OpenAPI description of the Gumlet REST API for video hosting, streaming, and image optimization. Covers video assets, video collections (sources), live streaming, image sources, analytics, and direct uploads. All requests are authenticated with a bearer API key in the Authorization header and are served from https://api.gumlet.com/v1. Endpoint shapes follow the public documentation at https://docs.gumlet.com/reference; request and response schemas are simplified representative models. contact: name: Gumlet url: https://www.gumlet.com/ license: name: Proprietary url: https://www.gumlet.com/terms/ servers: - url: https://api.gumlet.com/v1 description: Gumlet production API security: - bearerAuth: [] tags: - name: Video Collections description: Manage video collections (sources) and organization. paths: /video/sources: get: tags: - Video Collections summary: List Collections description: List the video collections (sources) available to the token. operationId: listCollections responses: '200': description: A list of collections. content: application/json: schema: type: array items: $ref: '#/components/schemas/Collection' '401': $ref: '#/components/responses/Unauthorized' post: tags: - Video Collections summary: Create Collection description: Create a new video collection (source). operationId: createCollection requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateCollectionRequest' responses: '200': description: Collection created. content: application/json: schema: $ref: '#/components/schemas/Collection' '401': $ref: '#/components/responses/Unauthorized' /video/sources/{video_source_id}: get: tags: - Video Collections summary: Get Collection description: Retrieve the full details of a video collection. operationId: getCollection parameters: - name: video_source_id in: path required: true schema: type: string responses: '200': description: Collection details. content: application/json: schema: $ref: '#/components/schemas/Collection' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: responses: NotFound: description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: CreateCollectionRequest: type: object required: - name properties: name: type: string type: type: string Collection: type: object properties: collection_id: type: string name: type: string type: type: string created_at: type: string format: date-time Error: type: object properties: status: type: integer message: type: string securitySchemes: bearerAuth: type: http scheme: bearer description: 'Pass your Gumlet API key as a bearer token in the Authorization header: `Authorization: Bearer `.'