openapi: 3.2.0 info: description: Use the Inspections API to manage inspection records during their complete lifecycle from application submittal to permit issuance or license issuance. Your agency may need to complete inspections on new property developments, homes, or complaints. title: Inspections/Documents API version: v4 servers: - url: https://apis.accela.com/ tags: - name: Inspections/Documents paths: /v4/inspections/{inspectionId}/documents: get: description: 'Gets the documents for the specified inspection. **API Endpoint**: GET /v4/inspections/{inspectionId}/documents **Scope**: inspections **App Type**: All **Authorization Type**: Access token **Civic Platform version**: 7.3.2' summary: Get All Documents for Inspection operationId: v4.get.inspections.inspectionId.documents tags: - Inspections/Documents parameters: - $ref: '#/components/parameters/authHeaderParam' - $ref: '#/components/parameters/inspectionId' - $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_documentModelArray' '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. post: description: 'Creates one or more document attachments for the specified inspection. To specify the documents to be attached, use the HTTP header "Content-Type:multipart/form-data" and form-data for "uploadedFile" and "fileInfo". Note that the "fileInfo" is a string containing an array of file attributes. Use "fileInfo" to specify one or more documents to be attached. For example: Content - Disposition: form - data;name = "uploadedFile"; filename="summaryReport.pdf" Content - Disposition: form - data;name = "fileInfo" [ { "serviceProviderCode": "BPTDEV", "fileName": "CXA12-pipe.png", "type": "image/png", "description": "Inspected pipe" } ] **API Endpoint**: POST /v4/inspections/{inspectionId}/documents **Scope** : inspections **App Type** : All **Authorization Type** : Access token **Civic Platform version** : 7.3.2' summary: Create Inspection Documents operationId: v4.post.inspections.inspectionId.documents tags: - Inspections/Documents parameters: - $ref: '#/components/parameters/authHeaderParam' - description: Inspection sequence number in: path name: inspectionId required: true schema: type: string - description: The document group. in: query name: group required: false schema: type: string - description: The document category. in: query name: category required: false schema: type: string - description: The standard EDMS Adapter userid. It's required for user level authentication in: query name: userId required: false schema: type: string - description: The standard EMDS Adapter password. It's required for user level authentication in: query name: password required: false 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: multipart/form-data: schema: type: object properties: uploadedFile: type: string description: Specify the filename parameter with the file to be uploaded. See example for details. format: binary fileInfo: type: string description: A string array containing the file metadata for each specified filename. See example for details. required: - uploadedFile - fileInfo /v4/inspections/{inspectionId}/documents/{ids}: delete: description: 'Deletes documents from the specified inspection. **API Endpoint**: DELETE /v4/inspections/{inspectionId}/documents/{ids} **Scope**: inspections **App Type**: Agency **Authorization Type**: Access token **Civic Platform version**: 7.3.2' summary: Delete Inspection Documents operationId: v4.delete.inspections.inspectionId.documents.ids tags: - Inspections/Documents parameters: - $ref: '#/components/parameters/authHeaderParam' - description: Inspection sequence number in: path name: inspectionId required: true schema: type: string - description: Comma-delimited IDs of documents to be deleted. in: path name: ids required: true schema: type: string - description: The standard EDMS Adapter userid. It's required for user level authentication in: query name: userId required: false schema: type: string - description: The standard EMDS Adapter password. It's required for user level authentication in: query name: password required: false 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. components: schemas: documentModel: type: object properties: category: type: object description: The document category. The list of category options varies depending on the document group. properties: text: description: The localized display value. type: string value: description: The data value. type: string deletable: $ref: '#/components/schemas/userRolePrivilegeModel' department: description: The name of the department where the inspector works. type: string description: description: The description of the document. type: string downloadable: $ref: '#/components/schemas/userRolePrivilegeModel' entityId: description: The unique ID of the entity or record. type: string entityType: description: The type of entity. type: string fileName: description: The name of the file as it displays in the source location. type: string group: type: object description: The document group which allows agencies to organize the different types of documents that users might need to add to certain applications. properties: text: description: The localized display value. type: string value: description: The data value. type: string id: description: The document system id assigned by the Civic Platform server. format: int64 type: integer modifiedBy: description: The user account that last modified the document. type: string modifiedDate: description: The date the document was last modified. format: date-time type: string serviceProviderCode: description: The unique agency identifier. type: string size: description: The file size of the document. format: double type: number source: description: The name for your agency's electronic document management system. type: string status: type: object description: The documet status. properties: text: description: The localized display value. type: string value: description: The data value. type: string statusDate: description: The date when the current status changed. format: date-time type: string titleViewable: $ref: '#/components/schemas/userRolePrivilegeModel' type: description: The document type. type: string uploadedBy: description: The user who uploaded the document to the record. type: string uploadedDate: description: The date when the document was uploaded to the record. format: date-time type: string virtualFolders: description: The virtual folder for storing the attachment. With virtual folders you can organize uploaded attachments in groups type: string response_resultModelArray: type: object properties: result: items: $ref: '#/components/schemas/resultModel' type: array status: type: integer description: The HTTP return status. 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 isRequired: description: Indicates whether or not the field is required. enum: - Y - N type: string 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_documentModelArray: type: object properties: result: items: $ref: '#/components/schemas/documentModel' type: array status: type: integer description: The HTTP return status. userRolePrivilegeModel: type: object properties: contactAllowed: description: Indicates whether or not the permission is given to a contact. type: boolean deleteAllowed: description: "Indicates whether or not the permission to delete a document is allowed.\t" type: boolean downloadAllowed: description: Indicates whether or not the permission to download a document is allowed. type: boolean licenseTypeRules: items: type: string description: "A string array containing the types of licensed professionals who are given the permission.\t" type: array licensendProfessionalAllowed: description: Indicates whether or not the permission is given to a licensed professional. type: boolean ownerAllowed: description: Indicates whether or not the permission is given to an owner. type: boolean recordCreatorAllowed: description: Indicates whether or not the permission is given to a record creator. type: boolean registeredUserAllowed: description: Indicates whether or not the permission is given to a registered public user. type: boolean titleViewAllowed: description: Indicates whether or not the permission to view a document name is allowed. type: boolean uploadAllowed: description: Indicates whether or not the permission to upload a document is allowed. type: boolean parameters: 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 lang: description: Language parameter to support I18N. Default language is en_US. in: query name: lang required: false schema: type: string inspectionId: description: The ID of the inspection to fetch. See [Get All Inspections](./api-inspections.html#operation/v4.get.inspections), [Search Inspections](./api-search.html#operation/v4.post.search.inspections). in: path name: inspectionId required: true schema: type: integer format: int64 x-api-evangelist-provenance: generated: '2026-09-06' method: searched source: https://developer.accela.com/api/v4/v4-inspections.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.