openapi: 3.0.1 info: title: Bannerbear Animated GIFs Screenshots API description: The Bannerbear API auto-generates images and videos from reusable templates. A request applies an array of modifications (text, image, and color layer changes) to a template and renders the output. Most create operations are asynchronous, returning 202 Accepted; results are delivered via webhook callback or retrieved by polling the resource endpoint. Synchronous variants are available on the sync host for images, collections, and screenshots. termsOfService: https://www.bannerbear.com/terms/ contact: name: Bannerbear Support url: https://www.bannerbear.com/help/ version: '2.0' servers: - url: https://api.bannerbear.com/v2 description: Asynchronous API host - url: https://sync.api.bannerbear.com/v2 description: Synchronous API host (10-second timeout, 408 on timeout) security: - bearerAuth: [] tags: - name: Screenshots description: Capture web page screenshots by URL. paths: /screenshots: post: operationId: createScreenshot tags: - Screenshots summary: Create a screenshot requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateScreenshotRequest' responses: '202': description: Accepted; screenshot is rendering. content: application/json: schema: $ref: '#/components/schemas/Screenshot' '200': description: Completed screenshot (synchronous host). content: application/json: schema: $ref: '#/components/schemas/Screenshot' get: operationId: listScreenshots tags: - Screenshots summary: List screenshots parameters: - $ref: '#/components/parameters/Page' responses: '200': description: A page of Screenshot objects. content: application/json: schema: type: array items: $ref: '#/components/schemas/Screenshot' /screenshots/{uid}: get: operationId: getScreenshot tags: - Screenshots summary: Retrieve a screenshot parameters: - $ref: '#/components/parameters/Uid' responses: '200': description: A Screenshot object. content: application/json: schema: $ref: '#/components/schemas/Screenshot' components: schemas: CreateScreenshotRequest: type: object required: - url properties: url: type: string description: The web page URL to capture. webhook_url: type: string width: type: integer default: 1200 height: type: integer description: Omit for a full-page screenshot. mobile: type: boolean language: type: string description: ISO 639-1 two-letter language code. Screenshot: type: object properties: uid: type: string status: type: string enum: - pending - completed - failed self: type: string url: type: string screenshot_image_url: type: string webhook_url: type: string created_at: type: string format: date-time parameters: Uid: name: uid in: path required: true description: The unique identifier of the resource. schema: type: string Page: name: page in: query description: Page number for paginated lists (25 per page). schema: type: integer default: 1 securitySchemes: bearerAuth: type: http scheme: bearer description: Project or master API key passed as a Bearer token.