Snappr Images API

Retrieve images for bookings and editing jobs.

OpenAPI Specification

snappr-images-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Snappr Availability Images API
  version: 1.0.0
  summary: The API for visual content.
  description: 'The Snappr API is a universal API for commissioning and handling visual content: on-demand photography with Snappr network photographers, automated and human-augmented photo editing services, and retrieval of the resulting images and videos. The API is available only to Snappr for Enterprise customers. Faithfully generated by the API Evangelist enrichment pipeline from the public documentation at https://docs.snappr.com/ (no fabricated operations or fields).'
  contact:
    name: Snappr for Enterprise
    url: https://www.snappr.com/enterprise
  x-apievangelist-generated: true
servers:
- url: https://api.snappr.com
  description: Production
- url: https://sandbox.snappr.com
  description: Sandbox (returns dummy data; write actions are not persisted)
security:
- bearerAuth: []
tags:
- name: Images
  description: Retrieve images for bookings and editing jobs.
paths:
  /bookings/{booking_uid}/images:
    get:
      operationId: listBookingImages
      tags:
      - Images
      summary: Get All Images For a Booking
      description: Retrieves all the images of a specific booking.
      parameters:
      - $ref: '#/components/parameters/AcceptVersion'
      - $ref: '#/components/parameters/BookingUid'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: A paginated list of images.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedEnvelope'
                - type: object
                  properties:
                    results:
                      type: array
                      items:
                        $ref: '#/components/schemas/Image'
        '401':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
  /editing-jobs/{editing_job_uid}/images:
    get:
      operationId: listEditingJobImages
      tags:
      - Images
      summary: Get All Images For an Editing Job
      description: Retrieves all the images of a specific editing job (source and final).
      parameters:
      - $ref: '#/components/parameters/AcceptVersion'
      - $ref: '#/components/parameters/EditingJobUid'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: A paginated list of editing-job images.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/PaginatedEnvelope'
                - type: object
                  properties:
                    results:
                      type: array
                      items:
                        $ref: '#/components/schemas/EditingJobImage'
        '401':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
components:
  parameters:
    Limit:
      name: limit
      in: query
      description: Maximum number of results to return.
      schema:
        type: integer
    Offset:
      name: offset
      in: query
      description: Offset used for pagination. Defaults to 0.
      schema:
        type: integer
        default: 0
    BookingUid:
      name: booking_uid
      in: path
      required: true
      description: The identifier of the booking.
      schema:
        type: string
    EditingJobUid:
      name: editing_job_uid
      in: path
      required: true
      description: The identifier of the editing job.
      schema:
        type: string
    AcceptVersion:
      name: accept-version
      in: header
      required: false
      description: Requested API version (e.g. "1.0.0").
      schema:
        type: string
        default: 1.0.0
  schemas:
    EditingJobImage:
      type: object
      properties:
        uid:
          type: string
        source:
          $ref: '#/components/schemas/Image'
        final:
          $ref: '#/components/schemas/Image'
    Image:
      type: object
      properties:
        uid:
          type: string
        file_name:
          type: string
        url_original:
          type: string
          format: uri
        url_thumb:
          type: string
          format: uri
    PaginatedEnvelope:
      type: object
      properties:
        count:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
        total:
          type: integer
    Error:
      type: object
      description: Snappr error envelope. Named error in the response body with an optional Problems field on validation errors.
      properties:
        name:
          type: string
        message:
          type: string
        problems:
          type: array
          items:
            type: object
  responses:
    Error:
      description: Error response. See the error catalog for named error codes.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'API key passed as a bearer token in the Authorization header (Authorization: Bearer <api_key>). Each user has a single unique active API key, managed in the Snappr Photography Portal.'
externalDocs:
  description: Snappr API Documentation
  url: https://docs.snappr.com/