openapi: 3.2.0 info: description: The Assets and Assessments APIs enable apps to manage assets and their related condition assessments. title: Assets and Assessments Assessments/Observations API version: v4 servers: - url: https://apis.accela.com/ tags: - name: Assessments/Observations description: During an assessment, an inspector may make observations about the condition of the asset. paths: /v4/assessments/{id}/observations: get: description: 'Returns observation data associated to a given condition assessment. **API Endpoint**: GET /v4/assessments/{id}/observations **Scope**: assessments **App Type**: Agency **Authorization Type**: Access token **Civic Platform version**: 9.0.0' summary: Get Condition Assessment Observations operationId: v4.get.assessments.id.observations tags: - Assessments/Observations parameters: - $ref: '#/components/parameters/authHeaderParam' - $ref: '#/components/parameters/idAssessmentPathParam' - $ref: '#/components/parameters/lang' responses: '200': description: 'Successful request. Note: A successful request may return no data matching the filter criteria. A successful request may also return messages related to Event Manager Scripting Engine back-end processing.' content: application/json: schema: $ref: '#/components/schemas/response_customAttributeModelArray' '400': description: Invalid request. '401': description: Authorization failed. '403': description: Forbidden request. '404': description: Requested resource not found. '500': description: Internal server error or bad connection. put: description: 'Creates, updates, and deletes observations for a given condition assessment. Use the {action} field in the request array item to specify whether the observation is to be created, updated, or deleted. To create or update an observation, specify the observation custom fields in the fields{} request array item. To determine the observation custom fields for the given assessment: 1.For the requested assessment {id}, get the assessment type.value from Get Condition Assessment. 2. For the assessment type.value, get the custom field metadata identified by {attributeName} from Get Observations Metadata for Condition Assessment Type. **API Endpoint**: PUT /v4/assessments/{id}/observations **Scope**: assessments **App Type**: Agency **Authorization Type**: Access token **Civic Platform version**: 9.0.0' summary: Update Assessment Observations operationId: v4.put.assessments.id.observations tags: - Assessments/Observations parameters: - $ref: '#/components/parameters/authHeaderParam' - description: The ID of the observation to update in: path name: id required: true schema: type: string - $ref: '#/components/parameters/lang' responses: '200': description: 'Successful request. Note: A successful request may return no data matching the filter criteria. A successful request may also return messages related to Event Manager Scripting Engine back-end processing.' content: application/json: schema: $ref: '#/components/schemas/response_resultModelArray' '400': description: Invalid request. '401': description: Authorization failed. '403': description: Forbidden request. '404': description: Requested resource not found. '500': description: Internal server error or bad connection. requestBody: content: application/json: schema: items: $ref: '#/components/schemas/customAttributeModel' type: array description: Observation information to be updated. required: true /v4/assessments/{id}/observations/meta: get: description: 'Returns the custom observations metadata of the condition assessment type. The observations metadata is configured for the condition assessment type in Civic Platform Administration. **API Endpoint**: GET /v4/assessments/{id}/observations/meta **Scope**: assessments **App Type**: Agency **Authorization Type**: Access token **Civic Platform version**: 9.0.0' summary: Get Observations Metadata for Condition Assessment Type operationId: v4.get.assessments.id.observations.meta tags: - Assessments/Observations parameters: - $ref: '#/components/parameters/authHeaderParam' - $ref: '#/components/parameters/idAssessmentPathParam' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/lang' responses: '200': description: 'Successful request. Note: A successful request may return no data matching the filter criteria. A successful request may also return messages related to Event Manager Scripting Engine back-end processing.' content: application/json: schema: $ref: '#/components/schemas/response_attributeMetadataModelArray' '400': description: Invalid request. '401': description: Authorization failed. '403': description: Forbidden request. '404': description: Requested resource not found. '500': description: Internal server error or bad connection. components: schemas: response_resultModelArray: type: object properties: result: items: $ref: '#/components/schemas/resultModel' type: array status: type: integer description: The HTTP return status. attributeMetadataModel: type: object properties: attributeGroup: description: The group the attribute belongs to. type: string attributeLabel: description: The attribute's display label. type: string attributeLength: description: The number of characters the attribute field allows. type: string attributeName: description: The unique name of the attribute. This name is for administrative use only; it is not used for display purposes. type: string defaultValue: description: The attribute's default value. type: string description: description: The attribute's description. type: string displayOrder: description: The attribute's display position. format: int64 type: integer displayStatus: description: The attribute's display status. type: string isDropdownList: description: Indicates whether or not the attribute is a dropdown list. enum: - Y - N type: string options: description: Contains the dropdown list values. items: type: string type: array rangeSearchFlag: description: Indicates whether or not the attribute allows a search range. type: string recordStatus: description: Indicates whether or not the attribute is active. type: string searchableFlag: description: Indicates whether or not the attribute is searchable. type: string unitType: description: The unit of measure used with the attribute. type: string updatedBy: description: The user who last updated the attribute. type: string updatedDate: description: The date and time the attribute was last updated. format: date-time type: string valueDataType: description: The data type of the attribute value. type: string valueRequired: description: Indicates whether or not the attribute value is required. type: string resultModel: type: object properties: code: description: The error code, if an error is encountered. type: string id: description: The system id of the object in this operation. format: int64 type: integer isSuccess: description: Indicates whether or not the operation on the object is successful. type: boolean message: description: The error message, if an error is encountered type: string response_attributeMetadataModelArray: type: object properties: result: items: $ref: '#/components/schemas/attributeMetadataModel' type: array status: type: integer description: The HTTP return status. customAttributeModel: type: object properties: aCustomFieldName: description: The name of a custom field. type: string aCustomFieldValue: description: The value of a custom field. type: string response_customAttributeModelArray: type: object properties: result: items: $ref: '#/components/schemas/customAttributeModel' type: array status: type: integer description: The HTTP return status. parameters: idAssessmentPathParam: description: The ID of the condition assessment to fetch. in: path name: id required: true schema: type: string fields: description: Comma-delimited names of fields to be returned in the response. Note - Field names are case-sensitive and only first-level fields are supported. Invalid field names are ignored. in: query name: fields required: false schema: type: string authHeaderParam: description: Construct oAuth2 authentication token in: header name: Authorization required: true schema: type: string offset: description: The offset position of the first record in the results response array. For example, if offset is 100, the first item in the results array in the response is the 100th record in the search result list. in: query name: offset required: false schema: type: integer format: int64 lang: description: Language parameter to support I18N. Default language is en_US. in: query name: lang required: false schema: type: string limit: description: Search result size limit. in: query name: limit required: false schema: type: integer format: int64 x-api-evangelist-provenance: generated: '2026-09-06' method: searched source: https://developer.accela.com/api/v4/v4-assets-assessments.json note: Harvested verbatim from the Accela Developer Portal API Reference, which renders these Swagger 2.0 documents via ReDoc (spec-url on developer.accela.com/docs/api_reference/api-*.html). The byte-identical original is kept at openapi/_original/. This copy is the same document serialized to YAML.