CompanyCam Checklists API

The Checklists API from CompanyCam — 1 operation(s) for checklists.

OpenAPI Specification

companycam-checklists-api-openapi.yml Raw ↑
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