openapi: 3.0.0 servers: - url: https://tq.cxalloy.com/api/v1 info: description: | The CxAlloy TQ API is hosted at [https://tq.cxalloy.com/api/v1](https://tq.cxalloy.com/api/v1) This documentation describes CxAlloy's API standards, data model, and endpoints. We strive for documentation that is understandable, detailed, and comprehensive. ## Introduction Welcome to the CxAlloy TQ API. Our team is happy to answer any questions, address any frustrations, or consider any requests. You can communicate with us by emailing [support](mailto:support@cxalloy.com). We'll do our best to accommodate you. ## Security and Authentication CxAlloy values the security of your data, and all API requests must be made over HTTPS. This is a **REST** API that uses predictable, resource-oriented URLs and standard HTTP response codes. We strongly recommend you keep your API key secret as secure as possible: * You should never transmit it over a network or the internet * Don't store it in publicly accessible code or website (e.g. Javascript for a public website). * Avoid checking it into source control. Use configuration files that can be loaded into your code. ### API Keys This API uses an account level key that can be created by an account admin in the account settings in TQ. Once the key is created it will display a one time dialogue box with your secret (private) key. You must save this key somewhere safe as it will be used to generate a signature that you can use to make requests to the API. ### HTTP Headers Every request to the API must pass 5 headers with each request. | Name | Value | |:---------------------|:-----------------------------------------------------| | Content-Type | application/json | | cxalloy-identifier | The identifier from the API key | | cxalloy-signature | Signature generated from the API key secret, request timestamp, and JSON encoded body (if present) for this request | | cxalloy-timestamp | Unix timestamp used when generating the signature | | user-agent | A characteristic string that lets servers and network peers identify the requesting user agent, commonly formatted as [product] / [product-version] [comment] | ### How to generate the signature For POST requests that include options in the request body, the signature is generated by concatenating the **JSON body** with the unix timestamp. For GET requests with no request body the signature uses only the timestamp. The timestamp has to be the same one that is being passed in the `cxalloy-timestamp` header. If the timestamp is older than 1 hour from when the request is received it will be rejected. Then you use the [HMAC Method](https://en.wikipedia.org/wiki/HMAC) to generate the signature for the request. The hashing algorithm to use is **SHA256**. Most endpoints in the API are GET requests, with no body. For GET requests the signature is just the hash of the request timestamp and API key secret. ```php 67)); $string = $body . $timestamp; //generate the signature $signature = hash_hmac('sha256', $string, $secret); ``` Here is a PHP example of a generic function that can make requests to the API. ```php $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => $type, CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json", "cxalloy-identifier: $identifier", "cxalloy-signature: $signature", "cxalloy-timestamp: $timestamp", "user-agent: cxalloy-example-script / v1.0" ), )); // add the request body if needed if ( ! empty($body) && $type !== 'GET') { curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($body)); } $result = curl_exec($curl); curl_close($curl); $response = json_decode($result); return $response; } ``` ## Pagination The maximum number of records that any request can return is 500. In order to get the next set of records you should pass `?page=2` in the query parameters if its a **GET** request or `page = 2` as a parameter in the request body of a **POST** request. There are certain requests that **DON'T** handle pagination. They are the following 1. /attribute (GET) 2. /campus (GET) 3. /checkliststatus (GET) 4. /checklisttype (GET) 5. /discipline (GET) 6. /equipmentstatus (GET) 7. /fieldobservationtype (GET) 8. /file_tag (GET) 9. /issuestatus (GET) 10. /issueattribute (GET) 11. /milestonegroup (POST) 12. /milestonecollection (POST) 13. /milestone (POST) 14. /milestoneitem (POST) 15. /project (GET) 16. /priority (GET) 17. /reviewremark (GET) 18. /reviewtype (GET) 19. /testattemptstatus (GET) 20. /issuetype (GET) 21. /testtemplate (GET) 22. /checklisttemplate (GET) ## Rate Limiting Maximum requests per hour for any api key is 10000. If you hit this limit you will get an error back letting you know that you have exceeded the limit. ## Authorship When making requests to write endpoints, the creator of the API key used to authenticate the request will be treated as the author. ## File Uploads Non-Segmented Uploads: ### Step 1: Create an upload To start the upload process, you need to create an upload. This can be done by making a POST request to the /pre_upload endpoint below. Including the response_filename in the request body ensures that the storage service is aware of the filename for the upload in advance. You will also need to include the sha256 of the file in the request body. This is used to verify the integrity of the file during the upload process. This article provides more information on how to generate the sha256 for your file: [SHA-256](https://techdocs.akamai.com/download-ctr/docs/verify-checksum) ### Step 2: Upload File to a Storage Service Using HTTP PUT Request Once we have successfully created an Upload (as described in the previous step), we use the data returned in the JSON response to construct a PUT request to the storage service (AWS S3 for this example) that includes the file we want to upload along with the url and fields retrieved in Step 1 as form data. Here is an article that provides more information on how to upload a file to AWS S3 in Postman: [Uploading File to AWS S3](https://support.cxalloy.com/article/892-uploading-files-to-s3) ### Step 3: Marking the uploaded file as Complete Once you have uploaded the file to S3, you need to complete the upload. This can be done by making a POST request to the /post_upload endpoint. ## Versioning The current stable version of the CxAlloy API is "v1". This section describes changes that are considered backward compatible and will not increment the version number. ### Meaning of "Stability" in the CxAlloy API For the purposes of the CxAlloy API, "stable" means that no published endpoint, resource, or attribute will be removed or redefined. We intend to continue adding endpoints, resources, and attributes to existing resources. This section details which API changes may occur without incrementing the version number and should be gracefully handled by API clients. ### Transport and Encoding The below changes can occur without incrementing the version number: - Addition of new response headers, in particular headers beginning with `X-` - Changes in the content of cache-control headers ### Response Structure The below changes can occur without incrementing the version number: - The amount and location of white-space in the response - The order of fields in the response ### Endpoints and Returned Fields The below changes can occur without incrementing the version number: - Addition of new endpoints - Addition of new fields to existing endpoints - Return order of fields in existing endpoints - Addition of new optional request parameters to existing endpoints - Addition of new options within existing request parameters Integrators must design their applications with forward compatibility in mind. - Build your API client to work even if fields are returned in a different order - Build your API client to work even if new fields are added to the response ## Release Notes The CxAlloy API Release Notes summarize updates and fixes to ensure transparency and stability for integrators. Each release entry includes: - Release Date - Summary of Changes ### Release Date: 10/07/2026 #### Reports - Added new endpoint POST `/reportfile_create`. This endpoint is used to create a report (file) that it generates. - Added new endpoint GET `/reportfile`. This endpoint is used to get a report (file) that it generates. ### Release Date: 07/22/2026 #### Tests - Added new endpoint POST `/testattemptline_update`. This endpoint is used to update a test attempt line. ### Release Date: 07/09/2026 #### Milestones - Updated the request body field "date_complete" to be a date type instead of a datetime type. ### Release Date: 06/19/2026 #### Checklists - Changed body parameter "status_na" to "allow_na" in the endpoint POST `/checklistline_create`. This field is used to indicate if the checklist line allows for a "NA" answer. ### Release Date: 05/29/2026 #### Tests - Added new endpoint POST `/testtemplate_create` - Added new endpoint POST `/testtemplate_delete` - Added new include field `extended_status` to the endpoint POST `/test` endpoint. This field is used to indicate the extended status of the test. - Added new include field `time_to_close` to the endpoint POST `/test` endpoint. This field is used to indicate the time it took to close the test. ### Release Date: 05/07/2026 #### Checklists - Updated endpoint POST `/checklistline_create` and `/checklistline_update`. There are new elements for the body request called `single_options` and `multiple_options`. These are used when you are creating a `single_value` or `multiple_value` line. - The `single_options` property is an array of objects. Each object consists of a display label and its resulting answer value. Example: ``` { "label 1" : “passed”, "label 2" : “failed”, "label 3" : “failed”, "label 4" : “na” }``` - The `multiple_options` property is an array of strings. #### Tests - Updated endpoint POST `/testattempline_create`. There are new elements for the body request called `single_options` and `multiple_options`. These are used when you are creating a `single_value` or `multiple_value` line. - The `single_options` property is an array of objects. Each object consists of a display label and its resulting answer value. Example: ``` { "label 1" : “passed”, "label 2" : “failed”, "label 3" : “failed”, "label 4" : “na” }``` - The `multiple_options` property is an array of strings. ### Release Date: 04/28/2026 #### Tests - Added new endpoint POST `/testtemplate_update` #### History - Added "after_id" and "before_id" options to allow filtering after and before a specific history id. ### Release Date: 03/06/2026 #### General API Key Scope Enhancements
We have enhanced API key functionality to support more granular access control through scoped permissions. - API keys can not be restricted to specific projects, allowing more precise control over which resources an integration can access. - Permissions can be set to Read-Only or Read-Write. - Scopes and permissions are combinable, enabling flexible configuration such as: - Account-level API keys with Read-Only access. - Project-level API keys with Read-Write access. - When applying a project scope, users can select multiple projects for a single API key. ### Release Date: 02/06/2026 #### General - Added "date_created" response field (ISO 8601 format) to all the endpoints that return a list of records. - *NOTE: The `/history` endpoint still returns "created_date" to maintain backwards compatibiliity.* #### Project Settings - Added new endpoint POST `/checkliststatus_create` - Added new endpoint POST `/checkliststatus_update` - Added new endpoint POST `/checkliststatus_delete` - Added new endpoint GET `/area_served` - Added new endpoint GET `/equipment_system` - Added new endpoint GET `/space_zone` #### Files - Added new endpoint POST `/folder_create` #### Tests - Added new endpoint POST `/testattemptlineanswer_update` version: "1.0.0" title: CxAlloy TQ API contact: email: support@cxalloy.com tags: - name: Projects description: Operations dealing with projects - name: Project Settings description: Operations dealing with project settings - name: Assets description: Operations dealing with assets - name: Issues description: Operations dealing with issues - name: Checklists description: Operations dealing with checklists - name: Tests description: Operations dealing with tests - name: Reviews description: Operations dealing with reviews - name: Reports description: Operations dealing with reports - name: Tasks description: Operations dealing with tasks - name: Files description: Operations dealing with files - name: History description: Operations dealing with history - name: Milestones description: Operations dealing with milestones. *ONLY AVAILABLE FOR ACCOUNTS IN EARLY ACCESS paths: /project: get: tags: - Projects summary: /project description: Returns all the projects for an account. * **Project does not use pages** responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' /project/{project_id}: get: tags: - Projects summary: /project/{project_id} description: Returns a specific project parameters: - in: path name: project_id description: Specific Project ID schema: type: integer required: true responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' '400': description: Project does not exist in your account /person: get: tags: - Projects summary: /person description: Returns all the people in a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Person' '400': description: | - Project ID required - Project does not exist in your account /person/{person_id}: get: tags: - Projects summary: /person/{person_id} description: Returns a specific person parameters: - in: path name: person_id description: Specific person ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Person' '400': description: | - Project ID required - Project does not exist in your account /company: get: tags: - Projects summary: /company description: Returns all the companies in a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - members responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Company' '400': description: | - Project ID required - Project does not exist in your account /company/{company_id}: get: tags: - Projects summary: /company/{company_id} description: Returns a specific company parameters: - in: path name: company_id description: Specific company ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - members responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Company' '400': description: | - Project ID required - Project does not exist in your account /role: get: tags: - Projects summary: /role description: Returns all the roles in a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - members responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Role' '400': description: | - Project ID required - Project does not exist in your account /role/{role_id}: get: tags: - Projects summary: /role/{role_id} description: Returns a specific role parameters: - in: path name: role_id description: Specific role ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - members responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Role' '400': description: | - Project ID required - Project does not exist in your account /attribute: get: tags: - Project Settings summary: /attribute description: Returns all attributes within a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Attribute' '400': description: | - Project ID required - Project does not exist in your account /attribute/{asset_type}: get: tags: - Project Settings summary: /attribute/{asset_type} description: Returns all attributes for an asset type parameters: - in: path name: asset_type description: Asset type that attribute is connected to schema: type: string enum: - campus - building - equipment - floor - space - system - type - zone required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: page schema: type: integer default: 1 required: false description: The page (offset) of records to return. Pages have a limit of 500 records. **Campus does not use pagination** responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/AttributeDetail' '400': description: | - Project ID required - Project does not exist in your account - Asset type required - Invalid Asset Type /attribute/{asset_type}/{asset_id}: get: tags: - Project Settings summary: /attribute/{asset_type}/{asset_id} description: Returns attributes for a single asset type parameters: - in: path name: asset_type description: Asset type that attribute is connected to schema: type: string enum: - campus - building - equipment - floor - space - system - type - zone required: true - in: path name: asset_id description: Specific asset ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: page schema: type: integer default: 1 required: false description: The page (offset) of records to return. Pages have a limit of 500 records. **Campus does not use paginaton** responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/AttributeDetail' '400': description: | - Project ID required - Project does not exist in your account - Asset type required - Invalid Asset Type /area_served: get: tags: - Project Settings summary: /area_served description: Returns all the area served in a project parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: asset_id schema: type: integer description: The asset id - in: query name: asset_type schema: type: string enum: - building - equipment - space - floor - zone - campus description: The asset type - in: query name: served_id schema: type: integer description: The served id responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/AreaServed' '400': description: | - Project ID required - Project does not exist in your account - Asset type not allowed - Area served does not exist /discipline: get: tags: - Project Settings summary: /discipline description: Returns all the disciplines in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Discipline' '400': description: | - Project ID required - Project does not exist in your account /discipline/{discipline_id}: get: tags: - Project Settings summary: /discipline/{discipline_id} description: Returns a specific discipline parameters: - in: path name: discipline_id description: Specific discipline ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Discipline' '400': description: | - Project ID required - Project does not exist in your account /equipment_system: get: tags: - Project Settings summary: /equipment_system description: Returns all the equipment system in a project parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: equipment_id schema: type: integer description: The equipment id - in: query name: system_id schema: type: integer description: The system id - in: query name: equipment_system_id schema: type: integer description: The equipment system id responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/EquipmentSystem' '400': description: | - Project ID required - Project does not exist in your account - Equipment System does not exist /issuetype: get: tags: - Project Settings summary: /issuetype description: Returns all the issue types in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Issuetype' '400': description: | - Project ID required - Project does not exist in your account /issuetype/{issuetype_id}: get: tags: - Project Settings summary: /issuetype/{issuetype_id} description: Returns a specific issue type parameters: - in: path name: issuetype_id description: Specific issuetype ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Issuetype' '400': description: | - Project ID required - Project does not exist in your account /checkliststatus: get: tags: - Project Settings summary: /checkliststatus description: Returns all the checklist statuses in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Checkliststatus' '400': description: | - Project ID required - Project does not exist in your account /checkliststatus/{checkliststatus_id}: get: tags: - Project Settings summary: /checkliststatus/{checkliststatus_id} description: Returns a specific checklist status parameters: - in: path name: checkliststatus_id description: Specific checklist status ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Checkliststatus' '400': description: | - Project ID required - Project does not exist in your account /checkliststatus_create: post: tags: - Project Settings summary: /checkliststatus_create description: Create a new checklist status on a project requestBody: $ref: '#/components/requestBodies/checkliststatus_createRequest' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Checkliststatus' '400': description: | - Project does not exist in your account. - Project ID required - Name can not be empty. - Name required. - Color does not exist. - Color required. /checkliststatus_update: post: tags: - Project Settings summary: /checkliststatus_update description: Update checklist status on a project requestBody: $ref: '#/components/requestBodies/checkliststatus_updateRequest' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Checkliststatus' '400': description: | - Project does not exist in your account. - Project ID required - Checklist Status does not exist. - Checklist Status ID required. - Color does not exist. /checkliststatus_delete: post: tags: - Project Settings summary: /checkliststatus_delete description: Delete a checklist status then return message "Delete Successful" requestBody: $ref: '#/components/requestBodies/checkliststatus_deleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - Checklist Status does not exist - Checklist Status does not exist in your project. - Checklist Status ID required. /equipmentstatus: get: tags: - Project Settings summary: /equipmentstatus description: Returns all the equipment statuses in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Equipmentstatus' '400': description: | - Project ID required - Project does not exist in your account /equipmentstatus/{equipmentstatus_id}: get: tags: - Project Settings summary: /equipmentstatus/{equipmentstatus_id} description: Returns a specific equipment status parameters: - in: path name: equipmentstatus_id description: Specific equipment status ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Equipmentstatus' '400': description: | - Project ID required - Project does not exist in your account /equipmentstatus_update: post: tags: - Project Settings summary: /equipmentstatus_update description: Update equipment statuses on a project requestBody: $ref: '#/components/requestBodies/equipmentstatus_updateRequest' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Equipmentstatus' '400': description: | - Project does not exist in your account. - Project ID required - Equipment Status does not exist. - Equipment status does not exist in your project. - Equipment Status ID required. - Color does not exist. /issuestatus: get: tags: - Project Settings summary: /issuestatus description: Returns all the issue statuses in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Issuestatus' '400': description: | - Project ID required - Project does not exist in your account /issuestatus/{issuestatus_id}: get: tags: - Project Settings summary: /issuestatus/{issuestatus_id} description: Returns a specific issue status parameters: - in: path name: issuestatus_id description: Specific issue status ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Issuestatus' '400': description: | - Project ID required - Project does not exist in your account /testattemptstatus: get: tags: - Project Settings summary: /testattemptstatus description: Returns all the test attempt statuses in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Testattemptstatus' '400': description: | - Project ID required - Project does not exist in your account /testattemptstatus/{testattemptstatus_id}: get: tags: - Project Settings summary: /testattemptstatus/{testattemptstatus_id} description: Returns a specific test attempt statuses parameters: - in: path name: testattemptstatus_id description: Specific test attempt status ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Testattemptstatus' '400': description: | - Project ID required - Project does not exist in your account /priority: get: tags: - Project Settings summary: /priority description: Returns all the issue priority statuses in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Priority' '400': description: | - Project ID required - Project does not exist in your account /priority/{issuepriority_id}: get: tags: - Project Settings summary: /priority/{issuepriority_id} description: Returns a specific issue priority status parameters: - in: path name: issuepriority_id description: Specific issue priority status ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Priority' '400': description: | - Project ID required - Project does not exist in your account /fieldobservationtype: get: tags: - Project Settings summary: /fieldobservationtype description: Returns all the field observation types in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Fieldobservationtype' '400': description: | - Project ID required - Project does not exist in your account /fieldobservationtype/{fieldobservationtype_id}: get: tags: - Project Settings summary: /fieldobservationtype/{fieldobservationtype_id} description: Returns a specific field observation type parameters: - in: path name: fieldobservationtype_id description: Specific field observation type ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Fieldobservationtype' '400': description: | - Project ID required - Project does not exist in your account /checklisttype: get: tags: - Project Settings summary: /checklisttype description: Returns all the checklist types in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Checklisttype' '400': description: | - Project ID required - Project does not exist in your account /checklisttype/{checklisttype_id}: get: tags: - Project Settings summary: /checklisttype/{checklisttype_id} description: Returns a specific checklist type parameters: - in: path name: checklisttype_id description: Specific checklist type ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Checklisttype' '400': description: | - Project ID required - Project does not exist in your account /reviewtype: get: tags: - Project Settings summary: /reviewtype description: Returns all the review types in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Reviewtype' '400': description: | - Project ID required - Project does not exist in your account /reviewtype/{reviewtype_id}: get: tags: - Project Settings summary: /reviewtype/{reviewtype_id} description: Returns a specific review type parameters: - in: path name: reviewtype_id description: Specific review type ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Reviewtype' '400': description: | - Project ID required - Project does not exist in your account /reviewremark: get: tags: - Project Settings summary: /reviewremark description: Returns all the review remarks in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Reviewremark' '400': description: | - Project ID required - Project does not exist in your account /reviewremark/{reviewremark_id}: get: tags: - Project Settings summary: /reviewremark/{reviewremark_id} description: Returns a specific review remark parameters: - in: path name: reviewremark_id description: Specific review remark ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Reviewremark' '400': description: | - Project ID required - Project does not exist in your account /space_zone: get: tags: - Project Settings summary: /space_zone description: Returns all the space zone in a project parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: space_id schema: type: integer description: The space id - in: query name: zone_id schema: type: integer description: The zone id - in: query name: space_zone_id schema: type: integer description: The space zone id responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/SpaceZone' '400': description: | - Project ID required - Project does not exist in your account - Space Zone does not exist /campus: get: tags: - Assets summary: /campus description: Returns all campuses on a project parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - buildings - served_by - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Campus' '400': description: | - Project ID required - Project does not exist in your account /campus_create: post: tags: - Assets summary: /campus_create description: Create a campus then return that campus requestBody: $ref: '#/components/requestBodies/campusCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Campus' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Need to set a name /campus_delete: post: tags: - Assets summary: /campus_delete description: Delete a campus then return message "Delete Successful" requestBody: $ref: '#/components/requestBodies/campusDeleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - Campus does not exist - Campus does not exist in your project. - Campus Item ID required. /campus_update: post: tags: - Assets summary: /campus_update description: Update a campus then return that campus requestBody: $ref: '#/components/requestBodies/campusUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Campus' '400': description: | - Project does not exist in your account - Project ID required - Campus does not exist. - Campus does not exist in your project. - Campus Item ID required - Name can not be empty. /campus/{campus_id}: get: tags: - Assets summary: /campus/{campus_id} description: Returns a single campus parameters: - in: path name: campus_id description: Specific campus ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - buildings - served_by - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Campus' '400': description: | - Project ID required - Project does not exist in your account /building: get: tags: - Assets summary: /building description: Returns all buildings on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - floors - zones - served_by - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Building' '400': description: | - Project ID required - Project does not exist in your account /building/{building_id}: get: tags: - Assets summary: /building/{building_id} description: Returns a single building parameters: - in: path name: building_id description: Specific building ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - floors - zones - served_by - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Building' '400': description: | - Project ID required - Project does not exist in your account /building_create: post: tags: - Assets summary: /building_create description: Create a building then return that building requestBody: $ref: '#/components/requestBodies/buildingCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Building' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Need to set a name /building_update: post: tags: - Assets summary: /building_update description: Update a building then return that building requestBody: $ref: '#/components/requestBodies/buildingUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Building' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Building does not exist - Building does not exist in project - Building ID required /building_delete: post: tags: - Assets summary: /building_delete description: Delete a building then return message "Delete Successful" requestBody: $ref: '#/components/requestBodies/buildingDeleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - Building does not exist - Building does not exist in project - Building ID required /equipment: get: tags: - Assets summary: /equipment description: Returns all equipment on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - systems - zones - attributes - areas_served - issues - checklists - tests - files - collaborators - time_to_close - extended_status responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipment' '400': description: | - Project ID required - Project does not exist in your account /equipment/{equipment_id}: get: tags: - Assets summary: /equipment/{equipment_id} description: Returns a single piece of equipment parameters: - in: path name: equipment_id description: Specific equipment ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - systems - zones - attributes - areas_served - issues - checklists - tests - files - collaborators responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipment' '400': description: | - Project ID required - Project does not exist in your account /equipment_create: post: tags: - Assets summary: /equipment_create description: Create an equipment requestBody: $ref: '#/components/requestBodies/equipmentCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Equipment' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Need to set a name - Type ID does not exist. - Discipline ID does not exist. - Space ID does not exist. - Equipment Status ID does not exist - Equipment system must be an array of strings. - System does not exist /equipment_delete: post: tags: - Assets summary: /equipment_delete description: Delete an equipment record requestBody: $ref: '#/components/requestBodies/equipmentDeleteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/equipmentDeleteFilterResponse' '400': description: | - Project does not exist in your account - Project ID required - Equipment does not exist. - Equipment does not exist in your project. /equipment_update: post: tags: - Assets summary: /equipment_update description: Update a specific equipment requestBody: $ref: '#/components/requestBodies/equipment_updateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipment' '400': description: | - Project ID required - Project does not exist in your account - Equipment does not exist. - Equipment does not exist in your project. - Equipment Item ID required. - Equipment status does not exist. - Equipment status does not exist in your project. /equipmentattribute: get: tags: - Assets summary: /equipmentattribute description: Returns all the equipment attributes in a project parameters: - $ref: '#/components/parameters/ProjectParam' responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Equipmentattribute' '400': description: | - Project ID required - Project does not exist in your account /equipmentattribute/{equipmentattribute_id}: get: tags: - Assets summary: /equipmentattribute/{equipmentattribute_id} description: Returns a specific equipment attribute parameters: - in: path name: equipmentattribute_id description: Specific equipment attribute ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipmentattribute' '400': description: | - Project ID required - Project does not exist in your account /equipmentattribute_delete: post: tags: - Assets summary: /equipmentattribute_delete description: Delete an equipment attribute record requestBody: $ref: '#/components/requestBodies/equipmentattributeDeleteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/equipmentattributeDeleteFilterResponse' '400': description: | - Project does not exist in your account - Project ID required - Equipment Attribute ID required. /equipmentattribute_create: post: tags: - Assets summary: /equipmentattribute_create description: Create an equipment attribute record requestBody: $ref: '#/components/requestBodies/equipmentattributeCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Equipmentattribute' '400': description: | - Project does not exist in your account - Project ID required - Equipment does not exist. - Equipment does not exist in your project. - Equipment Item ID required. - Attribute does not exist. - Attribute does not exist in your project. - Attribute ID required. - Value can not be empty. /equipmentattribute_update: post: tags: - Assets summary: /equipmentattribute_update description: Update an equipment attribute record requestBody: $ref: '#/components/requestBodies/equipmentattributeUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Equipmentattribute' '400': description: | - Project does not exist in your account - Project ID required - Equipment Attribute does not exist. - Equipment Attribute does not exist in your project. - Equipment Attribute ID required. - Value can not be empty. - No Equipment to update. /equipmenttype: get: tags: - Assets summary: /equipmenttype description: Returns all equipment types on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipmenttype' '400': description: | - Project ID required - Project does not exist in your account /equipmenttype/{type_id}: get: tags: - Assets summary: /equipmenttype/{type_id} description: Returns a single equipment type parameters: - in: path name: type_id description: Specific equipment type ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipmenttype' '400': description: | - Project ID required - Project does not exist in your account /equipmenttype_create: post: tags: - Assets summary: /equipmenttype_create description: Create an equipment type record requestBody: $ref: '#/components/requestBodies/equipmenttypeCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Equipmenttype' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Need to set a name - Discipline ID does not exist. /equipmenttype_update: post: tags: - Assets summary: /equipmenttype_update description: Update an equipment type record requestBody: $ref: '#/components/requestBodies/equipmenttypeUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Equipmenttype' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Need to set a name - Discipline ID does not exist. /equipmenttype_delete: post: tags: - Assets summary: /equipmenttype_delete description: Delete an equipment type record requestBody: $ref: '#/components/requestBodies/equipmenttypeDeleteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/equipmenttypeDeleteFilterResponse' '400': description: | - Project does not exist in your account - Project ID required - Equipment Type does not exist - Equipment Type does not exist in your project - Equipment Type ID required /equipmenttypeattribute: get: tags: - Assets summary: /equipmenttypeattribute description: Returns all equipment type attributes on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipmenttypeattribute' '400': description: | - Project ID required - Project does not exist in your account /equipmenttypeattribute/{equipmenttypeattribute_id}: get: tags: - Assets summary: /equipmenttypeattribute/{equipmenttypeattribute_id} description: Returns a single equipment type attribute parameters: - in: path name: equipmenttypeattribute_id description: Specific equipment type attribute ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipmenttypeattribute' '400': description: | - Project ID required - Project does not exist in your account /equipmenttypeattribute_create: post: tags: - Assets summary: /equipmenttypeattribute_create description: Create an equipment type attribute record requestBody: $ref: '#/components/requestBodies/equipmenttypeattributeCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Equipmenttypeattribute' '400': description: | - Project does not exist in your account - Project ID required - Value can not be empty. - Need to set a value. - Attribute does not exist. - Attribute does not exist in your project. - Equipment Type does not exist. - Equipment Type does not exist in your project. - Equipment Type ID required. /equipmenttypeattribute_update: post: tags: - Assets summary: /equipmenttypeattribute_update description: Update a specific equipment type attribute requestBody: $ref: '#/components/requestBodies/equipmenttypeattributeUpdateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Equipmenttypeattribute' '400': description: | - Project ID required - Project does not exist in your account - Equipment Type Attribute does not exist. - Equipment Type Attribute does not exist in your project. - Value can not be empty. - Need to set a value. - No Equipment Type Attribute to update. - Equipment Type Attribute ID required. /equipmenttypeattribute_delete: post: tags: - Assets summary: /equipmenttypeattribute_delete description: Delete an equipment type attribute record requestBody: $ref: '#/components/requestBodies/equipmenttypeattributeDeleteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/equipmenttypeattributeDeleteFilterResponse' '400': description: | - Project does not exist in your account - Project ID required - Equipment Type Attribute does not exist. - Equipment Type Attribute does not exist in your project. - Equipment Type Attribute ID required. /floor: get: tags: - Assets summary: /floor description: Returns all floors on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - spaces - served_by - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Floor' '400': description: | - Project ID required - Project does not exist in your account /floor/{floor_id}: get: tags: - Assets summary: /floor/{floor_id} description: Returns a single floor parameters: - in: path name: floor_id description: Specific floor ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - spaces - served_by - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Floor' '400': description: | - Project ID required - Project does not exist in your account /floor_create: post: tags: - Assets summary: /floor_create description: Create a floor then return that floor requestBody: $ref: '#/components/requestBodies/floorCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Floor' '400': description: | - Project does not exist in your account - Project ID required - Name can not empty - Name is required - Building does not exist - Building does not exist in project /floor_update: post: tags: - Assets summary: /floor_update description: Update a floor then return that floor requestBody: $ref: '#/components/requestBodies/floorUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Floor' '400': description: | - Project does not exist in your account - Project ID required - Name can not empty - Floor does not exist - Floor does not exist in project - Floor ID is required - Building does not exist - Building does not exist in project /floor_delete: post: tags: - Assets summary: /floor_delete description: Delete a floor then return message "Delete Successful" requestBody: $ref: '#/components/requestBodies/floorDeleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - Floor does not exist - Floor does not exist in project - Floor ID required /space: get: tags: - Assets summary: /space description: Returns all spaces on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - equipment - served_by - issues - checklists - tests - files - zones responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Space' '400': description: | - Project ID required - Project does not exist in your account /space/{space_id}: get: tags: - Assets summary: /space/{space_id} description: Returns a single space parameters: - in: path name: space_id description: Specific space ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - equipment - served_by - issues - checklists - tests - files - zones responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Space' '400': description: | - Project ID required - Project does not exist in your account /space_create: post: tags: - Assets summary: /space_create description: Create a space then return that space requestBody: $ref: '#/components/requestBodies/spaceCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Space' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Name required. - Floor does not exist. - Floor does not exist in project. - Zone {$id} does not exist - Zone {$id} does not exist in project. /space_update: post: tags: - Assets summary: /space_update description: Update a space then return that space requestBody: $ref: '#/components/requestBodies/spaceUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Space' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Name required. - Floor does not exist. - Floor does not exist in project. - Zone XXX does not exist - Zone XXX does not exist in project. - Space does not exist - Space does not exist in your project. - Space ID required. /space_delete: post: tags: - Assets summary: /space_delete description: Delete a space then return message "Delete Successful" requestBody: $ref: '#/components/requestBodies/spaceDeleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - Space does not exist - Space does not exist in your project. - Space Item ID required. /system: get: tags: - Assets summary: /system description: Returns all systems on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - equipment - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/System' '400': description: | - Project ID required - Project does not exist in your account /system/{system_id}: get: tags: - Assets summary: /system/{system_id} description: Returns a single system parameters: - in: path name: system_id description: Specific system ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - equipment - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/System' '400': description: | - Project ID required - Project does not exist in your account /system_create: post: tags: - Assets summary: /system_create description: Create a system then return that space requestBody: $ref: '#/components/requestBodies/systemCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/System' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Name required. - Building does not exist. - Building does not exist in project. - Discipline does not exist. - Discipline does not exist in project. /system_update: post: tags: - Assets summary: /system_update description: Update a system then return that space requestBody: $ref: '#/components/requestBodies/systemUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/System' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Name required. - Building does not exist. - Building does not exist in project. - Discipline does not exist. - Discipline does not exist in project. - System does not exist - System does not exist in project - System is required /system_delete: post: tags: - Assets summary: /system_delete description: Delete a system then return message "Delete Successful" requestBody: $ref: '#/components/requestBodies/systemDeleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - System does not exist - System does not exist in your project. - System Item ID required. /zone: get: tags: - Assets summary: /zone description: Returns all zones on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - spaces - served_by - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Zone' '400': description: | - Project ID required - Project does not exist in your account /zone/{zone_id}: get: tags: - Assets summary: /zone/{zone_id} description: Returns a specific zone parameters: - in: path name: zone_id description: Specific zone ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - attributes - spaces - served_by - issues - checklists - tests - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Zone' '400': description: | - Project ID required - Project does not exist in your account /zone_create: post: tags: - Assets summary: /zone_create description: Create a zone then return that zone requestBody: $ref: '#/components/requestBodies/zoneCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Zone' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Name required. - Building does not exist - Building does not exist in project. /zone_update: post: tags: - Assets summary: /zone_update description: Update a zone then return that zone requestBody: $ref: '#/components/requestBodies/zoneUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Zone' '400': description: | - Project does not exist in your account - Project ID required - Name can not be empty - Name required. - Zone ID is required - Zone does not exist - Zone does not exist in project - Building does not exist - Building does not exist in project. /zone_delete: post: tags: - Assets summary: /zone_delete description: Delete a zone then return message "Delete Successful" requestBody: $ref: '#/components/requestBodies/zoneDeleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - Zone does not exist - Zone does not exist in project - Zone ID required /fieldobservation: get: tags: - Reports summary: /fieldobservation description: Returns all the field observations in a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - comments - issues - files - collaborators responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Fieldobservation' '400': description: | - Project ID required - Project does not exist in your account /fieldobservation/{fieldobservation_id}: get: tags: - Reports summary: /fieldobservation/{fieldobservation_id} description: Returns a specific field observation parameters: - in: path name: fieldobservation_id description: Specific field observation ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - comments - issues - files - collaborators responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Fieldobservation' '400': description: | - Project ID required - Project does not exist in your account /review: get: tags: - Reviews summary: /review description: Returns all the reviews in a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - issues - files - collaborators responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Review' '400': description: | - Project ID required - Project does not exist in your account /review/{review_id}: get: tags: - Reviews summary: /review/{review_id} description: Returns a specific review parameters: - in: path name: review_id description: Specific review ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - issues - files - collaborators responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Review' '400': description: | - Project ID required - Project does not exist in your account /task: get: tags: - Tasks summary: /task description: Returns all the tasks in a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - comments responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Task' '400': description: | - Project ID required - Project does not exist in your account /task/{task_id}: get: tags: - Tasks summary: /task/{task_id} description: Returns a specific task parameters: - in: path name: task_id description: Specific task ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - comments responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Task' '400': description: | - Project ID required - Project does not exist in your account /checklist: post: tags: - Checklists summary: /checklist description: | Returns checklist records Please note that un-upgraded projects are not going to have `assigned name, type and key`. In un-upgraded projects that data is contained in the **checklist section** data. Since upgraded projects no longer have sections that data is included on the **checklist** object. requestBody: $ref: '#/components/requestBodies/checklistRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/checklistFilterResponse' '400': description: | - Project ID required - Project does not exist in your account - Upgraded projects do not have checklist sections to include - Un-upgraded projects cannot include lines without including sections too. /checklistsection: get: tags: - Checklists summary: /checklistsection description: Returns all the sections in a checklist parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - lines responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Checklistsection' '400': description: | - Project ID required - Project does not exist in your account - Checklist ID required /checklistsection/{checklistsection_id}: get: tags: - Checklists summary: /checklistsection/{checklistsection_id} description: Returns a specific checklist section parameters: - in: path name: checklistsection_id description: Specific checklist section ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - lines responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Checklistsection' '400': description: | - Project ID required - Project does not exist in your account /checklistsection_update: post: tags: - Checklists summary: /checklistsection_update description: Update an checklist section record requestBody: $ref: '#/components/requestBodies/ChecklistsectionUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Checklistsection' '400': description: | - Project does not exist in your account - Project ID required - Checklist Section does not exist - Checklist Section does not exist in project. - Checklist Section ID required. - Checklist Section status does not exist. - Checklist Section status does not exist in project. - Name can not be empty. /checklistsection_create: post: tags: - Checklists summary: /checklistsection_create description: Create an checklist section record requestBody: $ref: '#/components/requestBodies/ChecklistsectionCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Checklistsection' '400': description: | - Project does not exist in your account - Project ID required - Checklist ID does not exist. - Checklist ID does not exist in your project. - Checklist ID required. - Checklist Type ID does not exist. - Checklist Type ID does not exist in project. - Name can not be empty. - Name is required. - Checklist Section status does not exist. - Checklist Section status does not exist in project. /checklistsection_delete: post: tags: - Checklists summary: /checklistsection_delete description: Delete an checklist section record requestBody: $ref: '#/components/requestBodies/checklistsectionDeleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - Checklist section does not exist. - Checklist section does not exist in your project. /checklistline: get: tags: - Checklists summary: /checklistline description: Returns all the checklist lines in a checklist parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: checklist_id schema: type: integer required: true description: The checklist id - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - issues - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Checklistline' '400': description: | - Project ID required - Project does not exist in your account - Checklist ID required /checklistline/{checklistline_id}: get: tags: - Checklists summary: /checklistline/{checklistline_id} description: Returns a specific checklist line parameters: - in: path name: checklistline_id description: Specific checklist line ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - issues - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Checklistline' '400': description: | - Project ID required - Project does not exist in your account /checklistline_create: post: tags: - Checklists summary: /checklistline_create description: Returns the checklist line in a checklist you created requestBody: $ref: '#/components/requestBodies/checklistLineRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Checklistline' '400': description: | - Project ID required - Project does not exist in your account - Checklist Line type required. - Checklist Line type not valid. - Attribute does not exist. - Attribute does not exist in your project. - Label not allowed. Needs to be "passed", "failed", "NA" /checklistline_update: post: tags: - Checklists summary: /checklistline_update description: Returns the checklist line in a checklist you updated. You only have to send in fields that you would like to update. Any field you don't send in to update will remain the value it is. requestBody: $ref: '#/components/requestBodies/checklistLineUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Checklistline' '400': description: | - Project ID required - Project does not exist in your account - Checklist Line type required. - Checklist Line type not valid. - Attribute does not exist. - Attribute does not exist in your project. - Label not allowed. Needs to be "passed", "failed", "NA" /checklistline_delete: post: tags: - Checklists summary: /checklistline_delete description: Delete a checklist line record requestBody: $ref: '#/components/requestBodies/checklistLineDeleteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Checklistline' '400': description: | - Project does not exist in your account - Project ID required - Checklist Line does not exist. - Checklist Line does not exist in your project. - Checklist Line ID required. /checklistlineanswer_update: post: tags: - Checklists summary: /checklistlineanswer_update description: Answer a checklist line record. As of right now you can not answer line types = file and signature. requestBody: $ref: '#/components/requestBodies/checklistLineAnswerUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Checklistline' '400': description: | - Project does not exist in your account - Project ID required - Checklist Line does not exist. - Checklist Line does not exist in your project. - Checklist Line ID required. /checklisttemplate/{checklisttemplate_id}: get: tags: - Checklists summary: /checklisttemplate description: Get a checklist template record(s) parameters: - in: path name: checklisttemplate_id description: Specific checklist template ID. You don't need to include this in the path. If you don't all checklist templates in the project will return. schema: type: integer required: false - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - lines responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ChecklistTemplate' '400': description: | - Project does not exist in your account - Project ID required /test: post: tags: - Tests summary: /test description: Returns test records requestBody: $ref: '#/components/requestBodies/testRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/testFilterResponse' '400': description: | - Project ID required - Project does not exist in your account /test_create: post: tags: - Tests summary: /test_create description: Create a test and then returns the test just created requestBody: $ref: '#/components/requestBodies/testCreateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Test' '400': description: | - Project ID required - Project does not exist in your account - Asset Key does not exist - Asset Key does not exist in project. - Template ID does not exist. - Template ID does not exist in project. - Asset Key must be set to include asset name. - Template ID must be set to include template name. - Name can not be empty. - include_asset_name must be set to TRUE OR include_template_name must be set to TRUE OR name must be set. - Assigned Key does not exist /test_delete: post: tags: - Tests summary: /test_delete description: Delete a test record requestBody: $ref: '#/components/requestBodies/testDeleteRequest' responses: '200': description: Success - Delete Successful '400': description: | - Project does not exist in your account - Project ID required - Test does not exist. - Test does not exist in your project. - Test ID required. /test_update: post: tags: - Tests summary: /test_update description: Update a test and then returns the test just updated requestBody: $ref: '#/components/requestBodies/testUpdateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Test' '400': description: | - Project ID required - Project does not exist in your account - Test ID does not exist - Test ID required. - Asset Key does not exist - Asset Key does not exist in project. - Asset Key must be set to include asset name. - Name can not be empty. /testattempt: get: tags: - Tests summary: /testattempt description: Returns all the test attempts in a test parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: test_id schema: type: integer required: true description: The test id - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - lines - time_to_close - extended_status responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Testattempt' '400': description: | - Project ID required - Project does not exist in your account - Test ID required /testattempt/{testattempt_id}: get: tags: - Tests summary: /testattempt/{testattempt_id} description: Returns a specific test attempt parameters: - in: path name: testattempt_id description: Specific test attempt ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - lines responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Testattempt' '400': description: | - Project ID required - Project does not exist in your account /testattempt_create: post: tags: - Tests summary: /testattempt_create description: Create a test attempt within a test requestBody: $ref: '#/components/requestBodies/testattemptCreateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Testattempt' '400': description: | - Project ID required - Project does not exist in your account - Test ID required - Test ID does not exist in project - Create From required - Test attempt does not exist - Test Attempt does not exist in project - Attempt ID does not exist - Attempt ID required - Template ID required - Test template does not exist - Test template does not exist in project - Test template does not exist in account /testattemptline: get: tags: - Tests summary: /testattemptline description: Returns all the test attempt lines in a test attempt parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: testattempt_id schema: type: integer required: true description: The test attempt id - $ref: '#/components/parameters/PageParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - issues - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Testattemptline' '400': description: | - Project ID required - Project does not exist in your account - Test attempt ID required /testattemptline/{testattemptline_id}: get: tags: - Tests summary: /testattemptline/{testattemptline_id} description: Returns a specific test attempt line parameters: - in: path name: testattemptline_id description: Specific test attempt ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. (comma separated string) Possible includes are - issues - files responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Testattemptline' '400': description: | - Project ID required - Project does not exist in your account /testattemptline_create: post: tags: - Tests summary: /testattemptline_create description: Create a test attempt line within a test attempt requestBody: $ref: '#/components/requestBodies/testattemptLineCreateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Testattemptline' '400': description: | - Project ID required - Project does not exist in your account - Test attempt(s) does not exist - Test Attempt does not exist in project. - Test attempt ID required. - Test Attempt line type not valid. - Attribute does not exist. - Attribute does not exist in your project. - Label not allowed. Your label must be a string and not empty. - Label Key(s) not allowed. Needs to be \"passed\", \"failed\", \"NA\" - Option not allowed. Your label must be a string and not empty. - Option Key(s) not allowed. Needs to be \"passed\", \"failed\", \"NA\" /testattemptline_update: post: tags: - Tests summary: /testattemptline_update description: Returns the test attempt line in a test attempt you updated. You only have to send in fields that you would like to update. Any field you don't send in to update will remain the value it is. requestBody: $ref: '#/components/requestBodies/testattemptLineUpdateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Testattemptline' '400': description: | - Project ID required - Project does not exist in your account - Test attempt(s) does not exist - Test Attempt does not exist in project. - Test attempt ID required. - Test Attempt line type not valid. - Attribute does not exist. - Attribute does not exist in your project. - Label not allowed. Your label must be a string and not empty. - Label Key(s) not allowed. Needs to be \"passed\", \"failed\", \"NA\" - Option not allowed. Your label must be a string and not empty. - Option Key(s) not allowed. Needs to be \"passed\", \"failed\", \"NA\" /testattemptline_delete: post: tags: - Tests summary: /testattemptline_delete description: Delete a test attempt line record requestBody: $ref: '#/components/requestBodies/testattemptLineDeleteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Testattemptline' '400': description: | - Project does not exist in your account - Project ID required - Test Attempt Line does not exist. - Test Attempt Line does not exist in your project. - Test Attempt Line ID required. /testattemptlineanswer_update: post: tags: - Tests summary: /testattemptlineanswer_update description: Answer a test attempt line record. As of right now you can not answer line types = file and signature. requestBody: $ref: '#/components/requestBodies/testattemptLineAnswerUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Testattemptline' '400': description: | - Project does not exist in your account - Project ID required - Test Attempt Line does not exist. - Test Attempt Line does not exist in your project. - Test Attempt Line ID required. /testtemplate/{testtemplate_id}: get: tags: - Tests summary: /testtemplate description: Get a test template record(s) parameters: - in: path name: testtemplate_id description: Specific test template ID. You don't need to include this in the path. If you don't all test templates in the project will return. schema: type: integer required: false - $ref: '#/components/parameters/ProjectParam' - in: query name: include schema: type: string required: false description: | This will include related data in the results. Possible includes are - lines responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TestTemplate' '400': description: | - Project does not exist in your account - Project ID required /testtemplate_create: post: tags: - Tests summary: /testtemplate_create description: Create a test template record requestBody: $ref: '#/components/requestBodies/testtemplateCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TestTemplate' '400': description: | - Project ID required - Project does not exist in your account /testtemplate_update: post: tags: - Tests summary: /testtemplate_update description: Update a test template record requestBody: $ref: '#/components/requestBodies/testtemplateUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TestTemplate' '400': description: | - Project ID required - Project does not exist in your account /testtemplate_delete: post: tags: - Tests summary: /testtemplate_delete description: Delete a test template record requestBody: $ref: '#/components/requestBodies/testtemplateDeleteRequest' responses: '200': description: Successful Delete '400': description: | - Project ID required - Project does not exist in your account /issue: post: tags: - Issues summary: /issue description: Returns issue records requestBody: $ref: '#/components/requestBodies/issueRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/issueFilterResponse' '400': description: | - Project ID required - Project does not exist in your account /issue_update: post: tags: - Issues summary: /issue_update description: Updates an issue record requestBody: $ref: '#/components/requestBodies/issueUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/issueUpdateFilterResponse' '400': description: | - Project does not exist in your account - Project ID required - Issue does not exist - Issue does not exist in your project - Issue ID required - Assigned ket format is not correct - Due date format is incorrect - Description can not be empty - Asset key format is not correct - Building does not exist - Building does not exist in your project - Equipment does not exist - Equipment does not exist in your project - Floor does not exist - Floor does not exist in your project - Space does not exist - Space does not exist in your project - Zone does not exist - Zone does not exist in your project - System does not exist - System does not exist in your project - Type does not exist - Type does not exist in your project - Issue status does not exist - Issue Status does not exist in your project - Issue Priority does not exist - Issue Priority does not exist in your project - Discipline does not exist - Discipline does not exist in your project - Issuetype does not exist - Issuetype does not exist in your project /issue_delete: post: tags: - Issues summary: /issue_delete description: Delete an issue record requestBody: $ref: '#/components/requestBodies/issueDeleteRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/issueDeleteFilterResponse' '400': description: | - Project does not exist in your account - Project ID required - Issue does not exist - Issue does not exist in your project - Issue ID required - Assigned ket format is not correct /issue_create: post: tags: - Issues summary: /issue_create description: Creates an issue record requestBody: $ref: '#/components/requestBodies/issueCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/issueCreateFilterResponse' '400': description: | - Source format is not correct - Project does not exist in your account - Project ID required - Assigned ket format is not correct - Person does not exist - Person does not exist in your project - Company does not exist - Company does not exist in your project - Role does not exist - Role does not exist in your project - Due date format is incorrect - Description can not be empty - Asset key format is not correct - Building does not exist - Building does not exist in your project - Equipment does not exist - Equipment does not exist in your project - Floor does not exist - Floor does not exist in your project - Space does not exist - Space does not exist in your project - Zone does not exist - Zone does not exist in your project - System does not exist - System does not exist in your project - Type does not exist - Type does not exist in your project - Issue status does not exist - Issue Status does not exist in your project - Issue Priority does not exist - Issue Priority does not exist in your project - Discipline does not exist - Discipline does not exist in your project - Issue Type does not exist - Issue Type does not exist in your project /issueattribute: get: tags: - Issues summary: /issueattribute description: Get all issue attributes for a project or for a specific issue or a specific attribute parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: issue_id description: The issue ID the issue attribute is connected to. You can get issue_id from POST /issue [issue_id] schema: type: integer - in: query name: attribute_id description: The attribute ID the issue attribute is connected to. You can get attribute_id from GET /attribute [attribute_id] schema: type: integer responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueAttribute' '400': description: | - Project ID required - Project does not exist in your account /issueattribute_delete: post: tags: - Issues summary: /issueattribute_delete description: Delete a specific issue attribute requestBody: $ref: '#/components/requestBodies/issueAttributeDeleteRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueAttribute' '400': description: | - Project ID required - Project does not exist in your account - Issue Attribute ID required /issueattribute_update: post: tags: - Issues summary: /issueattribute_update description: Update a specific issue attribute requestBody: $ref: '#/components/requestBodies/issueAttributeUpdateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueAttribute' '400': description: | - Project ID required - Project does not exist in your account - Issue Attribute ID required /issueattribute_create: post: tags: - Issues summary: /issueattribute_create description: Create an issue attribute requestBody: $ref: '#/components/requestBodies/issueAttributeCreateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueAttribute' '400': description: | - Project ID required - Project does not exist in your account - Issue does not exist - Issue does not exist in your project - Issue Attribute ID required - Attribute does not exist in your project - Issue Attribute value required - Issue ID required /issuecomment: get: tags: - Issues summary: /issuecomment description: Returns all the issue comments in an issue parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: issue_id schema: type: integer required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueComment' '400': description: | - Project ID required - Project does not exist in your account - Issue ID required - Issue does not exist - Issue does not exist in your project /issuecomment/{issuecomment_id}: get: tags: - Issues summary: /issuecomment/{issuecomment_id} description: Returns a single piece of issue comment parameters: - in: path name: issuecomment_id description: Specific issue comment ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueComment' '400': description: | - Project ID required - Project does not exist in your account - Issue comment does not exist - Issue comment does not exist in your project /issuecomment_create: post: tags: - Issues summary: /issuecomment_create description: Create an issue comment requestBody: $ref: '#/components/requestBodies/issueCommentCreateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueComment' '400': description: | - Project ID required - Project does not exist in your account - Issue does not exist - Issue does not exist in your project - Issue ID required /issuecomment_update: post: tags: - Issues summary: /issuecomment_update description: Update an issue comment requestBody: $ref: '#/components/requestBodies/issueCommentUpdateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueComment' '400': description: | - Project ID required - Project does not exist in your account - Issue comment does not exist - Issue comment does not exist in your project - Issue comment ID required - Comment can not be empty /issuecomment_delete: post: tags: - Issues summary: /issuecomment_delete description: Delete an issue comment requestBody: $ref: '#/components/requestBodies/issueCommentDeleteRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/IssueComment' '400': description: | - Project ID required - Project does not exist in your account - Issue comment does not exist - Issue comment does not exist in your project - Issue comment ID required /history: post: tags: - History summary: /history description: Returns history records requestBody: $ref: '#/components/requestBodies/historyRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/History' '400': description: | - Project ID required - Project does not exist in your account /milestonegroup: post: tags: - Milestones summary: /milestonegroup description: Returns Milestonegroup records requestBody: $ref: '#/components/requestBodies/milestonegroupRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Milestonegroup' '400': description: | - Project ID required - Project does not exist in your account - Include must be an array of strings. - Do not have access to milestone feature. /milestonecollection: post: tags: - Milestones summary: /milestonecollection description: Returns Milestonecollection records requestBody: $ref: '#/components/requestBodies/milestonecollectionRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Milestonecollection' '400': description: | - Project ID required - Project does not exist in your account - Include must be an array of strings. - Do not have access to milestone feature. /milestone: post: tags: - Milestones summary: /milestone description: Returns Milestone records requestBody: $ref: '#/components/requestBodies/milestoneRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Milestone' '400': description: | - Project ID required - Project does not exist in your account - Include must be an array of strings. - Do not have access to milestone feature. /milestoneitem: post: tags: - Milestones summary: /milestoneitem description: Returns Milestoneitem records requestBody: $ref: '#/components/requestBodies/milestoneitemRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Milestoneitem' '400': description: | - Project ID required - Project does not exist in your account - Include must be an array of strings. - Do not have access to milestone feature. /milestoneitem_update: post: tags: - Milestones summary: /milestoneitem_update description: Returns Milestoneitem records. After an update requestBody: $ref: '#/components/requestBodies/milestoneitem_updateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Milestoneitem' '400': description: | - Project ID required - Project does not exist in your account - Milestone Item ID required - Milestone Item Date Format Error. - Do not have access to milestone feature. /file: get: tags: - Files summary: /file description: Returns all files on a project parameters: - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/PageParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/File' '400': description: | - Project ID required - Project does not exist in your account /file/{file_id}: get: tags: - Files summary: /file/{file_id} description: Returns a single file parameters: - in: path name: file_id description: Specific file ID schema: type: integer required: true - $ref: '#/components/parameters/ProjectParam' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/File' '400': description: | - Project ID required - Project does not exist in your account /file_delete: post: tags: - Files summary: /file_delete description: Delete a specific file requestBody: $ref: '#/components/requestBodies/FileDeleteRequest' responses: '200': description: Successful operation '400': description: | - Project ID required - Project does not exist in your account - File ID required /pre_upload: post: tags: - Files summary: /pre_upload description: | ### Please see 'File Uploads' section at the top of the API documentation for more information on how to upload a file. In that section, you will find step by step instructions on how to upload a file to S3. Creating an Upload is the first step in associating a file to a resource in CxAlloy. Here you are going to put in the required information so that we can return the authorized headers needed to upload the file to S3. requestBody: $ref: '#/components/requestBodies/PreUploadRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PreUpload' '400': description: | - Project ID required - Project does not exist in your account - File Name required. - File Path required. - File does not exist from path. - File size is blank; please correct your file OR file path. - Exception thrown when attempting to get PDF page count. - File extension is not acceptable. /post_upload: post: tags: - Files summary: /post_upload description: | After you have uploaded the file to S3. You can call this function to get an object of the file you uploaded. requestBody: $ref: '#/components/requestBodies/PostUploadRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/File' '400': description: | - Project ID required - Project does not exist in your account - File ID required. - File does not exist. - Exception thrown when attempting to get PDF page count. - Error converting file to PDF. - Incomplete request. /folder_create: post: tags: - Files summary: /folder_create description: | Create a new folder for a project requestBody: $ref: '#/components/requestBodies/FileFolderCreateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/FileFolder' '400': description: | - Project ID required - Project does not exist in your account - Name can not be empty. - Name is required. - Parent Folder does not exist. - Parent Folder does not exist in your project. /file_tag: get: tags: - Files summary: /file_tag description: Get all the file tags in a project or for a specific file parameters: - $ref: '#/components/parameters/ProjectParam' - in: query name: file_id description: Specific file ID. You can get the file ID from GET /file [file_id] schema: type: integer required: true responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/FileTags' '400': description: | - Project ID required - Project does not exist in your account /file_tag_create: post: tags: - Files summary: /file_tag_create description: Create a specific file tag requestBody: $ref: '#/components/requestBodies/FileTagCreateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/FileTags' '400': description: | - Project ID required - Project does not exist in your account - File tag name required - File does not exist - File does not exist in your project - File ID required /file_tag_update: post: tags: - Files summary: /file_tag_update description: Update a specific file tag requestBody: $ref: '#/components/requestBodies/FileTagUpdateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/FileTags' '400': description: | - Project ID required - Project does not exist in your account - File tag does not exist - File tag ID required - File does not exist - File does not exist in your project - Tag does not exist - Tag does not exist in yor project /file_tag_delete: post: tags: - Files summary: /file_tag_delete description: Delete a specific file tag requestBody: $ref: '#/components/requestBodies/FileTagDeleteRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/FileTags' '400': description: | - Project ID required - Project does not exist in your account - File tag ID required /reportfile: get: tags: - Reports summary: /reportfile description: Get generated report PDFs for a report configuration parameters: - in: query name: project_id description: Specific project ID. schema: type: integer required: true - in: query name: report_id description: Specific report ID. You can find the report ID in the URL of the report in the UI. Example 39528 is the report ID for the report at - https://tq.cxalloy.com/project/29933/report#39528 schema: type: integer required: true - in: query name: reportfile_id description: Specific report file ID. schema: type: integer responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ReportFile' '400': description: | - Project ID required - Project does not exist in your account /reportfile_create: post: tags: - Reports summary: /reportfile_create description: Create a report (file) that it generates requestBody: $ref: '#/components/requestBodies/ReportFileCreateRequest' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/ReportFile' '400': description: | - Project ID required - Project does not exist in your account externalDocs: description: General CxAlloy Documentation url: 'https://support.cxalloy.com' components: parameters: ProjectParam: in: query name: project_id schema: type: integer required: true description: The project id PageParam: in: query name: page schema: type: integer default: 1 required: false description: The page (offset) of records to return. Pages have a limit of 500 records. schemas: Project: type: object properties: project_id: type: integer example: 67 account_id: type: integer example: 7 name: type: string example: Woodland Infrastructure Upgrade status: type: string enum: - Active - Archived example: Active number: type: string example: 117-50 client: type: string example: Composite International building_owner: type: string example: Sandia National Labs location: type: string example: Atlanta, Georgia size: type: string example: 125,000 Square Feet cost: type: string example: 14 Million phase: type: string enum: - Design - Construction - Operations timezone: type: string example: America/New_York date_created: type: string example: 08/13/2015 is_upgraded: type: boolean example: 1 IssueAttribute: type: object properties: project_id: type: integer example: 67 attribute_id: type: integer example: 123 value: type: string example: 1234ABC unit: type: string example: F,C name: type: string example: testing issueattribute_id: type: integer example: 12 issue_id: type: integer example: 555 date_created: type: string example: 08/13/2015 FileFolder: type: object properties: project_id: type: integer example: 67 folder_id: type: integer example: 123 name: type: string example: Folder Name here parent_folder_id: type: integer example: 34234 date_created: type: string example: 08/13/2015 AreaServed: type: object properties: served_id: type: integer example: 67 project_id: type: integer example: 123 area_served_name: type: string example: 1007 area_served_type: type: string example: space date_created: type: string example: 08/13/2015 equipment_id: type: integer example: 455567 space_id: type: integer example: 187772 EquipmentSystem: type: object properties: equipment_system_id: type: integer example: 67 project_id: type: integer example: 123 system_name: type: string example: HVAC equipment_name: type: string example: Lighting date_created: type: string example: 08/13/2015 equipment_id: type: integer example: 455567 system_id: type: integer example: 187772 SpaceZone: type: object properties: space_zone_id: type: integer example: 67 project_id: type: integer example: 123 space_name: type: string example: HVAC zone_name: type: string example: Lighting date_created: type: string example: 08/13/2015 zone_id: type: integer example: 455567 space_id: type: integer example: 187772 IssueComment: type: object properties: issuecomment_id: type: integer example: 67 project_id: type: integer example: 123 issue_id: type: integer example: 45677 number: type: integer example: 1 comment: type: string example: comment here date_created: type: string example: 12/12/2024 Equipment: type: object properties: equipment_id: type: integer example: 7477 project_id: type: integer example: 67 name: type: string example: AHU-1 status_id: type: integer example: 345 status: type: string example: Not Installed description: type: string type_id: type: integer example: 67585 type: type: string example: Air Handling Unit discipline_id: type: integer example: 46 discipline: type: string example: Mechanical space_id: type: integer example: 56584 space: type: string example: 1013-B floor_id: type: integer example: 24 floor: type: string example: First building_id: type: integer example: 78 building: type: string example: Main Building campus_id: type: integer example: 55 campus: type: string example: Campus 1 notes: type: string example: Research lab date_created: type: string example: 08/13/2015 Checklist: type: object properties: checklist_id: type: integer example: 4242 project_id: type: integer example: 67 number: type: number example: 6 name: type: string example: AHU-1 status_id: type: integer example: 4 status: type: string example: Finished type_id: type: integer example: 2 type_name: type: string example: Pre-Functional asset_name: type: string example: AHU-1 asset_type: type: string enum: - campus - building - equipment - floor - space - system - type - zone example: Equipment asset_key: type: integer example: 1456 assigned_name: type: string example: Composite International description: | *This value will always be N/A on un-upgraded projects* assigned_type: type: string enum: - person - company - role example: Company description: | *This value will always be N/A on un-upgraded projects* assigned_key: type: integer example: 6541 description: | *This value will always be blank on un-upgraded projects* discipline_id: type: integer example: 2 discipline: type: string example: Electrical note: type: string example: Functional test could not be performed. tools: type: string example: multimeter, torque wrench, sockets, hand tools. date_created: type: string example: 08/13/2015 Checklistsection: type: object properties: checklistsection_id: type: integer example: 2346 section_number: type: integer example: 3 section_name: type: string example: Main Section status_id: type: integer example: 5 status: type: string example: Started status_change_person: type: string example: Tony Gutierrez status_change_date: type: string example: "04/12/2013" assigned_name: type: string example: Patrick Hunnicutt assigned_type: type: string enum: - person - company - role example: Person assigned_key: type: string example: person-6541 description: | *key is the assigned type concatenated with the ID* template_id: type: integer example: 546456 template_name: type: string example: This is a template template_version: type: integer example: 6777 has_structurally_changed: type: integer example: 1 date_created: type: string example: 08/13/2015 Checklistline: type: object properties: checklistline_id: type: integer example: 339 line_number: type: integer example: 12 description: type: string example: Are all pipes properly labeled? answer: type: string enum: - Yes - No - NA note: type: string example: Yes chilled water passed in phase 2. attribute: type: string example: CHURN PRESSURE attribute_value: type: string example: 23 attribute_unit: type: string example: kPa type: type: string example: information configuration: type: string description: JSON object example: {"format":{"bold":true,"italic":true,"indented":1}} value: type: string description: JSON object example: {"value":"0"} date_created: type: string example: 08/13/2015 Test: type: object properties: test_id: type: integer example: 4242 project_id: type: integer example: 67 number: type: integer example: 6 name: type: string example: AHU-1 status_id: type: integer example: 4 status: type: string example: Passed attempt_count: type: integer example: 3 asset_name: type: string example: AHU-1 asset_type: type: string enum: - campus - building - equipment - floor - space - system - type - zone example: Equipment asset_key: type: integer example: 1456 assigned_name: type: string example: Composite International assigned_type: type: string enum: - person - company - role example: Company assigned_key: type: integer example: 6541 discipline_id: type: integer example: 2 discipline: type: string example: Electrical note: type: string example: Functional test could not be performed. estimated_time: type: string example: 4 days. tools: type: string example: multimeter, torque wrench, sockets, hand tools. date_created: type: string example: 08/13/2015 Testattempt: type: object properties: testattempt_id: type: integer example: 2346 attempt_number: type: integer example: 3 name: type: string example: attempt 2 status_id: type: integer example: 5 status: type: string example: Failed status_change_person: type: string example: Tony Gutierrez status_change_date: type: string example: "11/04/2013" template_id: type: integer example: 454545 template_name: type: string example: This is a template template_version: type: integer example: 674 has_structurally_changed: type: integer example: 1 time_to_close_seconds: type: integer example: 120 extended_status: type: string example: "Test attempt closed by Tony Gutierrez" date_created: type: string example: 08/13/2015 lines: type: array items: $ref: '#/components/schemas/Testattemptline' permissions: type: object properties: permission_id: type: integer example: 339 resource: type: string example: 'constructionissue' privileges: type: array example: ['view', 'export', 'respond'] Testattemptline: type: object properties: testattemptline_id: type: integer example: 339 line_number: type: integer example: 12 description: type: string example: Record the manufacturer of the unit. answer: type: string enum: - Yes - No - NA note: type: string example: Functional test could not be performed. attribute: type: string example: CHURN PRESSURE attribute_value: type: string example: 23 attribute_unit: type: string example: kPa type: type: string example: attribute configuration: type: string description: JSON object example: {"fk_attribute":5592504,"issue":{"enabled":false},"format":{},"status":{"na":false}} value: type: string description: JSON object example: {"is_valid":true,"value":"998"} date_created: type: string example: 08/13/2015 ChecklistTemplate: type: object properties: checklisttemplate_id: type: integer example: 1234 project_id: type: integer example: 3334 folder_id: type: integer example: 4445 folder_name: type: string example: Folder 1 name: type: string example: checklist temp1 number: type: integer example: 4 version: type: integer example: 9 date_created: type: string example: 08/13/2015 TestTemplate: type: object properties: testtemplate_id: type: integer example: 1234 project_id: type: integer example: 3334 folder_id: type: integer example: 4445 folder_name: type: string example: Folder 1 name: type: string example: Test Template 1 date_created: type: string example: 08/13/2015 Issue: type: object properties: issue_id: type: integer example: 7477 name: type: string example: FO-12-2 description: type: string example: Re-Install conduit to the walls asset_name: type: string example: AHU-1 asset_type: type: string enum: - campus - building - equipment - floor - space - system - type - zone example: Equipment asset_key: type: integer example: 1456 section: type: string enum: - design - construction example: construction drawing: type: string example: Vestibule L29 priority_id: type: integer example: 5 priority: type: string example: Low due_date: type: string example: 12/10/2014 date_closed: type: string example: 12/03/2014 assigned_name: type: string example: Patrick Hunnicutt assigned_type: type: string enum: - person - company - role example: Person assigned_key: type: integer example: 6541 disipline_id: type: integer example: 46 disipline: type: string example: Controls issuetype_id: type: integer example: 12 issuetype: type: string example: Damaged status_id: type: integer example: 11 status: type: string example: Open source_name: type: string example: 1, Attempt 2, Line 6 source_type: type: string enum: - test - checklist - review - fieldobservation - meeting example: test source_id: type: integer example: 167 created_by: type: string example: Elysia Hwang date_created: type: string example: 12/10/2014 Discipline: type: object properties: discipline_id: type: integer example: 424 project_id: type: integer example: 67 name: type: string example: Mechanical date_created: type: string example: 08/13/2015 Issuetype: type: object properties: issuetype_id: type: integer example: 12 project_id: type: integer example: 67 name: type: string example: Damaged date_created: type: string example: 08/13/2015 Campus: type: object properties: campus_id: type: integer example: 83 project_id: type: integer example: 67 name: type: string example: Campus 1234 description: type: string example: Red Hall date_created: type: string example: 08/13/2015 Building: type: object properties: building_id: type: integer example: 83 project_id: type: integer example: 67 name: type: string example: Main Building description: type: string example: Retail and Office Areas campus_id: type: integer example: 55 campus: type: string example: Campus Red date_created: type: string example: 08/13/2015 Floor: type: object properties: floor_id: type: integer example: 568 project_id: type: integer example: 67 name: type: string example: Third Floor description: type: string example: Upper Level Retail building_id: type: integer example: 83 building: type: string example: Main Building campus_id: type: integer example: 55 campus: type: string example: Campus Red date_created: type: string example: 08/13/2015 System: type: object properties: system_id: type: integer example: 749 project_id: type: integer example: 67 name: type: string example: HVAC description: type: string example: Heating, Ventilation and Air Conditioning building_id: type: integer example: 83 building: type: string example: Main Building discipline_id: type: integer example: 424 discipline: type: string example: Mechanical date_created: type: string example: 08/13/2015 Space: type: object properties: space_id: type: integer example: 3789 project_id: type: integer example: 67 name: type: string example: 03320 Retail Pump Room description: type: string example: Houses retail condenser water pumps. building_id: type: integer example: 83 building: type: string example: Main Building floor_id: type: integer example: 738 floor: type: string example: Third Floor campus_id: type: integer example: 55 campus: type: string example: Campus Red date_created: type: string example: 08/13/2015 Person: type: object properties: person_id: type: integer example: 12 project_id: type: integer example: 67 first_name: type: string example: Carolyn last_name: type: string example: Morton email: type: string example: cjmorton@workingbuildings.com is_contact: type: boolean example: 0 company_id: type: integer example: 83 company: type: string example: Working Buildings role: type: string example: Commissioning Authority role_id: type: integer example: 3 date_created: type: string example: 08/13/2015 permissions: type: array items: $ref: '#/components/schemas/permissions' Company: type: object properties: company_id: type: integer example: 12 project_id: type: integer example: 67 name: type: string example: Composite International phone: type: string example: 678-990-8000 street: type: string example: 1230 Peachtree Street city: type: string example: Atlanta state: type: string example: GA zip: type: string example: 30309 country: type: string example: USA date_created: type: string example: 08/13/2015 Role: type: object properties: role_id: type: integer example: 424 project_id: type: integer example: 67 name: type: string example: Commissioning Authority date_created: type: string example: 08/13/2015 Fieldobservation: type: object properties: fieldobservation_id: type: integer example: 12 project_id: type: integer example: 67 name: type: string example: Number 11 number: type: integer example: 11 description: type: string example: Site walkthrough. author: type: string example: Tony Gutierrez present: type: string example: Jacob Terry observed_on: type: string example: 06/25/2012 type: type: string example: Commissioning weather: type: string example: 72 and Sunny location: type: string example: Job Site is_draft: type: boolean example: 0 date_created: type: string example: 08/13/2015 Review: type: object properties: review_id: type: integer example: 12 project_id: type: integer example: 67 name: type: string example: Number 4 number: type: integer example: 4 description: type: string example: Construction Reviews. author: type: string example: Tony Gutierrez date_reviewed: type: string example: 06/25/2012 remark: type: string example: Reviewed submittal_number: type: string example: 234 type: type: string example: Design Drawings section: type: string enum: - design - construction example: construction is_draft: type: boolean example: 0 date_created: type: string example: 08/13/2015 Task: type: object properties: task_id: type: integer example: 12 project_id: type: integer example: 67 number: type: integer example: 4 description: type: string example: Mechanical Closet Maintenance due_date: type: string example: 06/25/2012 author: type: string example: Tony Gutierrez status: type: string enum: - Done - Not Done example: Not Done assigned_name: type: string example: Clint Martin assigned_type: type: string enum: - person - company - role example: Person assigned_key: type: integer example: 6541 source_name: type: string example: Master Branch Meeting source_type: type: string enum: - meeting example: meeting source_id: type: integer example: 167 date_created: type: string example: 08/13/2015 Attribute: type: object properties: project_id: type: integer example: 167 attribute_id: type: integer example: 23 units: type: string example: L/s name: type: string example: test 124 attribute_type: type: string example: asset date_created: type: string example: 08/13/2015 AttributeDetail: type: object properties: name: type: string example: Air Flow Minimum value: type: string example: 23 unit: type: string example: L/s verified: type: boolean example: 1 verified_comment: type: string example: Setpoint is shown on page 27 of the balance report. source_name: type: string example: ACB-F3620 source_type: type: string enum: - campus - building - equipment - floor - space - system - type - zone example: equipment source_id: type: integer example: 64732 project_id: type: integer example: 67 date_created: type: string example: 08/13/2015 File: type: object properties: file_id: type: integer example: 749 name: type: string example: AHU Drawing.jpg size: type: string example: 48.49 K is_image: type: boolean example: 1 uploaded_by: type: string example: Patrick Hunnicutt uploaded_date: type: string example: 10/04/2017 url: type: string example: https://cxalloytq.imgix.net/116385.jpg source_name: type: string example: AHU-A3-02F source_type: type: string enum: - project - equipment - issue - test - testattemptline - checklist - checklistsection - checklistsectionline - type - system - campus - building - floor - zone - space - review - fieldobservation - meeting example: equipment source_id: type: integer example: 167537 file_tag: type: array items: $ref: '#/components/schemas/file_tag' FileTags: type: object properties: file_tag_id: type: integer example: 749 project_id: type: integer example: 10 file_id: type: integer example: 985675 tag_id: type: integer example: 4445 name: type: string example: Placards date_created: type: string example: 08/13/2015 ReportFile: type: object properties: reportfile_id: type: integer example: 749 report_id: type: integer example: 10 project_id: type: integer example: 2327 status: type: string example: completed name: type: string example: Maple Additiopn II Duplicate_05_22_2025-011547.pdf size: type: string example: 20.61 KB uploaded_by: type: string example: Jon Smith date_created: type: string example: 05/22/2025 url: type: string example: https://cxalloytq-staging-staging.s3.amazonaws.com/report_4092.pdf?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAUGO4KXHND3PR3L3Q%2F20260923%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260923T162937Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Signature=7f70cb0ddac6bf50af856ece95810d46e6b1e8143d65ce2f64eab4c689eef8b file_tag: type: object properties: file_tag_id: type: integer example: 749 tag_id: type: integer example: 4445 name: type: string example: Placards date_created: type: string example: 08/13/2015 PreUpload: type: object properties: file_id: type: integer example: 749 s3_url: type: string example: https://cxalloytq-staging.s3.amazonaws.com/205.pdf authorization_headers: type: object example: | X-AMZ-Content-SHA256 => e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-AMZ-Date => 20241022T134957Z Authorization => AWS4-HMAC-SHA256 Credential=AKIAIXD4Q4V42HZISXFA/20241022/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=fab2b163317003800c6764e8987c2ec5907452bf4339f97893de396f82d4d198 Content-Type: type: string example: application/json History: type: object properties: history_id: type: integer example: 749 project_id: type: integer example: 67 type: type: string enum: - INSERT - UPDATE - DELETE - SOFT DELETE example: UPDATE table: type: string description: Filter records by table enum: - account_person - attribute - campus - building - buildingattribute - checklist - checklistsection - checklistsectionline - checklistsectionstatus - checklistsignatureline - checklisttemplate - checklisttemplatesection - checklisttemplatesectionline - company_project - discipline - equipment - equipmentattribute - equipment_system - fieldobservation - fieldobservationcomment - file - file_tag - floor - floorattribute - folder - issue - issuecomment - issuestatus - issuetype - meeting - meetingreference - meeting_person - permission - person - person_project - progressreport - project - report - reportsection - review - served - space - spaceattribute - space_zone - system - systemattribute - tag - task - taskcomment - test - testattempt - testattemptline - testattemptstatus - testsignatureline - testtemplate - testtemplateline - type - typeattribute - watch - zone - zoneattribute - checklisttype - equipmentstatus - fieldobservationtype - issuepriority - reviewremark - reviewtype - role example: equipment key: type: integer example: 167537 before: type: string description: JSON object example: {"equipment_id":"1","fk_project":"1","fk_type":"1","fk_discipline":"15","fk_space":"1","fk_equipmentstatus":"4","name":"AHU-1","description":"Air Handling Unit","notes":"","is_closed":"0","d_closed":null,"is_deleted":"0","fk_person__created":"1","fk_person__modified":"10","dt_created":"2012-04-11 18:14:29","dt_modified":"2012-11-06 16:56:47","ts_created":"2012-09-18 02:21:12","ts_modified":"2013-04-27 22:27:05","nat_name":"AHU-[00000000001.000]"} after: type: string description: JSON object example: {"equipment_id":"1","fk_project":"1","fk_type":null,"fk_discipline":"15","fk_space":"1","fk_equipmentstatus":"4","name":"AHU-1","description":"Air Handling Unit","notes":"","is_closed":"0","d_closed":null,"is_deleted":"0","fk_person__created":"1","fk_person__modified":"6295","dt_created":"2012-04-11 18:14:29","dt_modified":"2017-02-01 17:31:59","ts_created":"2012-09-18 02:21:12","ts_modified":"2017-02-01 17:31:59","nat_name":"AHU-[00000000001.000]"} changed: type: string description: JSON object example: {"fk_type":null,"fk_person__modified":"6295","dt_modified":"2017-02-01 17:31:59","ts_modified":"2017-02-01 17:31:59"} person_id: type: integer example: 6295 created_date: type: string example: 10/04/2017 Testattemptstatus: type: object properties: testattemptstatus_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: Passed color: type: string example: green date_created: type: string example: 08/13/2015 Issuestatus: type: object properties: issuestatus_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: In Progress color: type: string example: blue date_created: type: string example: 08/13/2015 Milestonegroup: type: object properties: issuestatus_id: type: integer example: 239 account_id: type: integer example: 123 project_id: type: integer example: 67 name: type: string example: Major Group description: type: string example: Important color: type: string example: F1234 date_start: type: string example: 10/04/2017 date_target: type: string example: 11/05/2017 date_baseline_target: type: string example: 12/06/2017 date_complete: type: string example: 1/03/2017 is_invalid_complete: type: integer example: 1 is_manually_complete: type: integer example: 0 is_deleted: type: integer example: 1 date_created: type: string example: 4/05/2017 Milestonecollection: type: object properties: milestonecollection_id: type: integer example: 239 account_id: type: integer example: 123 project_id: type: integer example: 67 milestonegroup_id: type: integer example: 5555 name: type: string example: Major Group description: type: string example: Important section: type: string example: Checklists color: type: string example: F1234 date_start: type: string example: 10/04/2017 date_target: type: string example: 11/05/2017 date_baseline_target: type: string example: 12/06/2017 date_complete: type: string example: 1/03/2017 is_invalid_complete: type: integer example: 1 is_manually_complete: type: integer example: 0 filters: type: string example: '{"filters":{"id":["123","345"]}}' is_deleted: type: integer example: 1 date_created: type: string example: 4/05/2017 Milestone: type: object properties: milestone_id: type: integer example: 239 project_id: type: integer example: 67 milestonecollection_id: type: integer example: 5555 name: type: string example: Major Group description: type: string example: Important color: type: string example: F1234 order: type: integer example: 3 date_start: type: string example: 10/04/2017 date_target: type: string example: 11/05/2017 date_baseline_target: type: string example: 12/06/2017 date_complete: type: string example: 1/03/2017 rule: type: string example: '{"filters":{"checklistsectionstatus":["7417"]},"rules":{"0":{"fk_checklistsectionstatus":[7417]}}}' is_invalid_complete: type: integer example: 1 is_manually_complete: type: integer example: 0 is_deleted: type: integer example: 1 date_created: type: string example: 4/05/2017 Milestoneitem: type: object properties: milestoneitem_id: type: integer example: 239 project_id: type: integer example: 67 milestone_id: type: integer example: 5555 table: type: string example: equipment id: type: integer example: 667868 date_target: type: string example: 11/05/2017 date_complete: type: string example: 1/03/2017 is_disabled: type: integer example: 1 is_invalid_complete: type: integer example: 0 is_manually_complete: type: integer example: 1 is_deleted: type: integer example: 0 date_created: type: string example: 4/05/2017 Equipmentattribute: type: object properties: name: type: string example: Building value: type: string example: 67 unit: type: string example: Not Installed verified: type: boolean example: 1 verified_comment: type: string example: Setpoint is shown source_name: type: string example: ACB-F3620 source_type: type: string example: equipment source_id: type: integer example: 77789 project_id: type: integer example: 444567 equipmentattribute_id: type: integer example: 14423 date_created: type: string example: 4/05/2017 Equipmentstatus: type: object properties: equipmentstatus_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: Not Installed color: type: string example: red fk_equipmentstatus__next: type: integer example: 14423 date_created: type: string example: 4/05/2017 Checkliststatus: type: object properties: checklistsectionstatus_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: Finished color: type: string example: green date_created: type: string example: 4/05/2017 Priority: type: object properties: issuepriority_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: High color: type: string example: red date_created: type: string example: 4/05/2017 Fieldobservationtype: type: object properties: fieldobservationtype_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: Architect Field Report date_created: type: string example: 4/05/2017 Checklisttype: type: object properties: checklisttype_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: Pre-Functional date_created: type: string example: 4/05/2017 Reviewtype: type: object properties: reviewtype_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: Design Drawings section: type: string example: design date_created: type: string example: 4/05/2017 Reviewremark: type: object properties: reviewremark_id: type: integer example: 239 project_id: type: integer example: 67 name: type: string example: Approved As Noted section: type: string example: design date_created: type: string example: 4/05/2017 Equipmenttype: type: object properties: equipmenttype_id: type: integer example: 424 project_id: type: integer example: 67 name: type: string example: Exhaust Fan description: type: string example: Inline and Roof Mounted Fans discipline_id: type: integer example: 424 discipline: type: string example: Mechanical date_created: type: string example: 4/05/2017 Equipmenttypeattribute: type: object properties: equipmenttypeattribute_id: type: integer example: 424 project_id: type: integer example: 6757 name: type: string example: Area served value: type: string example: 2 Per Engine unit: type: string example: CFM attribute_id: type: integer example: 88674567 type_id: type: integer example: 56568 date_created: type: string example: 4/05/2017 Zone: type: object properties: zone_id: type: integer example: 539 project_id: type: integer example: 67 name: type: string example: West Wing description: type: string example: Electrical area A2 building_id: type: integer example: 83 building: type: string example: Main Building campus_id: type: integer example: 44 campus: type: string example: Campus Red date_created: type: string example: 4/05/2017 checklistRequest: type: object description: This is the request object to get checklist records properties: project_id: type: integer example: 234 page: type: integer description: The page (offset) of records to return. Pages are limited to 500 records. example: 3 default: 1 perpage: type: integer description: Pages are limited to 500 records as default, but you can input this option to change the number of records returned example: 50 default: 500 filter: type: object description: This will filter the results properties: id: type: array items: type: integer description: Filter records by checklist ID's example: [1, 2, 3] search: type: array items: type: string description: Filter records by search string example: [AHU] status: type: array items: type: integer description: Filter records by status ID's example: [1, 2, 3] discipline: type: array items: type: integer description: Filter records by discipline ID's example: [1, 2, 3] type: type: array items: type: integer description: Filter records by checklist type ID's example: [1, 2, 3] include: type: array description: This will include related data in the results example: - 'sections' - 'lines' - 'issues' - 'files' - 'extended_status' - 'time_to_close' items: type: string description: | Possible Values Are: * `sections` - Include checklist sections in the results * `lines` - Include checklist lines in the results * `issues` - Include checklist issues in the results * `files` - Include checklist files in the results * `time_to_close` - Include checklist time to close in the results * `extended_status` - Include checklist extended status information in the results enum: - sections - lines - issues - files - time_to_close - extended_status required: - project_id checklistLineRequest: type: object description: This is the request object to create checklist line records. There are 8 different types of checklist lines you can create. There are 'header', 'standard_question', 'information', 'single_value', 'multiple_value', 'text_input', 'signature', 'attribute'. properties: project_id: type: integer example: 234 checklist_id: type: integer description: the checklist ID example: 3 type: type: string description: There are 8 different types of checklist lines. example: header enum: - header - standard_question - information - single_value - multiple_value - text_input - signature - attribute description: type: string description: Description of checklist line example: line that is valid allow_na: type: boolean description: OPTIONAL IF you want to allow status to be 'NA', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for checklist line types (standard_question, attribute, text_input, single_value, multiple_value, signature). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - false - 1 - 0 fk_attribute: type: integer description: fk_attribute is required for (attribute) checklist line type. Don't populate this field if you are not creating an attribute checklist line. You can get that value from GET /attribute [attribute_id]. example: 666475 display: type: boolean description: OPTIONAL IF you want to display a dropdown, then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for checklist line types (single_value, multiple_value). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - false - 1 - 0 issue_on_fail: type: boolean description: OPTIONAL IF you want to prompt to create issue when 'failed', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for checklist line types (standard_question, attribute, text_input, single_value, multiple_value, signature). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - false - 1 - 0 include_none_above: type: boolean description: OPTIONAL IF you want to include 'none of the above', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for checklist line types (multiple_value). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 title: type: string description: title is required for (signature) checklist line type. Don't populate this field if you are not creating a signature checklist line. example: title for line format: type: object description: OPTIONAL IF you want to set your description to bold, italic, indented; you will want to put this field in. If you don't want to set your description to bold, italic, indented, then you don't need to populate this field. properties: bold: type: boolean description: IF you want to bold your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 italic: type: boolean description: IF you want to italicize your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 indented: type: int description: IF you want to indent your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 labels: type: object description: Labels are required for (standard_question) checklist line type. 'Passed', 'Failed', 'NA' are required statuses and you will choose a corresponding label for each status. properties: passed: type: string items: type: string description: choose a corresponding label for 'passed' status example: 'label 1' failed: type: string items: type: string description: choose a corresponding label for 'failed' status example: 'label 2' na: type: string items: type: string description: choose a corresponding label for 'na' status example: 'label 3' single_options: type: object description: single_options are required for (single_value) checklist line type. 'Passed', 'Failed', 'NA' are acceptable statuses and you will choose a corresponding label for each status. properties: option 1: type: string items: type: string description: choose a corresponding label for 'passed' status example: 'passed' enum: - passed option 2: type: string items: type: string description: choose a corresponding label for 'passed' status example: 'passed' enum: - passed option 3: type: string items: type: string description: choose a corresponding label for 'failed' status example: 'failed' enum: - failed option 4: type: string items: type: string description: choose a corresponding label for 'na' status example: 'na' enum: - na multiple_options: type: array description: multiple_options are required for (multiple_value) checklist line type. Pass in your array of strings for the multiple_options. example: - 'multiple option 1' - 'multiple option 2' - 'multiple option 3' items: type: string required: - project_id - checklist_id - type - description checklistLineUpdateRequest: type: object description: This is the request object to update checklist line records. The required fields are project_id and checklistline_id. You only have to send in fields that you would like to update. Any field you don't send in to update will remain the value it is. properties: project_id: type: integer example: 234 checklistline_id: type: integer description: the checklist line ID example: 3 description: type: string description: Description of checklist line example: line that is valid allow_na: type: boolean description: OPTIONAL IF you want to allow status to be 'NA', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for checklist line types (standard_question, attribute, text_input, single_value, multiple_value, signature). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - false - 1 - 0 fk_attribute: type: integer description: fk_attribute is required for (attribute) checklist line type. Don't populate this field if you are not creating an attribute checklist line. You can get that value from GET /attribute [attribute_id]. example: 666475 display: type: boolean description: OPTIONAL IF you want to display a dropdown, then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for checklist line types (single_value, multiple_value). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 issue_on_fail: type: boolean description: OPTIONAL IF you want to prompt to create issue when 'failed', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for checklist line types (standard_question, attribute, text_input, single_value, multiple_value, signature). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 include_none_above: type: boolean description: OPTIONAL IF you want to include 'none of the above', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for checklist line types (multiple_value). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 title: type: string description: OPTIONAL IF you are updatng a (signature) line type, you can populate this field. Don't populate this field if you are not updating a signature line type. example: title for line format: type: object description: OPTIONAL IF you want to set your description to bold, italic, indented; you will want to put this field in. If you don't want to set your description to bold, italic, indented, then you don't need to populate this field. properties: bold: type: boolean description: IF you want to bold your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - 1 - false - 0 italic: type: boolean description: IF you want to italicize your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - 1 - false - 0 indented: type: boolean description: IF you want to indent your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. enum: - true - 1 - false - 0 labels: type: object description: Labels are required for (standard_question) checklist line type. 'Passed', 'Failed', 'NA' are required statuses and you will choose a corresponding label for each status. properties: passed: type: string description: choose a corresponding label for 'passed' status example: 'Label 1' failed: type: string description: choose a corresponding label for 'failed' status example: 'Label 2' na: type: string description: choose a corresponding label for 'na' status example: 'Label 3' single_options: type: object description: single_options are required for (single_value) checklist line type. 'Passed', 'Failed', 'NA' are acceptable statuses and you will choose a corresponding label for each status. properties: option 1: type: string example: 'passed' option 2: type: string example: 'failed' option 3: type: string example: 'na' multiple_options: type: array description: multiple_options are required for (multiple_value) checklist line type. Pass in your array of strings for the multiple_options. example: - 'multiple option 1' - 'multiple option 2' - 'multiple option 3' items: type: string required: - project_id - checklistline_id testattemptLineUpdateRequest: type: object description: This is the request object to update testattempt line records. The required fields are project_id and testattemptline_id. You only have to send in fields that you would like to update. Any field you don't send in to update will remain the value it is. properties: project_id: type: integer example: 234 testattemptline_id: type: integer description: the testattempt line ID example: 3 description: type: string description: Description of test attempt line example: line that is valid allow_na: type: boolean description: OPTIONAL IF you want to allow status to be 'NA', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for test attempt line types (standard_question, attribute, text_input, single_value, multiple_value, signature). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - false - 1 - 0 fk_attribute: type: integer description: fk_attribute is required for (attribute) test attempt line type. Don't populate this field if you are not creating an attribute test attempt line. You can get that value from GET /attribute [attribute_id]. example: 666475 display: type: boolean description: OPTIONAL IF you want to display a dropdown, then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for test attempt line types (single_value, multiple_value). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 issue_on_fail: type: boolean description: OPTIONAL IF you want to prompt to create issue when 'failed', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for test attempt line types (standard_question, attribute, text_input, single_value, multiple_value, signature). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 include_none_above: type: boolean description: OPTIONAL IF you want to include 'none of the above', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for test attempt line types (multiple_value). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - true - false - 0 title: type: string description: OPTIONAL IF you are updatng a (signature) line type, you can populate this field. Don't populate this field if you are not updating a signature line type. example: title for line format: type: object description: OPTIONAL IF you want to set your description to bold, italic, indented; you will want to put this field in. If you don't want to set your description to bold, italic, indented, then you don't need to populate this field. properties: bold: type: boolean description: IF you want to bold your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - 1 - false - 0 italic: type: boolean description: IF you want to italicize your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - true - 1 - false - 0 indented: type: boolean description: IF you want to indent your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. enum: - true - 1 - false - 0 labels: type: object description: Labels are required for (standard_question) test attempt line type. 'Passed', 'Failed', 'NA' are required statuses and you will choose a corresponding label for each status. properties: passed: type: string description: choose a corresponding label for 'passed' status example: 'Label 1' failed: type: string description: choose a corresponding label for 'failed' status example: 'Label 2' na: type: string description: choose a corresponding label for 'na' status example: 'Label 3' single_options: type: object description: single_options are required for (single_value) test attempt line type. 'Passed', 'Failed', 'NA' are acceptable statuses and you will choose a corresponding label for each status. properties: option 1: type: string example: 'passed' option 2: type: string example: 'failed' option 3: type: string example: 'na' multiple_options: type: array description: multiple_options are required for (multiple_value) test attempt line type. Pass in your array of strings for the multiple_options. example: - 'multiple option 1' - 'multiple option 2' - 'multiple option 3' items: type: string required: - project_id - testattemptline_id testRequest: type: object description: This is the request object to get test records properties: project_id: type: integer example: 234 page: type: integer description: The page (offset) of records to return. Pages are limited to 500 records. example: 3 default: 1 perpage: type: integer description: Pages are limited to 500 records as default, but you can input this option to change the number of records returned example: 50 default: 500 filter: type: object description: This will filter the results properties: id: type: array items: type: integer description: Filter records by test ID's example: [1, 2, 3] search: type: array items: type: string description: Filter records by search string example: [AHU] status: type: array items: type: integer description: Filter records by status ID's example: [1, 2, 3] discipline: type: array items: type: integer description: Filter records by discipline ID's example: [1, 2, 3] include: type: array description: This will include related data in the results example: - 'attempts' - 'lines' - 'issues' - 'files' - 'latest_attempt' - 'extended_status' - 'time_to_close' items: type: string enum: - attempts - lines - issues - files - time_to_close - extended_status - latest_attempt required: - project_id testCreateRequest: type: object description: This is the request object to get create a test record properties: project_id: type: integer example: 234 asset_key: type: string description: format should be type-id. You put the type first then the ID from that type Type possibilities - campus - building - floor - space - zone - system - equipment - type For example - from request GET/floor you would get [floor_id] example: 'floor-567' assigned_key: type: string description: format should be type-id. You put the type first then the ID from that type Type possibities - role - person - company For example - from the request GET/person you would get [person_id] example: 'person-4555' note: type: string example: Functional test could not be performed. tools: type: string example: multimeter, torque wrench, sockets, hand tools. estimated_time: type: string example: 1 include_asset_name: type: boolean description: If you include this field then you need to set asset_key as well. You may ALSO set "include_template_name" and "name", to include all 3 as the name. OR you can just set "include_asset_name" and "name" for the name OR just "include_asset_name" for the name enum: - true - false example: true include_template_name: type: boolean description: If you include this field then you need to set template_id as well. You may ALSO set "include_asset_name" and "name", to include all 3 as the name. OR you can just set "include_template_name" and "name" for the name OR just "include_template_name" for the name enum: - true - false example: true name: type: string description: Name is ONLY required if you don't set "include_template_name" OR "include_asset_name". Then you need to set "name". You may set "name" along with "include_template_name" OR "include_asset_name". example: Name Field template_id: type: integer example: 1234 required: - project_id testattemptCreateRequest: type: object description: This is the request object to get create a test attempt properties: project_id: type: integer example: 23566 test_id: type: integer example: 545656 name: type: string example: 'Test Attempt #4' witnesses: type: string example: 'witness 1, witness 2' create_from: type: string description: your options are ONLY the following - empty, attempt, template example: 'empty' attempt_id: type: integer description: attempt_id is required if you set create_from to attempt. If you are not setting create_from to attempt, then you do not need to set attempt_id. example: 34456 template_id: type: integer description: template_id is required if you set create_from to template. If you are not setting create_from to template, then you do not need to set template_id. example: 12345 copy_answers: type: boolean description: copy_answers is only available if you set create_from to attempt OR template. If you are not setting create_from to attempt OR template, then you do not need to set copy_answers. enum: - true - false example: true required: - project_id - test_id - create_from testUpdateRequest: type: object description: This is the request object to get update a test record properties: project_id: type: integer example: 234 test_id: type: integer example: 545656 asset_key: type: string description: format should be type-id. You put the type first then the ID from that type Type possibilities - campus - building - floor - space - zone - system - equipment - type For example - from request GET/floor you would get [floor_id] example: 'floor-567' assigned_key: type: string description: format should be type-id. You put the type first then the ID from that type Type possibities - role - person - company For example - from the request GET/person you would get [person_id] example: 'person-4555' note: type: string example: Functional test could not be performed. tools: type: string example: multimeter, torque wrench, sockets, hand tools. estimated_time: type: string example: 1 include_asset_name: type: boolean description: If you include this field then you need to set asset_key as well. You may ALSO set "name" for the name OR just "include_asset_name" for the name enum: - true - false example: true name: type: string description: Name is ONLY required if you don't set "include_asset_name". Then you need to set "name". You may set "name" along with "include_asset_name". example: Name Field required: - project_id - test_id testtemplateUpdateRequest: type: object description: This is the request object to get update a test template record properties: project_id: type: integer example: 23566 testtemplate_id: type: integer example: 545656 name: type: string example: 'Test Template #4' folder_id: type: integer example: 1234 required: - project_id - testtemplate_id testtemplateCreateRequest: type: object description: This is the request object to get create a test template record properties: project_id: type: integer example: 23566 name: type: string example: 'Test Template #4' folder_id: type: integer example: 1234 required: - project_id - name testtemplateDeleteRequest: type: object description: This is the request object to get delete a test template record properties: project_id: type: integer example: 23566 testtemplate_id: type: integer example: 545656 required: - project_id - testtemplate_id issueRequest: type: object description: This is the request object to get issue records properties: project_id: type: integer example: 234 page: type: integer description: The page (offset) of records to return. Pages are limited to 500 records. example: 3 default: 1 perpage: type: integer description: Pages are limited to 500 records as default, but you can input this option to change the number of records returned example: 50 default: 500 filter: type: object description: This will filter the results properties: id: description: Filter records by issue ID's type: array items: type: integer example: [1, 2, 3] discipline: description: Filter records by discipline ID's type: array items: type: integer example: [1, 2, 3] status: description: Filter records by status ID's type: array items: type: integer example: [1, 2, 3] priority: description: Filter records by priority ID's example: [1,2,3] type: array items: type: integer source: description: Filter records by source type: array items: type: string enum: - checklist - test - fieldobservation - review - meeting - checklistsection - checklistsectionline - testattemptline example: ["checklist","test","meeting"] issue_type: type: array items: type: string description: Filter records by issue type enum: - design - construction example: ["design"] include: type: array description: This will include related data in the results items: type: string description: | Possible Values Are: * `comments` - Include issue comments in the results * `files` - Include files attached to issues in the results * `photos` - Include photos attached to issues in the results * `collaborators` - Include collaborators attached to issues in the results * `time_to_close` - Include issue time to close in the results * `extended_status` - Include issue extended status information in the results enum: - comments - files - fieldobservation - photos - collaborators - time_to_close - extended_status required: - project_id issueUpdateRequest: type: object description: This is the request object to update an issue record properties: project_id: type: integer example: 789 issue_id: type: integer description: The issue ID you want to update. You can get the issue ID from request POST/issue [issue_id] example: 7477 description: type: string example: 'Test description' status_id: type: integer description: You can get a status ID from request GET/issuestatus [issuestatus_id] example: 5678 assigned_key: type: string description: format should be type _ id. You put the type first then the ID from that type Type possibities - role - person - company For example - from the request GET/person you would get [person_id] example: 'person_4555' priority_id: type: integer description: You can get a priority ID from request GET/priority [issuepriority_id] example: 445 asset_key: type: string description: format should be type _ id. You put the type first then the ID from that type Type possibilities - campus - building - floor - space - zone - system - equipment - type For example - from request GET/floor you would get [floor_id] example: 'floor_567' discipline_id: type: integer description: You can get a discipline ID from request GET/discipline [discipline_id] example: 5444 issuetype_id: type: integer description: You can get an issuetype ID from request GET/issuetype [issuetype_id] example: 12 drawing: type: string example: 'Vestibule L29' due_date: type: string example: '2022-03-22' required: - project_id - issue_id issueDeleteRequest: type: object description: This is the request object to delete an issue record properties: project_id: type: integer example: 789 issue_id: type: integer description: The issue ID you want to delete. You can get the issue ID from request POST/issue [issue_id] example: 7477 required: - project_id - issue_id testDeleteRequest: type: object description: This is the request object to delete an test record properties: project_id: type: integer example: 789 test_id: type: integer example: 7477 required: - project_id - test_id equipmenttypeDeleteRequest: type: object description: This is the request object to delete an equipment type record properties: project_id: type: integer example: 789 equipmenttype_id: type: integer example: 7477 required: - project_id - equipmenttype_id equipmentattributeDeleteRequest: type: object description: This is the request object to delete an equipment attribute record properties: project_id: type: integer example: 789 equipmentattribute_id: type: integer example: 7477 required: - project_id - equipmentattribute_id equipmenttypeattributeDeleteRequest: type: object description: This is the request object to delete an equipment type attribute record properties: project_id: type: integer example: 789 equipmenttypeattribute_id: type: integer example: 7477 required: - project_id - equipmenttypeattribute_id equipmentDeleteRequest: type: object description: This is the request object to delete an equipment record properties: project_id: type: integer example: 789 equipment_id: type: integer description: The equipment ID you want to delete. You can get the equipment ID from request GET/equipment [equipment_id] example: 7477 required: - project_id - equipment_id checklistsectionDeleteRequest: type: object description: This is the request object to delete an checklist section record properties: project_id: type: integer example: 789 checklistsection_id: type: integer example: 7477 required: - project_id - checklistsection_id checklistLineDeleteRequest: type: object description: This is the request object to delete an checklist line record properties: project_id: type: integer example: 789 checklistline_id: type: integer example: 7477 required: - project_id - checklistline_id testattemptLineAnswerUpdateRequest: type: object description: This is the request object to answer an test attempt line record properties: project_id: type: integer example: 789 testattemptline_id: type: integer example: 7477 answer: type: string enum: - passed - failed - na example: passed value: example: "Yes" description: | The value will differ depending on the line type. The only line types that support value are: single_value, multiple_value, text_input, and attribute An example for single_value: - Value type must be a string - Value must be an option in the single_value drop down - EX: "value": "P" An example for multiple_value: - Value type must be an array of strings - Value must be an option in the multiple_value drop down - EX: "value": ["P","F"] An example for text_input: - Value type must be a string - Value can be any string - EX: "value": "answering text here" An example for attribute: - Value type must be a string - Value can be any string - EX: "value": "anwering attribute here" attribute_unit: type: string description: Can only be used for attribute line type. If the attribute has units then you can set the unit here. The unit you set must be an option in the attribute units drop down. example: cm required: - project_id - testattemptline_id checklistLineAnswerUpdateRequest: type: object description: This is the request object to answer an checklist line record properties: project_id: type: integer example: 789 checklistline_id: type: integer example: 7477 answer: type: string enum: - passed - failed - na example: passed value: example: "Yes" description: | The value will differ depending on the line type. The only line types that support value are: single_value, multiple_value, text_input, and attribute An example for single_value: - Value type must be a string - Value must be an option in the single_value drop down - EX: "value": "P" An example for multiple_value: - Value type must be an array of strings - Value must be an option in the multiple_value drop down - EX: "value": ["P","F"] An example for text_input: - Value type must be a string - Value can be any string - EX: "value": "answering text here" An example for attribute: - Value type must be a string - Value can be any string - EX: "value": "anwering attribute here" attribute_unit: type: string description: Can only be used for attribute line type. If the attribute has units then you can set the unit here. The unit you set must be an option in the attribute units drop down. example: cm required: - project_id - checklistline_id testattemptLineCreateRequest: type: object description: This is the request object to create an test attempt line record properties: project_id: type: integer example: 789 testattempt_id: type: integer example: 7477 description: The test attempt ID you want to create a line for. type: type: string description: There are 8 different types of test attempt lines. enum: - header - standard_question - information - single_value - multiple_value - attribute - text_input - signature - file description: type: string example: 'Test description' description: Description of test attempt line. allow_na: type: boolean example: true enum: - 1 - true - false - 0 description: OPTIONAL IF you want to allow status to be 'NA', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for test attempt line types (standard_question, attribute, text_input, single_value, multiple_value, signature). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. display: type: boolean example: true enum: - 1 - true - false - 0 description: OPTIONAL IF you want to display a dropdown, then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for test attempt line types (single_value, multiple_value). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. issue_on_fail: type: boolean example: true enum: - 1 - 0 - true - false description: OPTIONAL IF you want to prompt to create issue when 'failed', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for test attempt line types (standard_question, attribute, text_input, single_value, multiple_value, signature). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. include_none_above: type: boolean example: true enum: - 1 - true - false - 0 description: OPTIONAL IF you want to include 'none of the above', then you will want to populate this field. If you don't, then you don't need to populate this field. This field is only available / can be used for test attempt line types (multiple_value). Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. title: type: string example: 'Test title' description: title is required for (signature) test attempt line type. Don't populate this field if you are not creating a signature test attempt line. format: type: object description: OPTIONAL IF you want to set your description to bold, italic, indented; you will want to put this field in. If you don't want to set your description to bold, italic, indented, then you don't need to populate this field. properties: bold: type: boolean description: IF you want to bold your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. example: true enum: - 1 - 0 - true - false italic: type: boolean example: true description: IF you want to italicize your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. enum: - 1 - true - false - 0 indented: type: integer example: true enum: - 1 - true - false - 0 description: IF you want to indent your description. Boolean values can be true, false or integers (1,0), where true is 1 and false is 0. single_options: type: object description: single_options are required for (single_value) test attempt line type. 'Passed', 'Failed', 'NA' are acceptable statuses and you will choose a corresponding label for each status. properties: option 1: type: string items: type: string description: choose a corresponding label for 'passed' status example: 'passed' enum: - passed option 2: type: string items: type: string description: choose a corresponding label for 'passed' status example: 'passed' enum: - passed option 3: type: string items: type: string description: choose a corresponding label for 'failed' status example: 'failed' enum: - failed option 4: type: string items: type: string description: choose a corresponding label for 'na' status example: 'na' enum: - na multiple_options: type: array description: multiple_options are required for (multiple_value) test attempt line type. Pass in your array of strings for the multiple_options. example: - 'multiple option 1' - 'multiple option 2' - 'multiple option 3' - 'multiple option 4' items: type: string labels: type: object description: Labels are required for (standard_question) test attempt line type. 'Passed', 'Failed', 'NA' are required statuses and you will choose a corresponding label for each status. properties: passed: type: string items: type: string description: choose a corresponding label for 'passed' status example: 'label 1' failed: type: string items: type: string description: choose a corresponding label for 'failed' status example: 'label 2' na: type: string items: type: string description: choose a corresponding label for 'na' status example: 'label 3' fk_attribute: type: integer description: fk_attribute is required for (attribute) test attempt line type. Don't populate this field if you are not creating an attribute test attempt line. You can get that value from GET /attribute [attribute_id]. example: 123456 required: - project_id - testattempt_id - type - description testattemptLineDeleteRequest: type: object description: This is the request object to delete an test attempt line record properties: project_id: type: integer example: 789 testattemptline_id: type: integer example: 7477 required: - project_id - testattemptline_id FileTagDeleteRequest: type: object description: This is the request object to delete an file tag record properties: project_id: type: integer example: 789 file_tag_id: type: integer description: The file tag ID you want to delete. You can get the file tag ID from request GET/file_tag [file_tag_id] example: 7477 required: - project_id - file_tag_id FileTagCreateRequest: type: object description: This is the request object to create an file tag record properties: project_id: type: integer example: 789 name: type: string example: test test file_id: type: integer description: You can get the file ID from request GET/file [file_id] example: 7477 required: - project_id - file_id - name ReportFileCreateRequest: type: object description: This is the request object to create a report (file) properties: project_id: type: integer example: 789 report_id: type: integer example: 3434 number_pages: type: boolean example: TRUE number_sections: type: boolean example: TRUE required: - project_id - report_id equipmenttypeattributeCreateRequest: type: object description: This is the request object to create an equipment type attribute record properties: project_id: type: integer example: 789 value: type: string example: COMPASS attribute_id: type: integer example: 546456 equipmenttype_id: type: integer example: 676 required: - project_id - value - attribute_id - equipmenttype_id equipmentCreateRequest: type: object description: This is the request object to create an equipment record properties: project_id: type: integer example: 789 name: type: string example: test test description: type: string example: description is here type_id: type: integer example: 676 discipline_id: type: integer example: 11123 space_id: type: integer example: 99990 equipmentstatus_id: type: integer example: 77778 equipment_system: type: array items: type: integer example: [1, 2, 3] required: - project_id - name campusCreateRequest: type: object description: This is the request object to create a campus record properties: project_id: type: integer example: 789 name: type: string example: name goes here description: type: string example: description is here required: - project_id - name buildingCreateRequest: type: object description: This is the request object to create a building record properties: project_id: type: integer example: 789 name: type: string example: name goes here description: type: string example: description is here campus_id: type: integer example: 4545 required: - project_id - name buildingUpdateRequest: type: object description: This is the request object to update a building record properties: project_id: type: integer example: 789 building_id: type: integer example: 77555 name: type: string example: name goes here description: type: string example: description is here campus_id: type: integer example: 4545 required: - project_id - building_id spaceCreateRequest: type: object description: This is the request object to create a space record properties: project_id: type: integer example: 789 name: type: string example: name goes here description: type: string example: description is here floor: type: integer example: 3435 zone: type: array items: type: integer example: [1, 2, 3] required: - project_id - name zoneCreateRequest: type: object description: This is the request object to create a zone record properties: project_id: type: integer example: 789 name: type: string example: name goes here description: type: string example: description is here building: type: integer example: 3435 required: - project_id - name systemCreateRequest: type: object description: This is the request object to create a system record properties: project_id: type: integer example: 789 name: type: string example: name goes here description: type: string example: description is here building: type: integer example: 3435 discipline_id: type: integer example: 45365 required: - project_id - name systemUpdateRequest: type: object description: This is the request object to update a system record properties: project_id: type: integer example: 789 system_id: type: integer example: 4545 name: type: string example: name goes here description: type: string example: description is here building_id: type: integer example: 3435 discipline_id: type: integer example: 45365 required: - project_id - system_id zoneUpdateRequest: type: object description: This is the request object to update a zone record properties: project_id: type: integer example: 789 zone_id: type: integer example: 56646 name: type: string example: name goes here description: type: string example: description is here building: type: integer example: 3435 required: - project_id - zone_id floorCreateRequest: type: object description: This is the request object to create a floor record properties: project_id: type: integer example: 789 name: type: string example: name goes here description: type: string example: description is here building_id: type: integer example: 3435 required: - project_id - name floorUpdateRequest: type: object description: This is the request object to update a floor record properties: project_id: type: integer example: 789 floor_id: type: integer example: 6789 name: type: string example: name goes here description: type: string example: description is here building_id: type: integer example: 3435 required: - project_id - floor_id spaceUpdateRequest: type: object description: This is the request object to update a space record properties: project_id: type: integer example: 789 space_id: type: integer example: 7563 name: type: string example: name goes here description: type: string example: description is here floor: type: integer example: 3435 zone: type: array items: type: integer example: [1, 2, 3] required: - project_id - space_id campusUpdateRequest: type: object description: This is the request object to update a campus record properties: project_id: type: integer example: 789 campus_id: type: integer example: 53467 name: type: string example: name goes here description: type: string example: description is here required: - project_id - campus_id campusDeleteRequest: type: object description: This is the request object to delete a campus record properties: project_id: type: integer example: 789 campus_id: type: integer example: 53467 required: - project_id - campus_id spaceDeleteRequest: type: object description: This is the request object to delete a space record properties: project_id: type: integer example: 789 space_id: type: integer example: 53467 required: - project_id - space_id systemDeleteRequest: type: object description: This is the request object to delete a system record properties: project_id: type: integer example: 789 system_id: type: integer example: 53467 required: - project_id - system_id zoneDeleteRequest: type: object description: This is the request object to delete a zone record properties: project_id: type: integer example: 789 zone_id: type: integer example: 53467 required: - project_id - zone_id buildingDeleteRequest: type: object description: This is the request object to delete a building record properties: project_id: type: integer example: 789 building_id: type: integer example: 53467 required: - project_id - building_id floorDeleteRequest: type: object description: This is the request object to delete a floor record properties: project_id: type: integer example: 789 floor_id: type: integer example: 53467 required: - project_id - floor_id equipmenttypeCreateRequest: type: object description: This is the request object to create an equipment type record properties: project_id: type: integer example: 789 name: type: string example: test test description: type: string example: description is here discipline_id: type: integer example: 676 required: - project_id - name equipmentattributeCreateRequest: type: object description: This is the request object to create an equipment attribute record properties: project_id: type: integer example: 789 equipment_id: type: integer example: 324324 attribute_id: type: integer example: 88686 value: type: string example: GE Transformer by ABB required: - project_id - equipment_id - attribute_id - value equipmenttypeUpdateRequest: type: object description: This is the request object to update an equipment type record properties: project_id: type: integer example: 789 equipmenttype_id: type: integer example: 345345 name: type: string example: COMPASS description: type: string example: dHandheld Controller discipline_id: type: integer example: 676 required: - project_id - equipmenttype_id equipmentattributeUpdateRequest: type: object description: This is the request object to update an equipment attribute record properties: project_id: type: integer example: 789 equipmentattribute_id: type: integer example: 345345 value: type: string example: COMPASS required: - project_id - equipmentattribute_id ChecklistsectionUpdateRequest: type: object description: This is the request object to update an checklist section record properties: project_id: type: integer example: 789 checklistsection_id: type: integer example: 324324 status_key: type: integer example: 88686 assigned_key: type: string example: person-2345 name: type: string example: Information Counts required: - project_id - checklistsection_id ChecklistsectionCreateRequest: type: object description: This is the request object to update an checklist section record properties: project_id: type: integer example: 789 checklist_id: type: integer example: 324324 description: REQUIRED IF you are on a un-upgraded project checklisttype_id: type: integer example: 88686 asset_key: type: string example: equipment-2345 name: type: string example: Information Counts status_key: type: string example: 7756 required: - project_id - name FileTagUpdateRequest: type: object description: This is the request object to update an file tag record properties: project_id: type: integer example: 789 file_tag_id: type: integer description: You can get the file tag ID from request GET/file_tag [file_tag_id] example: 7477 tag_id: type: integer example: 888 file_id: type: integer example: 7212 required: - project_id - file_tag_id PreUploadRequest: type: object description: This is the request object to upload a file to S3 properties: project_id: type: integer example: 789 connected_key: type: string description: format should be type - id. You put the type first then the ID from that type Type possibilities - campus - building - floor - space - zone - system - equipment - constructionissue - designissue - checklist - checklistsection - checklistsectionline - test - testattempt - testattemptline - constructionreview - designreview - fieldobservation - fieldobservationcomment - meeting - progressreport - issuecomment For example - from request GET/floor you would get [floor_id] example: 'floor-567' response_filename: type: string example: Contract.pdf sha256: type: string example: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 description: The sha256 of the file you are uploading. This is used to verify the integrity of the file during the upload process. required: - project_id - response_filename - sha256 PostUploadRequest: type: object description: This is the request object to get the file record you just uploaded properties: project_id: type: integer example: 789 file_id: type: integer description: You can get the file ID from request GET/file [file_id] example: 7477 tag_id: type: integer description: You can get the file tag ID from request GET/file_tag [tag_id] example: 743534 required: - project_id - file_id FileFolderCreateRequest: type: object description: This is the request object create a new folder for a project properties: project_id: type: integer example: 789 name: type: string example: New Folder parent_folder_id: type: integer description: You can get the file ID from request GET/file example: 743534 required: - project_id - name FileDeleteRequest: type: object description: This is the request object to delete an file record properties: project_id: type: integer example: 789 file_id: type: integer description: The file ID you want to delete. You can get the file ID from request GET/file [file_id] example: 7477 required: - project_id - file_id issueAttributeDeleteRequest: type: object description: This is the request object to delete an issue attribute record properties: project_id: type: integer example: 789 issueattribute_id: type: integer description: The issue attribute ID you want to delete. You can get the issue attribute ID from request GET/issueattribute [issueattribute_id] example: 7477 required: - project_id - issueattribute_id issueAttributeUpdateRequest: type: object description: This is the request object to update an issue attribute record properties: project_id: type: integer example: 789 issueattribute_id: type: integer description: The issue attribute ID you want to update. You can get the issue attribute ID from request GET/issueattribute [issueattribute_id] example: 7477 value: type: string example: Test1234 required: - project_id - issueattribute_id equipmenttypeattributeUpdateRequest: type: object description: This is the request object to update an equipment type attribute record properties: project_id: type: integer example: 789 equipmenttypeatttribute_id: type: integer description: The equipment type attribute ID you want to update. You can get the equipment type attribute ID from request GET/equipmenttypeattribute [equipmenttypeattribute_id] example: 7477 value: type: string example: COMPASS required: - project_id - equipmenttypeatttribute_id issueAttributeCreateRequest: type: object description: This is the request object to create an issue attribute record properties: project_id: type: integer example: 789 attribute_id: type: integer description: You can get the attribute ID from request GET/attribute [attribute_id] example: 7477 issue_id: type: integer description: You can get the issue ID from request POST/issue [issue_id] example: 777 value: type: string example: Test1234 required: - project_id - issueattribute_id issueCommentCreateRequest: type: object description: This is the request object to create an issue comment record properties: project_id: type: integer example: 789 issue_id: type: integer description: You can get the issue ID from request POST/issue [issue_id] example: 777 comment: type: string example: comment here required: - project_id - issue_id issueCommentUpdateRequest: type: object description: This is the request object to update an issue comment record properties: project_id: type: integer example: 7892 issuecomment_id: type: integer example: 777223 comment: type: string example: comment here required: - project_id - issuecomment_id issueCommentDeleteRequest: type: object description: This is the request object to delete an issue comment record properties: project_id: type: integer example: 7892 issuecomment_id: type: integer example: 777223 required: - project_id - issuecomment_id issueCreateRequest: type: object description: This is the request object to update an issue record properties: project_id: type: integer example: 789 source: type: string description: format should be type _ id. You put the type first then the ID from that type Type possibities - checklistsectionline - testattemptline - checklist - checklistsection - review - fieldobservation - test - meeting For example - from the request GET/testattemptline you would get [testattemptline_id] example: 'testattemptline_333' description: type: string example: 'Test description' status_id: type: integer description: You can get a status ID from request GET/issuestatus [issuestatus_id] example: 5678 assigned_key: type: string description: format should be type _ id. You put the type first then the ID from that type Type possibities - role - person - company For example - from the request GET/person you would get [person_id] example: 'person_4555' priority_id: type: integer description: You can get a priority ID from request GET/priority [issuepriority_id] example: 445 asset_key: type: string description: format should be type _ id. You put the type first then the ID from that type Type possibilities - campus - building - floor - space - zone - system - equipment - type For example - from request GET/floor you would get [floor_id] example: 'floor_567' discipline_id: type: integer description: You can get a discipline ID from request GET/discipline [discipline_id] example: 5444 issuetype_id: type: integer description: You can get an issuetype ID from request GET/issuetype [issuetype_id] example: 12 drawing: type: string example: 'Vestibule L29' recommendation: type: string example: 'test 1' due_date: type: string example: '2022-03-22' required: - project_id - source historyRequest: type: object description: This is the request object to get history records properties: project_id: type: integer example: 234 page: type: integer description: The page (offset) of records to return. Pages are limited to 500 records. example: 3 default: 1 filter: type: object description: This will filter the results properties: id: type: array description: Filter records by history ID's example: [1, 2, 3] record: type: array description: | Filter records by table and id. You can specify a table concatenated with a hyphen and the id of the record in the table. example: [checklist-163, zone-533, equipment-2345] type: type: string description: Filter records by history type enum: - INSERT - UPDATE - DELETE example: UPDATE after_date: type: string description: Only return records created after a certain date. Dates must be in YYYY-MM-DD format. example: '2016-10-14' before_date: type: string description: Only return records created before a certain date. Dates must be in YYYY-MM-DD format. example: '2018-09-17' table: type: string description: Filter records by table enum: - account_person - attribute - campus - building - buildingattribute - checklist - checklistsection - checklistsectionline - checklistsectionstatus - checklistsignatureline - checklisttemplate - checklisttemplatesection - checklisttemplatesectionline - company_project - discipline - equipment - equipmentattribute - equipment_system - fieldobservation - fieldobservationcomment - file - file_tag - floor - floorattribute - folder - issue - issuecomment - issuestatus - issuetype - meeting - meetingreference - meeting_person - permission - person - person_project - progressreport - project - report - reportsection - review - served - space - spaceattribute - space_zone - system - systemattribute - tag - task - taskcomment - test - testattempt - testattemptline - testattemptstatus - testsignatureline - testtemplate - testtemplateline - type - typeattribute - watch - zone - zoneattribute - checklisttype - equipmentstatus - fieldobservationtype - issuepriority - reviewremark - reviewtype - role example: checklist person: type: integer description: Filter records by person ID's. example: 123 after_id: type: integer description: Filter records by history ID after a certain ID example: 123456 before_id: type: integer description: Filter records by history ID before a certain ID example: 123456 required: - project_id checkliststatus_updateRequest: type: object description: This is the request object to update checklist status record properties: project_id: type: integer example: 234 checklistsectionstatus_id: type: integer example: 3 name: type: string example: 'Ordered' color: type: string example: 'red' required: - project_id - checklistsectionstatus_id checkliststatus_deleteRequest: type: object description: This is the request object to delete checklist status record properties: project_id: type: integer example: 234 checklistsectionstatus_id: type: integer example: 3 required: - project_id - checklistsectionstatus_id checkliststatus_createRequest: type: object description: This is the request object to create checklist status record properties: project_id: type: integer example: 234 name: type: string example: 'Ordered' color: type: string example: 'red' required: - project_id - name - color equipmentstatus_updateRequest: type: object description: This is the request object to update equipment status record properties: project_id: type: integer example: 234 equipmentstatus_id: type: integer example: 3 name: type: string example: 'Ordered' color: type: string example: 'red' required: - project_id - equipmentstatus_id equipment_updateRequest: type: object description: This is the request object to update equipment record properties: project_id: type: integer example: 234 equipment_id: type: integer example: 3 name: type: string example: here is the name description: type: string example: equipment description type_id: type: integer example: 4445 discipline_id: type: integer example: 99 space_id: type: integer example: 0023 equipmentstatus_id: type: integer example: 23456 equipment_system: type: array items: type: integer example: [1, 2, 3] required: - project_id - equipment_id milestonegroupRequest: type: object description: This is the request object to get milestonegroup records properties: project_id: type: integer example: 234 filter: type: object description: This will filter the results properties: id: type: array items: type: integer description: Filter records by milestonegroup ID's example: [1, 2, 3] include: type: array description: This will include related data in the results items: type: string description: | Possible Values Are: * `collections` - Include milestone collections sections in the results enum: - collections example: ["collections"] required: - project_id milestonecollectionRequest: type: object description: This is the request object to get milestonecollection records properties: project_id: type: integer example: 234 filter: type: object description: This will filter the results properties: id: type: array items: type: integer description: Filter records by milestonecollection ID's example: [1, 2, 3] milestonegroup: type: array items: type: integer description: Filter records by milestonegroup ID example: [3,45] include: type: array description: This will include related data in the results items: type: string description: | Possible Values Are: * `milestone` - Include milestone sections in the results enum: - milestone example: ["milestone"] required: - project_id milestoneRequest: type: object description: This is the request object to get milestone records properties: project_id: type: integer example: 234 filter: type: object description: This will filter the results properties: id: type: array items: type: integer description: Filter records by milestone ID's example: [1, 2, 3] milestonecollection: type: array items: type: integer description: Filter records by milestonecollection ID example: [3,45] include: type: array description: This will include related data in the results items: type: string description: | Possible Values Are: * `milestoneitem` - Include milestone item sections in the results enum: - milestoneitem example: "milestoneitem" required: - project_id milestoneitemRequest: type: object description: This is the request object to get milestoneitem records properties: project_id: type: integer example: 234 filter: type: object description: This will filter the results properties: id: type: array items: type: integer description: Filter records by milestoneitem ID's example: [1, 2, 3] milestone: type: array items: type: integer description: Filter records by milestone ID example: [3,45] required: - project_id milestoneitem_updateRequest: type: object description: This is the request object to update milestoneitem records properties: project_id: type: integer example: 234 milestoneitem_id: type: integer example: 3 date_complete: type: date example: '2023-10-20' required: - project_id - milestoneitem_id checklistFilterResponse: type: object description: This the wrapper that we return records in. It includes the total records returned, current page and a description of the records. This wrapper is only for requests that can be filtered. properties: records: type: array description: Checklist records returned from the query items: $ref: '#/components/schemas/Checklist' total_count: type: integer example: 20 page: type: integer example: 1 description: type: string example: 393 Checklists with status started, with type pre-functional, sorted by name. description: | *This will return the filter sentence describing the records that were returned* testFilterResponse: type: object description: This the wrapper that we return records in. It includes the total records returned, current page and a description of the records. This wrapper is only for requests that can be filtered. properties: records: type: array description: Test records returned from the query items: $ref: '#/components/schemas/Test' total_count: type: integer example: 20 page: type: integer example: 1 description: type: string example: 6 Mechanical Tests with status passed, sorted by name. description: | *This will return the filter sentence describing the records that were returned* issueFilterResponse: type: object description: This the wrapper that we return records in. It includes the total records returned, current page and a description of the records. This wrapper is only for requests that can be filtered. properties: records: type: array description: Issue Records returned from the query items: $ref: '#/components/schemas/Issue' total_count: type: integer example: 20 page: type: integer example: 1 description: type: string example: 9 Issues of low priority with status open. description: | *This will return the filter sentence describing the records that were returned* issueUpdateFilterResponse: type: object description: This is the wrapper we return the record in. It includes the issue ID and current page. This wrapper is only for request that can be filtered. properties: records: type: array description: Issue record returned from the query items: $ref: '#/components/schemas/Issue' page: type: integer example: 1 issueDeleteFilterResponse: type: object description: This is the wrapper we return the record in. It includes the issue ID and current page. This wrapper is only for request that can be filtered. properties: records: type: array description: Issue records for the rest of the project are returned from the query items: $ref: '#/components/schemas/Issue' page: type: integer example: 1 equipmentDeleteFilterResponse: type: object description: This is the wrapper we return the record in. It includes the equipment ID and current page. This wrapper is only for request that can be filtered. properties: records: type: array description: Equipment records for the rest of the project are returned from the query items: $ref: '#/components/schemas/Equipment' equipmenttypeDeleteFilterResponse: type: object description: This is the wrapper we return the record in. It includes the equipment type ID and current page. This wrapper is only for request that can be filtered. properties: records: type: array description: Equipment type records for the rest of the project are returned from the query items: $ref: '#/components/schemas/Equipmenttype' equipmentattributeDeleteFilterResponse: type: object description: This is the wrapper we return the record in. It includes the equipment type ID and current page. This wrapper is only for request that can be filtered. properties: records: type: array description: Equipment attribute records for the rest of the project are returned from the query items: $ref: '#/components/schemas/Equipmentattribute' equipmenttypeattributeDeleteFilterResponse: type: object description: This is the wrapper we return the record in. It includes the equipment type ID and current page. This wrapper is only for request that can be filtered. properties: records: type: array description: Equipment type attribute records for the rest of the project are returned from the query items: $ref: '#/components/schemas/Equipmenttypeattribute' issueCreateFilterResponse: type: object description: This is the wrapper we return the record in. It includes the issue ID and current page. This wrapper is only for request that can be filtered. properties: records: type: array description: Issue record created returned from the query items: $ref: '#/components/schemas/Issue' page: type: integer example: 1 requestBodies: testRequest: content: application/json: schema: $ref: '#/components/schemas/testRequest' description: Request body required: true testCreateRequest: content: application/json: schema: $ref: '#/components/schemas/testCreateRequest' description: Request body required: true testattemptCreateRequest: content: application/json: schema: $ref: '#/components/schemas/testattemptCreateRequest' description: Request body required: true testUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/testUpdateRequest' description: Request body required: true checklistRequest: content: application/json: schema: $ref: '#/components/schemas/checklistRequest' description: Request body required: true checklistLineRequest: content: application/json: schema: $ref: '#/components/schemas/checklistLineRequest' description: Request body required: true checklistLineUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/checklistLineUpdateRequest' description: Request body required: true testattemptLineUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/testattemptLineUpdateRequest' description: Request body required: true issueRequest: content: application/json: schema: $ref: '#/components/schemas/issueRequest' description: Request body required: true testtemplateUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/testtemplateUpdateRequest' description: Request body required: true testtemplateCreateRequest: content: application/json: schema: $ref: '#/components/schemas/testtemplateCreateRequest' description: Request body required: true testtemplateDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/testtemplateDeleteRequest' description: Request body required: true issueUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/issueUpdateRequest' description: Request body required: true ChecklistsectionUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/ChecklistsectionUpdateRequest' description: Request body required: true checklistsectionDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/checklistsectionDeleteRequest' description: Request body required: true testDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/testDeleteRequest' description: Request body required: true checklistLineDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/checklistLineDeleteRequest' description: Request body required: true checklistLineAnswerUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/checklistLineAnswerUpdateRequest' description: Request body required: true testattemptLineAnswerUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/testattemptLineAnswerUpdateRequest' description: Request body required: true testattemptLineDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/testattemptLineDeleteRequest' description: Request body required: true testattemptLineCreateRequest: content: application/json: schema: $ref: '#/components/schemas/testattemptLineCreateRequest' description: Request body required: true ChecklistsectionCreateRequest: content: application/json: schema: $ref: '#/components/schemas/ChecklistsectionCreateRequest' description: Request body required: true equipment_updateRequest: content: application/json: schema: $ref: '#/components/schemas/equipment_updateRequest' description: Request body required: true equipmentstatus_updateRequest: content: application/json: schema: $ref: '#/components/schemas/equipmentstatus_updateRequest' description: Request body required: true checkliststatus_updateRequest: content: application/json: schema: $ref: '#/components/schemas/checkliststatus_updateRequest' description: Request body required: true checkliststatus_deleteRequest: content: application/json: schema: $ref: '#/components/schemas/checkliststatus_deleteRequest' description: Request body required: true checkliststatus_createRequest: content: application/json: schema: $ref: '#/components/schemas/checkliststatus_createRequest' description: Request body required: true issueCreateRequest: content: application/json: schema: $ref: '#/components/schemas/issueCreateRequest' description: Request body required: true equipmentCreateRequest: content: application/json: schema: $ref: '#/components/schemas/equipmentCreateRequest' description: Request body required: true campusCreateRequest: content: application/json: schema: $ref: '#/components/schemas/campusCreateRequest' description: Request body required: true buildingCreateRequest: content: application/json: schema: $ref: '#/components/schemas/buildingCreateRequest' description: Request body required: true buildingUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/buildingUpdateRequest' description: Request body required: true spaceCreateRequest: content: application/json: schema: $ref: '#/components/schemas/spaceCreateRequest' description: Request body required: true zoneCreateRequest: content: application/json: schema: $ref: '#/components/schemas/zoneCreateRequest' description: Request body required: true systemCreateRequest: content: application/json: schema: $ref: '#/components/schemas/systemCreateRequest' description: Request body required: true systemUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/systemUpdateRequest' description: Request body required: true zoneUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/zoneUpdateRequest' description: Request body required: true floorCreateRequest: content: application/json: schema: $ref: '#/components/schemas/floorCreateRequest' description: Request body required: true floorUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/floorUpdateRequest' description: Request body required: true spaceUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/spaceUpdateRequest' description: Request body required: true campusUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/campusUpdateRequest' description: Request body required: true campusDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/campusDeleteRequest' description: Request body required: true spaceDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/spaceDeleteRequest' description: Request body required: true systemDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/systemDeleteRequest' description: Request body required: true zoneDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/zoneDeleteRequest' description: Request body required: true buildingDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/buildingDeleteRequest' description: Request body required: true floorDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/floorDeleteRequest' description: Request body required: true equipmenttypeattributeCreateRequest: content: application/json: schema: $ref: '#/components/schemas/equipmenttypeattributeCreateRequest' description: Request body required: true equipmenttypeCreateRequest: content: application/json: schema: $ref: '#/components/schemas/equipmenttypeCreateRequest' description: Request body required: true equipmentattributeCreateRequest: content: application/json: schema: $ref: '#/components/schemas/equipmentattributeCreateRequest' description: Request body required: true issueDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/issueDeleteRequest' description: Request body required: true equipmenttypeDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/equipmenttypeDeleteRequest' description: Request body required: true equipmentattributeDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/equipmentattributeDeleteRequest' description: Request body required: true equipmenttypeattributeDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/equipmenttypeattributeDeleteRequest' description: Request body required: true equipmentDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/equipmentDeleteRequest' description: Request body required: true FileTagDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/FileTagDeleteRequest' description: Request body required: true FileTagCreateRequest: content: application/json: schema: $ref: '#/components/schemas/FileTagCreateRequest' description: Request body required: true ReportFileCreateRequest: content: application/json: schema: $ref: '#/components/schemas/ReportFileCreateRequest' description: Request body required: true FileTagUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/FileTagUpdateRequest' description: Request body required: true equipmenttypeUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/equipmenttypeUpdateRequest' description: Request body required: true equipmentattributeUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/equipmentattributeUpdateRequest' description: Request body required: true FileDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/FileDeleteRequest' description: Request body required: true PreUploadRequest: content: application/json: schema: $ref: '#/components/schemas/PreUploadRequest' description: Request body required: true PostUploadRequest: content: application/json: schema: $ref: '#/components/schemas/PostUploadRequest' description: Request body required: true FileFolderCreateRequest: content: application/json: schema: $ref: '#/components/schemas/FileFolderCreateRequest' description: Request body required: true issueAttributeDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/issueAttributeDeleteRequest' description: Request body required: true issueAttributeUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/issueAttributeUpdateRequest' description: Request body required: true equipmenttypeattributeUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/equipmenttypeattributeUpdateRequest' description: Request body required: true issueAttributeCreateRequest: content: application/json: schema: $ref: '#/components/schemas/issueAttributeCreateRequest' description: Request body required: true issueCommentCreateRequest: content: application/json: schema: $ref: '#/components/schemas/issueCommentCreateRequest' description: Request body required: true issueCommentUpdateRequest: content: application/json: schema: $ref: '#/components/schemas/issueCommentUpdateRequest' description: Request body required: true issueCommentDeleteRequest: content: application/json: schema: $ref: '#/components/schemas/issueCommentDeleteRequest' description: Request body required: true historyRequest: content: application/json: schema: $ref: '#/components/schemas/historyRequest' description: Request body required: true milestonegroupRequest: content: application/json: schema: $ref: '#/components/schemas/milestonegroupRequest' description: Request body required: true milestonecollectionRequest: content: application/json: schema: $ref: '#/components/schemas/milestonecollectionRequest' description: Request body required: true milestoneRequest: content: application/json: schema: $ref: '#/components/schemas/milestoneRequest' description: Request body required: true milestoneitemRequest: content: application/json: schema: $ref: '#/components/schemas/milestoneitemRequest' description: Request body required: true milestoneitem_updateRequest: content: application/json: schema: $ref: '#/components/schemas/milestoneitem_updateRequest' description: Request body required: true