openapi: 3.1.0 info: title: Dispatch Files API v1 Appointments Sources API version: '1' summary: Upload and retrieve photos and other files shared with service providers and customers. description: The Dispatch Files API stores photos and other files associated with a job, and is served from a host distinct from the core Dispatch REST API. Files are uploaded as multipart/form-data and retrieved by UID, which redirects to the stored object. contact: name: Dispatch url: https://dispatch.me/contact email: sales@dispatch.me servers: - url: https://files-api.dispatch.me description: Production - url: https://files-api-sandbox.dispatch.me description: Sandbox security: - bearerAuth: [] tags: - name: Sources description: Where job information originated. paths: /v3/sources: get: operationId: listSources tags: - Sources summary: List sources parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: A list of sources content: application/json: schema: type: object properties: sources: type: array items: $ref: '#/components/schemas/Source' '401': $ref: '#/components/responses/Unauthorized' /v3/sources/{id}: parameters: - $ref: '#/components/parameters/id' get: operationId: getSource tags: - Sources summary: View a single source responses: '200': description: The source content: application/json: schema: type: object properties: source: $ref: '#/components/schemas/Source' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: parameters: offset: name: offset in: query description: Number of records to skip. schema: type: integer minimum: 0 id: name: id in: path required: true schema: type: integer limit: name: limit in: query description: Maximum number of records to return. Maximum value is 100. schema: type: integer maximum: 100 schemas: Source: type: object description: Where the job information originated. properties: id: type: integer readOnly: true name: type: string description: Machine-readable source name title: type: string description: Human-readable source name responses: Unauthorized: description: Unauthorized - your OAuth2 bearer token is incorrect or expired. NotFound: description: Not Found - requested resource could not be found. securitySchemes: bearerAuth: type: http scheme: bearer description: OAuth 2.0 bearer token obtained from the core API at POST /v3/oauth/token. x-apievangelist: generated: '2026-07-20' method: generated source: https://github.com/DispatchMe/v3-api-docs/blob/master/source/index.html.md#files-photos note: Generated from the "Files and Photos" section of Dispatch's public REST API v3 documentation. The Files API is served from a different host than the core API.