openapi: 3.0.0 info: version: v2 title: Core Checklists API servers: - url: https://api.companycam.com/v2 security: - BearerAuth: [] tags: - name: Checklists paths: /checklists: get: summary: List All Checklists operationId: listChecklists tags: - Checklists parameters: - name: page in: query schema: type: integer format: int32 - name: per_page in: query schema: type: integer format: int32 - name: completed in: query schema: type: boolean responses: '200': description: List of checklists sorted by last updated content: application/json: schema: type: array items: $ref: '#/components/schemas/Checklist' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - Bad Request '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - Record not found '500': description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' example: errors: - An unexpected error occured components: schemas: Photo: type: object required: - id properties: id: type: string description: The unique ID for the photo example: '4782987471' company_id: type: string description: A unique identifier for the Company the Photo belongs to example: '8292212' creator_id: type: string description: The id of the entity that created the Photo example: '2789583992' creator_type: type: string description: The type of the entity that created the Photo example: User creator_name: type: string description: The display name of the entity that created the Photo example: Shawn Spencer project_id: type: string description: The unique ID of the project the Photo was captured at example: '94772883' processing_status: type: string description: Indicates the Photo’s processing status. enum: - pending - processing - processed - processing_error - duplicate example: processed status: type: string description: The status of the Photo enum: - active - deleted example: active coordinates: description: The coordinates where the Photo was captured allOf: - $ref: '#/components/schemas/Coordinate' uris: type: array description: A list of URIs for the different size variants of the photo. items: $ref: '#/components/schemas/ImageURI' example: - type: original url: https://static.companycam.com/VuS0rPvrnNA1490797262.jpg - type: web url: https://static.companycam.com/VuS0rPvrnNA1490797262web.jpg - type: thumbnail url: https://static.companycam.com/VuS0rPvrnNA1490797262small.jpg hash: type: string description: The MD5 hash of the photo example: 00ab337b7399151e5d4aa3bd4226e8dd description: type: string description: A description of the photo example: The front of the house internal: type: boolean description: Indicates whether the photo is for internal use only and should not be used in marketing or other public materials example: false photo_url: type: string description: The link to the photo in the web app example: https://app.companycam.com/photos/8675309 captured_at: type: integer format: int32 description: Timestamp when the Photo was captured example: 1152230396 created_at: type: integer format: int32 description: Timestamp when the photo was created on the server. This may differ from the captured_at field example: 1152230608 updated_at: type: integer format: int32 description: Timestamp when the photo was last updated example: 1152230400 Task: type: object properties: id: type: string description: The unique ID for the Task example: '4782987471' completed_at: type: integer format: int32 description: Timestamp when the Task was marked completed. example: 1152230608 completed_by_id: type: string description: The unique ID for entity that completed the Task example: '14365' completed_by_type: type: string description: The type of the entity that marked the Task as completed example: User created_at: type: integer format: int32 description: Timestamp when the Task was created on the server. example: 1152230608 creator_id: type: string description: A unique identifier of the creator of the Task example: '314' creator_type: type: string description: The type of the creator of the Task example: User details: type: string description: The details of a Task example: Check the roof for leaks photo_capture_required: type: boolean description: Flag indicating whether a photo is required to complete the Task example: true position: type: integer description: The position for the Task within its ChecklistSection or Checklist example: 2 todo_list_id: type: string description: A unique identifier for the Checklist the Task belongs to example: '4782987471' todo_list_section_id: type: string description: A unique identifier for the ChecklistSection the Task belongs to nullable: true example: '12663' title: type: string description: The title of the Task example: Check the roof updated_at: type: integer format: int32 description: Timestamp when the Checklist was last updated on the server. example: 1152230608 sub_tasks: type: array description: A collection of sub-tasks associated to a Task items: $ref: '#/components/schemas/SubTask' photos: type: array description: A collection of photos associated to a Task items: $ref: '#/components/schemas/Photo' Checklist: type: object properties: id: type: string description: The unique ID for the Checklist example: '4782987471' company_id: type: string description: A unique identifier for the Company the Checklist belongs to example: '8292212' project_id: type: string description: A unique identifier for the Project the Checklist belongs to example: '812' name: type: string description: The name for the Checklist example: Roof state survey created_at: type: integer format: int32 description: Timestamp when the Checklist was created on the server. example: 1152230608 updated_at: type: integer format: int32 description: Timestamp when the Checklist was last updated example: 1152230400 completed_at: type: integer format: int32 nullable: true description: Timestamp when the Checklist was completed example: 1232230400 creator_id: type: string description: A unique identifier for the creator of the Checklist example: '314' checklist_template_id: type: string nullable: true description: A unique identifier for the template used to create the Checklist example: '4156' is_populating: type: boolean description: Flag indicating wether the Checklist is still being created or not example: false sectionless_tasks: type: array description: A collection of tasks that are not associated with a section items: $ref: '#/components/schemas/Task' sections: type: array description: A collection of sections items: $ref: '#/components/schemas/ChecklistSection' SubTask: type: object properties: id: type: string description: The unique ID for the Task example: '4782987471' label: type: string description: The title of the Task example: Check the roof answer_type: type: string description: The type of answer expected for the SubTask enum: - open_text - multiple_choice - yes_no example: open_text answer_choices: type: array description: The index from the answer_options array that were selected as answers example: - 0 - 2 answer_options: type: array description: A collection of answer options for the SubTask items: type: string example: - 'Yes' - 'No' - Maybe position: type: integer description: The position for the SubTask within its Task example: 2 task_id: type: string description: A unique identifier for the Task the SubTask belongs to example: '4782987471' answer_text: type: string description: The answer text for the SubTask when the type is open_text example: It was a pretty ok task Coordinate: type: object required: - lat - lon properties: lat: type: number format: float lon: type: number format: float example: lat: 28.425852468018288 lon: -81.47155671113255 ImageURI: type: object required: - type - uri properties: type: type: string uri: type: string url: type: string example: type: original uri: https://static.companycam.com/VuS0rPvrnNA1490797262.jpg url: https://static.companycam.com/VuS0rPvrnNA1490797262.jpg Error: type: object properties: errors: type: array items: type: string example: - Record not found ChecklistSection: type: object properties: id: type: string description: The unique ID for the ChecklistSection example: '4782987471' todo_list_id: type: string description: A unique identifier for the Checklist the ChecklistSection belongs to example: '8292212' creator_id: type: string description: A unique identifier of the creator of the ChecklistSection example: '314' creator_type: type: string description: The type of the creator of the ChecklistSection example: User creator_name: type: string description: The name of the creator of the ChecklistSection example: '314' title: type: string description: The title of the ChecklistSection example: 'Section #1' position: type: integer description: The position for the ChecklistSection within the Checklist example: '0' tasks: type: array description: A collection of tasks associated to a ChecklistSection items: $ref: '#/components/schemas/Task' securitySchemes: BearerAuth: type: http scheme: bearer