{"openapi":"3.1.1","info":{"title":"Record360 Integration API","summary":"Record360's premier RESTful API for powering integrations for customers, partners, and vendors.","version":"3.20250213","termsOfService":"https://record360.com/terms/","contact":{"name":"Support","url":"https://record360.zendesk.com/hc/en-us","email":"support@record360.com"},"x-logo":{"url":"https://record360.com/wp-content/uploads/2021/11/Record_logo-nneeww.svg","altText":"Record360 logo"},"description":"# Introduction\nThe Record360 Integration API - also known as the v3 REST API - uses standard http verbs to communicate and http status codes to indicate status and error. All responses come in standard JSON. The API is served over HTTPS to ensure data privacy; HTTP is not supported.\n\n## Backwards-compatible changes\nWe consider the following changes to be backwards-compatible:\n  - Adding new API resources.\n  - Adding new optional request parameters to existing API methods.\n  - Adding new optional properties to existing API request bodies.\n  - Making required properties in existing API request bodies optional.\n  - Adding new properties to existing API responses.\n  - Changing the order of properties in existing API responses.\n  - Changing the length or format of object IDs or other opaque strings.\n    - Ensure that your integration can handle Record360-generated object IDs, which can contain up to 255 characters. For example, if you're using MySQL, store the IDs in a `VARCHAR(255) COLLATE utf8_bin` column (the COLLATE configuration provides case-sensitivity during lookups).\n  - Adding new event types.\n    - Ensure that your webhook listener gracefully handles unfamiliar event types.\n\n# Authentication\nFor requests which require authentication, the Integration API uses an API key security scheme utilizing a pair of keys, a secret key and key id, as headers. If your Key ID or Secret Key cannot be validated, a `401` status code is returned. If either header is not provided, a `401` status code is also returned.\n\nExample:\n```\n  curl -i -H \"api-key-id: 3e50cee3-0548-4805-95e8-cb49659f968f\" \\\n          -H \"api-key-secret: FrV1234\"\n          https://api.record360.com/v3/units\n```\n  <SecurityDefinitions />\n\n# Rate Limiting\nRecord360 enforces a default rate limit of 100 requests per 10 seconds per IP. Rate limit may be increased to 200 requests per 10 seconds per IP upon discussion. If the rate limit is exceeded, a `429` response is returned with a `Retry-After` header that indicates when requests will be allowed for that client again.\n\n# Errors\nRecord360 uses standard HTTP status codes to indicate request success or failure. When present, the body of the response will be JSON in the following format:\n  ```\n  {\n    \"errors\": \"The Unit A-001 could not be found\"\n  }\n  ```\n\n# Beta features\nRecord360 may provide new API features via beta features. This allows early adopters to opt-in for the latest and greatest and for us to collect feedback before a feature is made generally available (GA). We believe in stability without stagnation. Beta testing allows our team to build and ship best-in-class APIs faster, while upholding backwards-compatibility on GA features.\n\nBeta features are subject to change, and thus, are exempt from any backwards-compatibility guarantees. We do not expect nor recommend using experimental features in production environments except when our teams are working closely together.\n\nBeta features are marked with a badge on the dev portal when viewing the endpoint or feature page.\n"},"servers":[{"url":"https://api.record360.com/v3","description":"Production server"}],"tags":[{"name":"Units","x-displayName":"Units","description":"Individual assets in the Company's inventory.\n"}],"paths":{"/units":{"get":{"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"},{"name":"referenceNumber","description":"Filter results by the reference number field. Reference numbers are unique within a Company.","in":"query","required":false,"schema":{"type":"string","maxLength":255}},{"name":"serialNumber","description":"Filter results the serial number field. Serial numbers are identifiers provided by manufacturers.","in":"query","schema":{"type":"string","maxLength":255}}],"operationId":"listUnits","summary":"List units","description":"Returns a list of allowed units.\n","responses":{"200":{"description":"Resource list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Unit"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units"]},"post":{"operationId":"createUnit","summary":"Create a unit","description":"Creates a new unit. If a unit already exists, a `409` error status code will be returned.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reference_number":{"type":"string","maxLength":255},"make":{"type":"string","maxLength":255},"model":{"type":"string","maxLength":255},"year":{"type":"integer","format":"date-fullyear","minimum":1800,"maximum":9999},"vin":{"description":"The Vehicle Identification Number (VIN) created by the manufacturer and assigned by the regulatory agency, following ISO 3779 (content and structure) and ISO 4030 (location and attachment) standards — 17 digit alphanumeric string, prohibiting the letters `I`, `O`, and `Q`.","type":"string","format":"vin","minLength":17,"maxLength":17},"serial_number":{"type":"string","maxLength":255},"hours":{"type":"integer","format":"int32","minimum":0},"odometer":{"type":"integer","format":"int32","minimum":0},"extended_data":{"type":"object"}},"required":["reference_number"],"example":{"reference_number":"B4WU11009","make":"Bobcat","model":"E145","year":2024,"serial_number":"B4WU11009","vin":"WMWRF33519TW73378","hours":420,"odometer":21456,"extended_data":{"stock_number":"Bob"}}}}}},"responses":{"201":{"description":"Resource created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unit"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units"]}},"/units/{unit_id}":{"parameters":[{"$ref":"#/components/parameters/UnitId"}],"get":{"operationId":"getUnit","summary":"View a unit by unit id","description":"Returns a specific unit corresponding to that unit's unique database identifier.\n","responses":{"200":{"description":"Resource returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unit"}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units"]},"patch":{"operationId":"updateUnit","summary":"Update a unit by unit id","description":"Performs a partial update on an Unit corresponding to that unit's unique database identifier.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reference_number":{"type":"string","maxLength":255},"make":{"type":"string","maxLength":255},"model":{"type":"string","maxLength":255},"year":{"type":"integer","format":"date-fullyear","minimum":1800,"maximum":9999},"vin":{"description":"The Vehicle Identification Number (VIN) created by the manufacturer and assigned by the regulatory agency, following ISO 3779 (content and structure) and ISO 4030 (location and attachment) standards — 17 digit alphanumeric string, prohibiting the letters `I`, `O`, and `Q`.","type":"string","format":"vin","minLength":17,"maxLength":17},"serial_number":{"type":"string","maxLength":255},"hours":{"type":"integer","format":"int32","minimum":0},"odometer":{"type":"integer","format":"int32","minimum":0},"extended_data":{"type":"object"}},"example":{"reference_number":"B4WU11009","make":"Bobcat","model":"E145","year":2024,"serial_number":"B4WU11009","vin":"WMWRF33519TW73378","hours":420,"odometer":21567,"extended_data":{"stock_number":"Bob"}}}}}},"responses":{"200":{"description":"Resource updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unit"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units"]}},"/units/{unit_id}/inspections":{"parameters":[{"$ref":"#/components/parameters/UnitId"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"},{"$ref":"#/components/parameters/CreatedAfter"},{"$ref":"#/components/parameters/CreatedBefore"},{"$ref":"#/components/parameters/InspectionType"},{"$ref":"#/components/parameters/DepartmentNameFilter"}],"get":{"operationId":"getInspectionsforUnit","summary":"View inspections for a unit by reference number","description":"Returns all inspections performed on a specified unit.\n","responses":{"200":{"description":"Resource returned","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Inspection"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units","Inspections"]}},"/units/by_reference_number/{reference_number}/inspections":{"parameters":[{"$ref":"#/components/parameters/ReferenceNumber"},{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"},{"$ref":"#/components/parameters/CreatedAfter"},{"$ref":"#/components/parameters/CreatedBefore"},{"$ref":"#/components/parameters/InspectionType"},{"$ref":"#/components/parameters/DepartmentNameFilter"}],"get":{"operationId":"getInspectionsforUnitbyRefNum","summary":"View inspections for a unit","description":"Returns all inspections performed on a specified unit.\n","responses":{"200":{"description":"Resource returned","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Inspection"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units","Inspections"]}},"/units/by_reference_number/{reference_number}":{"parameters":[{"$ref":"#/components/parameters/ReferenceNumber"}],"get":{"operationId":"getUnitByRefNum","summary":"View a unit by reference number","description":"Returns a specific unit by using that unit's unique database identifier.\n","responses":{"200":{"description":"Resource returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unit"}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units"]},"patch":{"operationId":"updateUnitByRefNum","summary":"Update a unit by Reference Number","description":"Performs a partial update on an Unit.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"make":{"type":"string","maxLength":255},"model":{"type":"string","maxLength":255},"year":{"format":"date-fullyear","minimum":1800,"maximum":9999},"vin":{"description":"The Vehicle Identification Number (VIN) created by the manufacturer and assigned by the regulatory agency, following ISO 3779 (content and structure) and ISO 4030 (location and attachment) standards — 17 digit alphanumeric string, prohibiting the letters `I`, `O`, and `Q`.","type":"string","format":"vin","minLength":17,"maxLength":17},"serial_number":{"type":"string","maxLength":255},"hours":{"type":"integer","format":"int32","minimum":0},"odometer":{"type":"integer","format":"int32","minimum":0},"extended_data":{"type":"object"}},"example":{"make":"Bobcat","model":"E145","year":2024,"vin":"WMWRF33519TW73378","serial_number":"B4WU11009","hours":420,"odometer":21876,"extended_data":{"stock_number":"Bob"}}}}}},"responses":{"200":{"description":"Resource updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unit"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units"]},"put":{"operationId":"upsertUnitByRefNum","summary":"Upsert a unit by reference number","description":"Performs an upsert on an Unit -- either replacing a matching unit or creating a new one.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"make":{"type":"string","maxLength":255},"model":{"type":"string","maxLength":255},"year":{"type":"integer","format":"date-fullyear","minimum":1800,"maximum":9999},"vin":{"description":"The Vehicle Identification Number (VIN) created by the manufacturer and assigned by the regulatory agency, following ISO 3779 (content and structure) and ISO 4030 (location and attachment) standards — 17 digit alphanumeric string, prohibiting the letters `I`, `O`, and `Q`.","type":"string","format":"vin","minLength":17,"maxLength":17},"serial_number":{"type":"string","maxLength":255},"hours":{"type":"integer","format":"int32","minimum":0},"odometer":{"type":"integer","format":"int32","minimum":0},"extended_data":{"type":"object"}},"example":{"make":"Bobcat","model":"E145","year":2024,"serial_number":"B4WU11009","vin":"WMWRF33519TW73378","hours":420,"odometer":21999,"extended_data":{"stock_number":"Bob"}}}}}},"responses":{"200":{"description":"Resource returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unit"}}}},"201":{"description":"Resource created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Unit"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Units"]}},"/inspections":{"get":{"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"},{"$ref":"#/components/parameters/CreatedAfter"},{"$ref":"#/components/parameters/CreatedBefore"},{"$ref":"#/components/parameters/InspectionType"},{"$ref":"#/components/parameters/DepartmentNameFilter"}],"operationId":"listInspections","summary":"List inspections","description":"Returns a list of allowed inspections.\n","responses":{"200":{"description":"Resource list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Inspection"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Inspections"]}},"/inspections/{inspection_id}":{"get":{"parameters":[{"$ref":"#/components/parameters/InspectionId"}],"operationId":"getInspection","summary":"View an inspection","description":"Returns a specific inspection corresponding to that inspection's unique database identifier. Inspections can be returned in either JSON or PDF format, by using the `Accept` header, e.g., `Accept: \"application/pdf\"`\n","responses":{"200":{"description":"Resource returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Inspection"}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"202":{"$ref":"#/components/responses/202"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Inspections"]}},"/inspections/{inspection_id}/share_url":{"get":{"parameters":[{"$ref":"#/components/parameters/InspectionId"}],"operationId":"getInspectionShareUrl","summary":"Share an inspection link","description":"Returns a fully qualified and temporarily authenticated url to access an inspection summary pdf and associated forms. Pre-signed URLs expire after 48 hours.\n","responses":{"200":{"description":"Resource returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareUrl"}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Inspections"]}},"/forms/{form_id}":{"get":{"parameters":[{"$ref":"#/components/parameters/FormId"}],"operationId":"getForm","summary":"View a digital form","description":"Returns a specific digital form in PDF format. The id can be found in inspection results as part of the fully qualified form endpoint url, if any forms are present.\n","responses":{"200":{"description":"Resource returned.","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"202":{"$ref":"#/components/responses/202"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Forms"]}},"/tasks":{"get":{"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"},{"$ref":"#/components/parameters/CreatedAfter"},{"$ref":"#/components/parameters/CreatedBefore"},{"$ref":"#/components/parameters/UpdatedAfter"},{"$ref":"#/components/parameters/UpdatedBefore"},{"$ref":"#/components/parameters/CompletedAfter"},{"$ref":"#/components/parameters/CompletedBefore"},{"$ref":"#/components/parameters/DueAfter"},{"$ref":"#/components/parameters/DueBefore"},{"$ref":"#/components/parameters/TaskStatus"}],"operationId":"listTasks","summary":"List tasks","description":"Returns a list of allowed tasks.\n","responses":{"200":{"description":"Resource list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Task"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Tasks"]},"post":{"operationId":"createTask","summary":"Create a task","description":"Creates and assigns a task to a user in Record360. Assignees will be notified via push and email notifications as their settings allow. If you do not assign a user, you must specify a location id.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AssignTaskToUser"},{"$ref":"#/components/schemas/AssignTaskToLocation"},{"$ref":"#/components/schemas/AssignTaskToUserGroup"}]}}}},"responses":{"201":{"description":"Resource created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Tasks"]}},"/tasks/{task_id}":{"get":{"parameters":[{"$ref":"#/components/parameters/TaskId"}],"operationId":"getTask","summary":"View a task","description":"Returns a specified task in Record360.\n","responses":{"200":{"description":"Resource returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Tasks"]},"patch":{"parameters":[{"$ref":"#/components/parameters/TaskId"}],"operationId":"updateTask","summary":"Update a task","description":"Updates and/or assigns a task to a user in Record360. Assignees will be notified via push and email notifications as their settings allow. If you do not assign a user, you must specify a location id.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AssignTaskToUser"},{"$ref":"#/components/schemas/AssignTaskToLocation"},{"$ref":"#/components/schemas/AssignTaskToUserGroup"}]}}}},"responses":{"200":{"description":"Resource updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Tasks"]},"delete":{"parameters":[{"$ref":"#/components/parameters/TaskId"}],"operationId":"deleteTask","summary":"Delete a task","description":"Use this request to delete a task in Record360.","responses":{"204":{"description":"Resource deleted."},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Tasks"]}},"/workflows":{"get":{"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"},{"$ref":"#/components/parameters/LocationIdFilter"},{"$ref":"#/components/parameters/DepartmentNameFilter"}],"operationId":"listWorkflows","summary":"List workflows","description":"Returns a list of allowed workflows.\n","responses":{"200":{"description":"Resource list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Workflow"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Workflows"]}},"/locations":{"get":{"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"}],"operationId":"listLocations","summary":"List locations","description":"Returns a list of allowed locations.\n","responses":{"200":{"description":"Resource list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Location"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Locations"]}},"/users":{"get":{"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"}],"operationId":"listUsers","summary":"List users","description":"Returns a list of allowed users.\n","responses":{"200":{"description":"Resource list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Users"]}},"/users/{user_id}":{"patch":{"parameters":[{"$ref":"#/components/parameters/UserId"}],"operationId":"updateUser","summary":"Update a user","description":"Updates a user. The only fields supported for update are the user's name and external identifier.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"external_id":{"type":"string","maxLength":255},"first_name":{"type":"string","maxLength":255},"last_name":{"type":"string","maxLength":255}},"example":{"external_id":"partner_58","first_name":"John","last_name":"Doe"}}}}},"responses":{"200":{"description":"Resource updated.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"409":{"$ref":"#/components/responses/409"},"422":{"$ref":"#/components/responses/422"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["Users"]}},"/user_groups":{"get":{"parameters":[{"$ref":"#/components/parameters/Page"},{"$ref":"#/components/parameters/PerPage"}],"operationId":"listUserGroups","summary":"List user groups","description":"Returns a list of allowed groups.\n","responses":{"200":{"description":"Resource list returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserGroup"}},"paging":{"$ref":"#/components/schemas/Paging"}}}}}},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}},"tags":["User Groups"]}}},"components":{"parameters":{"Page":{"name":"page","description":"Requests a specific page of resources. Pages are specified with an base64 encoded cursor passed back in the paging object.","in":"query","required":false,"schema":{"type":"string"}},"PerPage":{"name":"per_page","description":"Specify the number of resources returned per page up to maximum of 100.","in":"query","required":false,"schema":{"type":"integer","format":"int32","maximum":100}},"ReferenceNumber":{"name":"reference_number","description":"The user-friendly unit identifier.","in":"path","required":true,"schema":{"type":"string","format":"id","maxLength":255}},"UnitId":{"name":"unit_id","description":"The unique database identifier.","in":"path","required":true,"schema":{"type":"string","format":"id","maxLength":255}},"InspectionId":{"name":"inspection_id","description":"The unique database identifier.","in":"path","required":true,"schema":{"type":"string","format":"id","maxLength":255}},"FormId":{"name":"form_id","description":"The unique database identifier.","in":"path","required":true,"schema":{"type":"string","format":"id","maxLength":255}},"TaskId":{"name":"task_id","description":"The unique database identifier.","in":"path","required":true,"schema":{"type":"string","format":"id","maxLength":255}},"UserId":{"name":"user_id","description":"The unique database identifier.","in":"path","required":true,"schema":{"type":"string","format":"id","maxLength":255}},"LocationIdFilter":{"name":"location_id","description":"The unique database identifier.","in":"query","required":false,"schema":{"type":"string","format":"id","maxLength":255}},"DepartmentNameFilter":{"name":"department_name","description":"The user-facing label of the department.","in":"query","required":false,"schema":{"type":"string","maxLength":255}},"CreatedBefore":{"name":"created_before","description":"To filter results by records created before a specified date in ISO 8601 format.","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},"CreatedAfter":{"name":"created_after","description":"To filter results by records created after a specified date in ISO 8601 format.","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},"UpdatedBefore":{"name":"updated_before","description":"To filter results by records created before a specified date in ISO 8601 format.","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},"UpdatedAfter":{"name":"updated_after","description":"To filter results by records created after the specified date in ISO 8601 format.","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},"DueBefore":{"name":"due_before","description":"To filter results by records created before a specified date in ISO 8601 format.","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},"DueAfter":{"name":"due_after","description":"To filter results by records created after the specified date in ISO 8601 format.","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},"CompletedBefore":{"name":"completed_before","description":"To filter results by records created after the specified date in ISO 8601 format.","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},"CompletedAfter":{"name":"completed_after","description":"To filter results by records created after the specified date in ISO 8601 format.","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},"TaskStatus":{"name":"status","description":"To filter results by records by a certain status.","in":"query","required":false,"schema":{"type":"string","format":"enum","enum":["incomplete","complete"]}},"InspectionType":{"name":"type","description":"To filter results by a certain type.","in":"query","required":false,"schema":{"type":"string","format":"enum","enum":["open","update","close"]}}},"schemas":{"Unit":{"type":"object","properties":{"id":{"description":"The unique database identifier for a unit.","type":"string","format":"id"},"object":{"type":"string","format":"enum","enum":["unit"]},"reference_number":{"description":"The external reference number for a unit. This may be the serial number a unique identifier from another system, or other form of id that is unique and recognizable to users.","type":"string"},"make":{"description":"The unit's manufacturer.","type":"string"},"model":{"description":"The manufacturer's name or designation for the unit.","type":"string"},"year":{"description":"The model year for the unit.","type":"integer","format":"date-fullyear","minimum":1800,"maximum":9999},"vin":{"description":"The Vehicle Identification Number (VIN) created by the manufacturer and assigned by the regulatory agency, following ISO 3779 (content and structure) and ISO 4030 (location and attachment) standards — 17 digit alphanumeric string, prohibiting the letters `I`, `O`, and `Q`.","type":"string","format":"vin","minLength":17,"maxLength":17},"serial_number":{"description":"The serial number identifier created by the manufacturer.","type":"string"},"hours":{"description":"The value of the hours meter on the vehicle.","type":"integer","format":"int32","minimum":0},"odometer":{"description":"The odometer value of the vehicle, in statute miles.","type":"integer","format":"int64","minimum":0},"created_at":{"description":"The date and time at which the record was created, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"},"updated_at":{"description":"The date and time at which the record was updated, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"},"extended_data":{"description":"A JSON object containing other specifications for the unit, which may contain any number of custom fields.","type":"object"}},"example":{"id":"43","object":"unit","reference_number":"WMWRF33519TW73378","make":"MINI","model":"COOPER S","year":2006,"hours":4279,"serial_number":"9TW73378","vin":"WMWRF33519TW73378","odometer":4279,"created_at":"2014-04-01T19:00:00.000Z","updated_at":"2024-10-08T09:41:00.000Z","extended_data":{"stock_number":"AB12354"}}},"Inspection":{"type":"object","properties":{"id":{"type":"string","format":"id"},"type":{"description":"The inspection type defines how the inspection behaves, and where it lands in an overall business process.\nSupported types: `open`, `update`, `close`\n","type":"string","format":"enum","enum":["open","update","close"]},"location":{"description":"The Record360 Location at which the inspection was performed.","type":"object","properties":{"id":{"type":"string","format":"id"},"external_id":{"type":"string","format":"id"},"name":{"type":"string"}}},"damage_present":{"description":"A high-level declaration of whether or not damage is present on the unit.","type":"boolean"},"unit":{"description":"The unit that was inspected.","type":"object","properties":{"id":{"type":"string","format":"id"},"reference_number":{"type":"string"}}},"user":{"description":"The unit that was inspected.","type":"object","properties":{"id":{"type":"string","format":"id"},"username":{"type":"string"}}},"region":{"description":"The region that the location belongs to.","type":"object","properties":{"id":{"type":"string","format":"id"},"name":{"type":"string"}}},"department":{"description":"The department to which the user belongs.","type":"object","properties":{"id":{"type":"string","format":"id"},"name":{"type":"string"}}},"workflow":{"description":"The inspection workflow used.","type":"object","properties":{"id":{"type":"string","format":"id"},"name":{"type":"string"}}},"dashboard_url":{"description":"A fully qualified URL to the resource on the Record360 dashboard.","type":"string","format":"url"},"pdf_share_url":{"description":"A pre-signed, fully qualified URL to a PDF format inspection summary. The pre-signed token expires after 48 hours.","type":"string","format":"url"},"results":{"description":"Results entered during an inspection, which may come in the form of checklists, pdf forms, or other selections.","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/checklist"},{"$ref":"#/components/schemas/data_template"},{"$ref":"#/components/schemas/pdf_form"},{"$ref":"#/components/schemas/collision_damage_waiver"}]}},"photos":{"description":"The photos taken during the inspection. These are served as URLs along with any associated data collected during the inspection, like damage tags.","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Photo"}]}},"videos":{"description":"The videos taken during the inspection. These are served as URLs along with any associated data collected during the inspection, like damage tags.","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Video"}]}},"signatures":{"description":"Any electronic signatures collected during an inspection.","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Signature"}]}},"created_at":{"description":"The date and time at which the inspection was uploaded, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"},"updated_at":{"description":"The date and time at which this inspection record was last updated, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"}},"example":{"id":"430","type":"open","unit":{"id":"43","reference_number":"WMWRF33519TW73378"},"damage_present":false,"dashboard_url":"https://dashboard.record360.com/dashboard/inspections/430","pdf_share_url":"https://app.record360.com/exports/30Ew8II5bNYaDwXt?code=123","user":{"id":"120","username":"jdoe@record360.com"},"location":{"id":"220","external_id":null,"name":"Denver Branch"},"region":{"id":"1","name":"Mountain West"},"department":{"id":"1","name":"Rental"},"workflow":{"id":"abz143","name":"Truck Rental Inspection"},"results":[{"name":"Basic Checklist","object":"checklist","data":[{"id":"odom1","type":"textbox","label":"Mileage","value":120000},{"id":"fuel1","type":"single_dropdown_list","label":"Fuel level","value":"7/8"},{"type":"textbox","label":"Customer Name","value":"John Doe"},{"type":"date_selector","label":"Inspection Date","value":"2025-01-31"},{"type":"checkbox","label":"Attachments","items":[{"id":"rake1","label":"Rake Riddle","value":"true"},{"id":"bucket1","label":"Quick Attach Bucket","value":"false"}]},{"id":"mpi1","type":"pass_fail","label":"Service Walkthrough","items":[{"id":"HLF1","label":"Headlights","value":"Pass"},{"id":"BLR2","label":"Brake Lights","value":"Fail"}]}]},{"name":"Rental Contract","object":"pdf_form","link":"https://app.record360.com/v3/forms/1WwmZX857Zb6ASpv","data":{"one":"two"}},{"name":"Collision Damage Waiver","object":"collision_damage_waiver","accepted":false}],"photos":[{"$ref":"#/components/schemas/Photo/example"}],"videos":[{"$ref":"#/components/schemas/Video/example"}],"signatures":[{"$ref":"#/components/schemas/InspectionSignature/example"},{"$ref":"#/components/schemas/EsignSignature/example"}],"created_at":"2014-04-01T19:00:00.000Z","updated_at":"2014-04-01T19:00:00.000Z"}},"Photo":{"description":"Image media typically taken during an inspection.","type":"object","properties":{"object":{"type":"string","format":"enum","enum":["photo"]},"url":{"description":"A fully qualified URL to access the image.","type":"string","format":"url"},"instruction":{"description":"The Instruction associated with the photo..","type":["object","null"],"properties":{"id":{"description":"A persistent id for the photo instruction given.","type":"string","format":"id"},"label":{"type":"string","description":"Label displayed to the user."}}},"field":{"description":"The field associated with the photo. Only present if the image was taken inline.","type":["object","null"],"properties":{"id":{"type":["string","null"],"description":"Optional persistent id set in the workflow configuration."},"label":{"type":"string","description":"Label displayed to the user."},"result_object_name":{"type":"string","description":"Name of the results object that contains this field, i.e., the name of the checklist or data template."}}},"tags":{"type":"array","items":[{"type":"object","properties":{"label":{"type":"string"}}}]}},"example":{"object":"photo","url":"https://media.record360.com/inspections/430/images/1c4bdd32-aa80-4355-a6aa-c56ed4c4102d","instruction":{"id":"abc123","label":"Take a photo of the left side"},"field":null,"tags":[{"label":"Windshield Crack"},{"label":"Other - Custom note"}]}},"Video":{"description":"Image media typically taken during an inspection.","type":"object","properties":{"object":{"type":"string","format":"enum","enum":["video"]},"url":{"description":"A fully qualified URL to access the image.","type":"string","format":"url"}},"example":{"object":"video","url":"https://media.record360.com/inspections/430/videos/5f8a21e9-8600-4b73-9d27-e296c83e939a"}},"Signature":{"description":"Signature performed during an inspection or via E-Sign request.","type":"object","properties":{"object":{"type":"string","format":"enum","enum":["signature"]},"url":{"description":"A fully qualified URL to access the image.","type":"string","format":"url"}},"discriminator":{"propertyName":"type"}},"InspectionSignature":{"description":"Signature performed during an inspection.","allOf":[{"$ref":"#/components/schemas/Signature"},{"type":"object","properties":{"type":{"type":"string","format":"enum","enum":["inspection"]},"label":{"type":"string","description":"Optional label to denote who is signing, defaults to \"Signed By.\""},"printed_name":{"type":"string","description":"The printed name of the individual signing."},"url":{"description":"A fully qualified URL to access the signature image or pdf.","type":"string","format":"url"}}}],"example":{"object":"signature","type":"inspection","label":"Signed By","printed_name":"John Doe","url":"https://media.record360.com/inspections/430/signatures/61b5af9d-b399-4113-8bb0-728f30f12424"}},"EsignSignature":{"description":"Signature performed during an inspection or via E-Sign request.","allOf":[{"$ref":"#/components/schemas/Signature"},{"type":"object","properties":{"object":{"type":"string","format":"enum","enum":["signature"]},"type":{"type":"string","format":"enum","enum":["esign"]},"signed_at":{"type":"string","format":"date-time","description":"An ISO 8601 date-time (UTC or UTC offset) of when the signature request was completed."},"url":{"description":"A fully qualified URL to access the signature image or pdf.","type":"string","format":"url"}}}],"example":{"object":"signature","type":"esign","signed_at":"2026-01-30T06:55:31.441Z","url":"https://media.record360.com/inspections/430/signatures/61b5af9d-b399-4113-8bb0-728f30f12424"}},"InspectionResult":{"type":"object","properties":{"name":{"type":"string"},"object":{"type":"string","format":"enum","enum":["checklist","collision_damage_waiver","pdf_form","data_template"]}},"discriminator":{"propertyName":"object"}},"pdf_form":{"description":"A digitized pdf-style form presented in the Record360 mobile app. Sometimes filled out manually; sometimes mapped from a checklist.","allOf":[{"$ref":"#/components/schemas/InspectionResult"},{"type":"object","properties":{"link":{"description":"An fully qualified URL for the pdf form, via the Forms endpoint':' `https://api.record360.com/v3/forms/:id`","type":"string","format":"url"},"data":{"description":"Filled fields from the pdf in JSON format. Data is either represented as key-value pairs, formatted as `label:value`, e.g., `id:1234`.","type":"object","properties":{"CustomFields":{"type":["string","integer","boolean","null"],"description":"Any number of custom fields reprsented as key-value pairs or objects. Keys will be custom to the company's form implementation."}}}}}]},"collision_damage_waiver":{"description":"A true/false selection at the end of an inspection that informs whether or not a customer has accepted a collision damage waiver (CDW) - typically only applies if the CDW is not presented as a complete form or signature item.","allOf":[{"$ref":"#/components/schemas/InspectionResult"},{"type":"object","properties":{"accepted":{"type":"boolean","description":"Whether or not the collision damage waiver has been accepted."}}}],"example":{"name":"Collision Damage Waiver","object":"collision_damage_waiver","accepted":false}},"checklist":{"description":"An interactive checklist-style form presented in the Record360 mobile app. This is the standard way of entering data.","allOf":[{"$ref":"#/components/schemas/InspectionResult"},{"type":"object","properties":{"data":{"description":"The data associated with the object in JSON format. Data is represented as objects containing multiple details for that specific field, like id, label, value, type.\n","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Field"}]}}}}]},"data_template":{"description":"An interactive checklist-style template tied to an installed integration package. This is the standard way of entering data for integration partners, who require a reliabel schema","allOf":[{"$ref":"#/components/schemas/InspectionResult"},{"type":"object","properties":{"version":{"type":"integer","description":"Data templates are versioned up for every change."},"errors":{"type":"array","description":"A list of any problems that occured in the template completion between data etry in the mobile app and sync with the server.","items":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message."},"field_id":{"type":["null","string"],"format":"id","description":"ID of the field that failed — null if template-level error"},"severity":{"type":"string","format":"enum","enum":["warning","error"],"description":"Communicates severity of the problem encountered. Warnings may not need immediate attention."}}}},"slug":{"type":"string","description":"A computer friendly identifier for a data template."},"data":{"description":"The data associated with the object in JSON format. Data is either represented as key-value pairs, formatted as `id:value`, e.g., `id:1234`, or objects containing multiple details for that specific field, like id, label, value, type.\n","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/Field"}]}}}}]},"Field":{"type":"object","description":"Fields represent the individual controls users interact with in a checklist, differentiated by field `type`.","properties":{"id":{"type":["null","string"],"format":"id","description":"A persistent identifier for the checklist field. Not every field is assigned a persistent id, but they can be requested during workflow configuration or by contacting support. Partner integrations often use standardized persistent ids."},"object":{"type":"string","format":"enum","enum":["field"]},"label":{"type":"string","description":"The field label displayed to the user."},"type":{"type":"string","format":"enum","enum":["textbox","barcode_scan_textbox","date_selector","radio","single_dropdown_list","single_dropdown_with_id","multi_dropdown_list","checkbox","pass_fail","decisiv_case"],"description":"The corresponding type of input presented to the user in the checklist; this may be used to determine the expected schema of each field. New types may be added at any time."}},"discriminator":{"propertyName":"type","mapping":{"textbox":"#/components/schemas/SingleInputField","barcode_scan_textbox":"#/components/schemas/SingleInputField","date":"#/components/schemas/SingleInputField","radio":"#/components/schemas/SingleInputField","single_dropdown_list":"#/components/schemas/SingleInputField","single_dropdown_with_id":"#/components/schemas/SingleInputFieldWithId","multi_dropdown_list":"#/components/schemas/MultiInputField","checkbox":"#/components/schemas/MultiInputField","pass_fail":"#/components/schemas/MultiInputField","decisiv_case":"#/components/schemas/DecisivCase"}}},"SingleInputField":{"description":"Fields represent the individual controls users interact with in a checklist, differentiated by field `type`. Single-input fields allow one choice by the user, which are returned as a single value.","allOf":[{"$ref":"#/components/schemas/Field"},{"type":"object","properties":{"value":{"type":["string","integer"],"description":"The field value or result entered by the user. Date fields will return date or date-time in ISO format."}}}]},"SingleInputFieldWithId":{"description":"Fields represent the individual controls users interact with in a checklist, differentiated by field `type`. Single-input fields allow one choice by the user, which are returned as a single value.","allOf":[{"$ref":"#/components/schemas/Field"},{"type":"object","properties":{"item":{"type":"object","properties":{"id":{"type":"string","description":"The persistent identifier for the field item value selected by the user."},"value":{"type":["string","integer"],"description":"The field's item actual value or result selected by the user."}}}}}]},"MultiInputField":{"description":"Fields represent the individual controls users interact with in a checklist, differentiated by field `type`. Multi-input fields allow more than one choice by the user, which are returned as distinct items.","allOf":[{"$ref":"#/components/schemas/Field"},{"type":"object","properties":{"items":{"type":"array","description":"Items are the individual line items contained within a field control that the user interacts with.","items":{"type":"object","properties":{"id":{"type":["null","string"],"format":"id","description":"A unique identifier for an item (optional, nullable)."},"label":{"type":"string","description":"The user-facing title for the item."},"value":{"type":["string","integer","boolean"],"description":"The value selected by the user."}}}}}}]},"DecisivCase":{"description":"The built-in form control to lookup, create (if needed), and select a Case in Decisiv.","allOf":[{"$ref":"#/components/schemas/Field"},{"type":"object","properties":{"value":{"type":"object","properties":{"case_id":{"description":"The unique identifier for a case in Decisiv.","type":"string","format":"uuid","minLength":32,"maxLength":32},"case_reference_number":{"description":"The human-friendly reference for a case in Decisiv.","type":"string"},"service_provider_id":{"description":"The unique identifier for a service provider in Decisiv.","type":"string","format":"uuid","minLength":32,"maxLength":32}}}}}]},"ShareUrl":{"type":"object","properties":{"link":{"description":"A fully qualified, pre-signed url that can be used to access data without additional authentication or share with third-parties, like end-consumers.","type":"string","format":"url"},"expires_at":{"description":"The date-time, in ISO format, that denotes when access to the link will expire.","type":"string","format":"date-time"}},"example":{"link":"https://app.record360.com/exports/30Ew8II5bNYaDwXt","expires_at":"2024-11-13T12:01:22.000Z"}},"Task":{"description":"An assignable piece of work in Record360, which may or may not require an inspection or be associated with a unit.","type":"object","properties":{"id":{"type":"string","format":"id"},"object":{"type":"string","description":"The object conveys which resource is being returned, e.g., `task` or `inspection`.","format":"enum","enum":["task"]},"type":{"type":"string","format":"enum","enum":["task","manual","inspection"],"description":"The type determines how the task behaves in the application and what action the user should take.\n* `task`: A standard, manually completed task that is not associated with or require an inspection — may or may not be associated with a unit.\n* `manual`: Same as `task`.\n* `inspection`: A task that is completed by and requires performing an inspection on an associated unit.\n"},"status":{"description":"The current state of the task.","type":"string","format":"enum","enum":["idle","started","completed","incomplete","complete"]},"name":{"description":"The title or summary of the task — short-form text.","type":"string","maxLength":255},"description":{"description":"More details to help the user determine how to complete the task — long-form text.","type":"string","maxLength":500},"priority":{"type":"boolean"},"due_by":{"description":"The date and time by which the task should be completed, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"},"inspection":{"type":"object","description":"The inspection that is associated with an inspection task completion. For uncompleted tasks, this represents the draft inspection associated with the task.","properties":{"id":{"type":"string","format":"id","maxLength":255}}},"assignee":{"description":"The user assigned to the task.","type":"object","properties":{"id":{"type":"string","format":"id"},"username":{"type":"string","description":"The login username or email of the user. This is typically the user's company email. Some users or companies, however, have non-email usernames."}}},"unit":{"description":"The unit associated with the task,","type":"object","properties":{"id":{"type":"string","format":"id"},"reference_number":{"type":"string"}}},"workflow":{"description":"The inspection workflow chosen for the task.","type":"object","properties":{"id":{"type":"string","format":"id"},"name":{"type":"string"}}},"department":{"description":"The department specified for the task.","type":"object","properties":{"id":{"type":"string","format":"id"},"name":{"type":"string"}}},"extended_data":{"description":"A set of custom fields on a task that will automatically map into a workflow checklist.","type":"object"},"completed_at":{"description":"The date and time at which the task was last marked as complete or done, in ISO 8601 format. All times are UTC.","type":["null","string"],"format":"date-time"},"created_at":{"description":"The date and time at which the record was created, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"},"updated_at":{"description":"The date and time at which the record was updated, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"}},"example":{"id":"21","type":"inspection","status":"incomplete","name":"Complete Rent Ready Inspection - B4WU11009","description":"The unit is in the northwest corner of the yard.","priority":true,"due_by":"2025-01-31T12:00:00.000Z","assignee":{"id":"101","username":"jdoe@customer.com"},"unit":{"id":"44","reference_number":"B4WU11009"},"workflow":{"id":"abc1234dz","name":"Rental Ready"},"department":{"id":"wedg86fp","name":"Rental"},"extended_data":{"custom-field-one":"ABC123"},"completed_at":null,"created_at":"2025-01-24T04:11:37.849Z","updated_at":"2025-01-24T19:03:02.209Z"}},"AssignTaskToUser":{"description":"Use this request body if you know the user to which the task will be assigned.","type":"object","properties":{"name":{"description":"The title or summary of the task — short-form text.","type":"string","maxLength":255},"description":{"description":"More details to help the user determine how to complete the task — long-form text.","type":"string","maxLength":500},"assignee_username":{"description":"The username of the user to be assigned to the task.","type":"string","maxLength":255},"due_by":{"description":"The date or date and time by which the task should be completed. Either an ISO 8601 date value or date-time value in UTC.","type":"string","format":"date-time"},"reference_number":{"description":"The reference number for the unit that should be associated with the task.","type":"string","maxLength":255},"requires_inspection":{"description":"Denote whether  completing this task requires performing an inspection, i.e., an \"inspection\" type task.","type":"boolean"},"workflow_id":{"description":"The string id of the workflow that should load automatically for this task.","type":"string","maxLength":255},"department_id":{"description":"The string id of the department to which this task should be assigned. Departments are an optional feature. You only need to add a department if the Record360 instance is configured to use departments.","type":"string","maxLength":255},"extended_data":{"description":"A set of custom fields on a task that will automatically map into a workflow checklist.","type":"object"}},"required":["name","reference_number","due_by","assignee_username"],"example":{"name":"Complete Inspection - B4WU11009","description":"The unit is in the northwest corner of the yard.","assignee_username":"jdoe@customer.com","due_by":"2025-01-31T12:00:00Z","reference_number":"B4WU11009","requires_inspection":true,"extended_data":{"custom-field-one":"ABC123","contract_num":"F4466"}}},"AssignTaskToLocation":{"description":"Use this request body if you do *not* know the user to which the task will be assigned.","type":"object","properties":{"name":{"description":"The title or summary of the task — short-form text.","type":"string","maxLength":255},"description":{"description":"More details to help the user determine how to complete the task — long-form text.","type":"string","maxLength":500},"location_id":{"type":"integer","maxLength":255},"due_by":{"description":"The date or date and time by which the task should be completed. Either an ISO 8601 date value or date-time value in UTC.","type":"string","format":"date-time"},"reference_number":{"description":"The reference number for the unit that should be associated with the task.","type":"string","maxLength":255},"requires_inspection":{"description":"Denote whether  completing this task requires performing an inspection, i.e., an \"inspection\" type task.","type":"boolean"},"workflow_id":{"description":"The string id of the workflow that should load automatically for this task.","type":"string","maxLength":255},"department_id":{"description":"The string id of the department to which this task should be assigned. Departments are an optional feature. You only need to add a department if the Record360 instance is configured to use departments.","type":"string","maxLength":255},"extended_data":{"description":"A set of custom fields on a task that will automatically map into a workflow checklist.","type":"object"}},"required":["name","reference_number","due_by","location_id"],"example":{"name":"Complete Inspection - B4WU11009","description":"The unit is in the northwest corner of the yard.","location_id":56,"due_by":"2025-01-31T12:00:00Z","reference_number":"B4WU11009","requires_inspection":true,"extended_data":{"custom-field-one":"ABC123","contract_num":"F4466"}}},"AssignTaskToUserGroup":{"description":"Use this request body if you want to assign the task to a group instead of an individual. Assigning Tasks to Groups provides a more elegant product experience than locations.","type":"object","properties":{"name":{"description":"The title or summary of the task — short-form text.","type":"string","maxLength":255},"description":{"description":"More details to help the user determine how to complete the task — long-form text.","type":"string","maxLength":500},"user_group_id":{"type":"integer","maxLength":255},"due_by":{"description":"The date or date and time by which the task should be completed. Either an ISO 8601 date value or date-time value in UTC.","type":"string","format":"date-time"},"reference_number":{"description":"The reference number for the unit that should be associated with the task.","type":"string","maxLength":255},"requires_inspection":{"description":"Denote whether  completing this task requires performing an inspection, i.e., an \"inspection\" type task.","type":"boolean"},"workflow_id":{"description":"The string id of the workflow that should load automatically for this task.","type":"string","maxLength":255},"department_id":{"description":"The string id of the department to which this task should be assigned. Departments are an optional feature. You only need to add a department if the Record360 instance is configured to use departments.","type":"string","maxLength":255},"extended_data":{"description":"A set of custom fields on a task that will automatically map into a workflow checklist.","type":"object"}},"required":["name","reference_number","due_by","user_group_id"],"example":{"name":"Complete Inspection - B4WU11009","description":"The unit is in the northwest corner of the yard.","user_group_id":56,"due_by":"2025-01-31T12:00:00Z","reference_number":"B4WU11009","requires_inspection":true,"extended_data":{"custom-field-one":"ABC123","contract_num":"F4466"}}},"Location":{"description":"An assignable piece of work in Record360, which may or may not require an inspection or be associated with a unit.","type":"object","properties":{"id":{"type":"string","format":"id","maxLength":255},"external_id":{"type":"string","format":"id","maxLength":255,"description":"An external (partner- or customer-bourne) identifier for the resource."},"object":{"type":"string","format":"enum","enum":["location"]},"name":{"description":"The user-friendly title or reference for a location.","type":"string","maxLength":255},"address":{"description":"The user assigned to the task.","type":"object","properties":{"line1":{"type":"string"},"line2":{"type":["null","string"]},"city":{"type":"string"},"state":{"type":"string","description":"The ISO 3166-2 sub-division code for the state or province."},"postal_code":{"type":"string"},"country":{"type":"string","description":"The ISO 3166-1 alpha-2 code for the respective country."}}},"created_at":{"description":"The date and time at which the record was created, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"},"updated_at":{"description":"The date and time at which the record was updated, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"}},"example":{"id":"301","external_id":"85","object":"location","name":"Record360 Office","address":{"line1":"14401 Statler Blvd","line2":null,"city":"Fort Worth","state":"TX","country":"US"}}},"Workflow":{"description":"Metadata for paging through list responses.","type":"object","properties":{"id":{"type":"string","format":"id","maxLength":255},"name":{"type":"string","maxLength":255},"locations":{"description":"A list of applicable locations for the workflow.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"id","maxLength":255},"name":{"type":"string","maxLength":255}}}},"departments":{"description":"A list of applicable departments for the workflow.","type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"id","maxLength":255},"name":{"type":"string","maxLength":255}}}}},"example":{"id":"ab345c9","name":"Rental Check-out","locations":[{"id":"300","name":"Tacoma Store"},{"id":"301","name":"Seattle Store"}],"departments":[{"id":"890","name":"Rental"}]}},"User":{"description":"A","properties":{"id":{"type":["string","integer"],"format":"id"},"external_id":{"type":"string","format":"id","description":"An external system id set by the customer or partner for this user."},"object":{"type":"string","description":"The object conveys which resource is being returned, e.g., `task` or `inspection`.","format":"enum","enum":["user"]},"type":{"type":"string","format":"enum","enum":["standard","non-email"]},"first_name":{"description":"The user's first name.","type":"string","maxLength":255},"last_name":{"description":"The user's last name.","type":"string","maxLength":255},"username":{"type":"string","description":"The login username or email of the user. This is typically the user's company email. Some users or companies, however, have non-email usernames."},"location":{"description":"The location the user belongs to.","type":"object","properties":{"id":{"type":"string","format":"id"},"external_id":{"type":["string","null"],"format":"id"},"name":{"type":"string"}}},"created_at":{"description":"The date and time at which the record was created, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"},"updated_at":{"description":"The date and time at which the record was updated, in ISO 8601 format. All times are UTC.","type":"string","format":"date-time"}},"example":{"id":"8695","object":"user","external_id":"partner58","type":"standard","first_name":"John","last_name":"Doe","username":"jdoe@customer.com","location":{"id":"abc1234dz","external_id":null,"name":"Rental Ready"},"created_at":"2025-01-24T04:11:37.849Z","updated_at":"2025-01-24T19:03:02.209Z"}},"UserGroup":{"description":"A grouping of users in a company.","properties":{"id":{"type":"string","format":"id"},"object":{"type":"string","description":"The object conveys which resource is being returned, e.g., `task` or `inspection`.","format":"enum","enum":["user_group"]},"name":{"description":"The group's name.","type":"string","maxLength":255},"description":{"description":"The group's detailed description.","type":"string","maxLength":500},"member_count":{"type":"integer","minimum":0,"description":"The number of users in the group"},"locations":{"description":"The location associated to members of this group","type":"array","items":{"type":"object","properties":{"id":{"type":["string","integer"],"format":"id","description":"The persistent, unique identifier for the location."},"external_id":{"type":"string","format":"id","description":"The configured, unique external identifier for the location."},"name":{"type":"string","description":"The human-friendly name of the location."}}}},"created_at":{"description":"date-time in ISO 8601 UTC of resource creation.","type":"string","format":"date-time"},"updated_at":{"description":"date-time in ISO 8601 UTC of resource's last update.","type":"string","format":"date-time"}},"example":{"id":"21","object":"user_group","name":"Service Techs","description":"all service techs in the southwest","member_count":12,"locations":[{"id":"53","name":"Denver Shop"}],"created_at":"2025-01-24T04:11:37.849Z","updated_at":"2025-01-24T19:03:02.209Z"}},"Paging":{"description":"Metadata for paging through list responses.","type":"object","properties":{"per_page":{"description":"The maximum number of resources returned per page. Defaults to `25`.","type":"integer","default":25,"maximum":100},"next":{"description":"A fully qualified URL, with a base64 encoded cursor, to the next page.","type":["null","string"]}},"examples":[{"per_page":25,"next":"https://api.record360.com/v3/units?page=eyJpZCI6MTMxNDEzMDN9&per_page=25"},{"per_page":25,"next":"http://api.record360.com/v3/inspections?page=eyJpZCI6MTMxNDEzMDN9&per_page=25"}]}},"responses":{"202":{"description":"Accepted","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}},"example":{"status":"processing","message":"PDF is being compiled. Please retry this request after waiting 5 - 10 seconds."}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"description":"An array of items that failed validation with descriptive messages.","type":"string"}},"example":{"errors":"Missing required parameters(s): name, due_by"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"description":"A descriptive error message.","type":"string"}},"example":{"errors":"Invalid credentials provided. Please contact R360 Support."}}}}},"403":{"description":"Access denied due to insufficient permissions","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"description":"A descriptive error message.","type":"string"}},"example":{"errors":"Insufficient permissions. Please contact R360 Support."}}}}},"404":{"description":"Resource does not exist","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"description":"A descriptive error message.","type":"string"}},"example":{"errors":"Not found."}}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"description":"A descriptive error message.","type":"string"}},"example":{"errors":"Unit with reference number AR33 already exists."}}}}},"422":{"description":"Semantic validation failed","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"description":"An array of items that failed validation with descriptive messages.","type":"array"}},"example":{"errors":[{"hours":"is not a number"}]}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"description":"A descriptive error message.","type":"string"}}}}}},"500":{"description":"Unexpected error","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"description":"A descriptive error message.","type":"string"}}}}}}},"securitySchemes":{"apiKeySecret":{"type":"apiKey","name":"api-key-secret","x-displayName":"Secret Key","in":"header","description":"A secret API key sent via the `api-key-secret` header. Your secret key is not stored after creation, and it should be treated as a password."},"apiKeyId":{"type":"apiKey","name":"api-key-id","x-displayName":"Key ID","in":"header","description":"A UUID sent via the `api-key-id` header. The API Key ID can be used to identify your API key."}}},"security":[{"apiKeySecret":[],"apiKeyId":[]}]}