Construct V4 Release Notes

October 2017 V4 Release Update

October 24, 2017

 

Construct Maintenance

During this release, new IP addresses will be introduced for the Construct API. If your agency filters inbound or outbound traffic to or from Construct, please contact Accela Customer Support for details of the new IP addresses. To contact Customer Support, you either log a case on Accela Success Community or call (888) 722-2352 ext. 5.

 

New Construct V4 API Endpoints

With Civic Platform 9.2.0, Construct V4 API includes enhancements for searching assets, getting custom data for transactional addresses and contacts, getting location information related to Right of Way Management, as well as bug fixes and usability improvements with the Assets and Filters APIs. The Get Environment Status is also now available to app developers for checking environment connectivity issues before allowing user interactions with their app.

Title URI Change Description
Agencies
Get Agency Environment Status GET /v4/agencies/{name}/environments/{env}/status Gets the status of an agency environment, as well as the version of the Civic Platform app server.
Assets
Search Assets POST /v4/search/assets Searches assets by GIS information.
Records/Addresses/CustomForms
Get Record Address Custom Forms GET /v4/records/{recordId}/addresses/{addressId}/customForms Gets the custom forms for a given record address.
Get Record Address Custom Forms Metadata GET /v4/records/{recordId}/addresses/{addressId}/customForms/meta Gets the custom forms metadata for a given record address.
Records/Contacts/CustomForms
Get Record Contact Custom Form Metadata GET /v4/records/{recordId}/contacts/{contactId}/customForms/{formId}/meta Gets the custom form metadata for a given record contact.

Construct V4 API Modifications

Title URI Change Description
Assets
Get All Assets

GET /v4/assets

The assetID query parameter now uses the alpha-numeric assetID as the filter field (previously used the numeric asset id).

Also added a new response field:
  • assetId - The unique alpha-numeric asset ID in an asset group.

Get Assets

Get All Linked Assets

GET /v4/assets/{ids}

GET /v4/assets/{id}/linkedAssets

New response field:
  • assetId - The unique alpha-numeric asset ID in an asset group.
Filters
Get All Filters GET /v4/filters New request query parameter:
  • module - Filter by Civic Platform module. If module is not specified, the default module is the currently logged-in user's default Civic Platform module.
  • limit - page result size limit
  • offset - pagination offset
Get Filter Results POST /v4/filters/{id}/results

Get Filter Results now supports the following fixed format parameters for all filter types (Filter parameters are configured in Civic Platform Administration > Data Filter. Filters are also known as "Quick Queries" or "Saved Searches"):

  • $$TODAY$$
  • $$TODAY+N$$
  • $$MODULE$$
    Note: For an inspection filter type, because the $$MODULE$$ is not available on the Admin Tool, you can specify the module filter parameter in the request payload, eg:

    { "module": "Building" }

    If not specified, the default module is the logged-in user's module.

  • $$USERID$$

Records
Get Records

Get My Records

Search Records

GET /v4/records/{ids}

GET /v4/records/mine

POST /v4/search/records

New request query parameter:
  • expandCustomForms - If the expand query parameter includes any of addresses, parcels, owners, or contacts, expandCustomForms specifies which object(s) should include custom forms. Currently, only expandCustomForms=addresses is supported.
New response fields:
  • addresses.customForms[] - returned if expandCustomForms=addresses is requested.
  • addresses.crossStreetNameStart - The beginning intersecting street name for searching. Used with Right of Way Management integration.
  • addresses.crossStreetNameEnd - The ending intersecting street name for searching. Used with Right of Way Management integration.
  • addresses.locationType - The type of location used for Right of Way Management. The valid values are configured with the LOCATION_TYPE standard choice in Civic Platform Administration.
  • addresses.streetNameStart - The beginning street name for searching. Used with Right of Way Management integration.
  • addresses.streetNameEnd - The ending street name for searching. Used with Right of Way Management integration.
Create Record

Create Partial Record

Finalize Record

POST /v4/records

POST /v4/records/initialize

POST /v4/records/{recordId}/finalize

New request body field:
  • initiatedProduct - The product or app that created the record. If initiatedProduct is null or not specified in the request, the default is "AV360" (Civic Platform back-office application).
New response fields:
  • addresses.crossStreetNameStart - The beginning intersecting street name for searching. Used with Right of Way Management integration.
  • addresses.crossStreetNameEnd - The ending intersecting street name for searching. Used with Right of Way Management integration.
  • addresses.locationType - The type of location used for Right of Way Management. The valid values are configured with the LOCATION_TYPE standard choice in Civic Platform Administration.
  • addresses.streetNameStart - The beginning street name for searching. Used with Right of Way Management integration.
  • addresses.streetNameEnd - The ending street name for searching. Used with Right of Way Management integration.
Get All Record Addresses

Create Record Address

Update Record Address

Get Record Inspection

GET /v4/records/{recordId}/addresses

POST /v4/records/{recordId}/addresses

PUT /v4/records/{recordId}/addresses/{id}

GET /v4/records/{recordId}/inspections

New response fields:
  • addresses.crossStreetNameStart - The beginning intersecting street name for searching. Used with Right of Way Management integration.
  • addresses.crossStreetNameEnd - The ending intersecting street name for searching. Used with Right of Way Management integration.
  • addresses.locationType - The type of location used for Right of Way Management. The valid values are configured with the LOCATION_TYPE standard choice in Civic Platform Administration.
  • addresses.streetNameStart - The beginning street name for searching. Used with Right of Way Management integration.
  • addresses.streetNameEnd - The ending street name for searching. Used with Right of Way Management integration.
Get Record Contact Custom Forms

Get Record Contact Custom Forms Metadata

GET /v4/records/{Id}/contacts/{Id}/customForms

GET /v4/records/{Id}/contacts/{Id}/customForms/meta

 

Instead of returning people templates, these APIs now return custom form data and metadata.
Update Record Contact Custom Forms PUT /v4/records/{recordId}/contacts/{contactId}/customForms

 

Instead of updating people templates, this API now updates the record contact's custom form data.
Get All Assets for Record GET /v4/records/{recordId}/assets New response field:
  • assetId - The unique alpha-numeric asset ID in an asset group.
Settings/Contacts
Get All Custom Forms Metadata for Contact Type GET /v4/settings/contacts/types/{id}/customForms Instead of returning people template metadata, this API now returns custom forms metadata.

Construct 4.0 Enhancements

  • On the Developer Portal, developers can now view API activity for their apps for the last 7 days by agency. To view an app's API activity data, login the Developer Portal and navigate to My Apps > {app} > Analytics.

  • On the Agency Admin Portal, the Civic Platform version on the agency host environment detail page and list is no longer required and has been removed.

Construct Bug Fixes

  • Resolved an issue on the Agency Admin Portal that prevented an administrator from deleting an agency dataset whose name contains single quotes on the Open Data tab. (CF-2535)

  • Resolved a bug with Construct V3 APIs encountered when a username contained a period character. (CF-2464)

  • Get Authentication Token (POST /oauth2/token) improved error messaging for scenarios in which the application server is not responding. (CF-1973)

  • Resolved an issue with Get All Assets (GET /v4/assets) where the query string parameter assetId was not retrieving the asset by Asset ID value.

  • Resolved the following issues with Update Asset (PUT /v4/assets/{id}):

    • If an attribute was being added in attributeTables{} without an id, a data_validation_error was returned. Also, updating an attribute with a given id did not update the attribute for the given id. If an id is not included when adding an attribute, Update Asset now defaults to the next incremented id. The update operation now updates the correct attribute with the requested id. (API-4498).

    • If the asset status was not included in the request, the asset status was saved as null in the database. Also, if a date field in the request contained the timestamp, the date was being saved as null in the database. (API-4522)

  • Resolved an issue with Update Asset Custom Attributes (PUT /v4/assets/{id}/attributes) in which dropdown list custom attributes were not being updated even if the return status indicated that the update was successful. (API-4509)

  • Resolved an issue with Schedule Inspection (POST /v4/inspections/schedule) which prevented failed guidesheets from being carried over to new inspections. (API-4485)

  • Resolved an issue with Get Record Contact Custom Forms (GET /v4/records/{Id}/contacts/{Id}/customForms) and Get Record Contact Custom Forms Metadata (GET /v4/records/{Id}/contacts/{Id}/customForms/meta) which returned people template attributes instead of custom form attributes. (API-4520)

  • Resolved the following issues with Get All Filters (GET /v4/filters):

    • Get All Filters did not support pagination. See Get All Filters under Construct V4 API Modifications for new request and response fields for pagination support. (API-4401)

    • Get All Filters returned all user-defined filters, regardless of permissions. Get All Filters now returns only the currently logged-in user's own filters and global filters the user has permissions to use. Global filter permissions are configured on Civic Platform Administration > Data Filter & Query > Global Saved Searches > Recipients. (API-4400)

  • Resolved an issue with Get Filter Results (POST /v4/filters/{id}/results) which returned an HTTP 500 error if the filter contains fixed format parameters such as $$TODAY$$. See Get Filter Results under Construct V4 API Modifications for a list of supported fixed format parameters. (API-4555)

Construct Documentation Update

The Construct V4 API Reference now renders API JSON files which follow the industry-standard OpenAPI Specification (Swagger) 2.0. All Construct V4 API endpoints have been categorized into functional groups, each with its own API page where you can:
  • Search for an endpoint
  • Clearly see the request path/query/body parameters
  • Expand or collapse hierarchical payloads
  • Copy/paste request and response sample JSON
  • Download the API JSON file

You can also use the Construct V4 API Index to find all API endpoints on one page.

 

 

July 2017 V4 Release Update

Upcoming Maintenance: July 13, 2017

Construct Maintenance

This is an infrastructure update that will enable performance and stability opportunities for Construct. As a result, new IP addresses have been introduced for the Construct API. If your agency restricts inbound or outbound traffic to or from Construct, please contact Accela Customer Support for details of the new IP addresses. To contact Customer Support, you either log a case on Accela Success Community or call (888) 722-2352 ext. 5.

 

 

June 2017 V4 Release Update

June 27, 2017

Construct 3.9 Bug Fixes

  • Fixed the missing cities and counties under the states returned by the Get All Agencies API. (CF-2529)

 

 

May 2017 V4 Release Update

May 16, 2017

New Construct V4 API

Title URI Description
Geocoding
Reverse Geocode GET /v4/geo/geocode/reverse Returns address information for the given longitude and latitude coordinates.
Note: The new Reverse Geocode API is equivalent to the v3 version.

Construct 3.8 Enhancements

  • The Construct Admin Portal now allows an administrator to be added to multiple agencies. For details, see Construct 3.8 Administrator Guide > Administrators > Adding a Host or Agency Administrator.

  • The Construct Admin Portal now allows an administrator to clear an agency's anonymous user cache. For details, see Construct 3.8 Administrator Guide > Hosts and Agencies > Agency Settings > Clearing the Cache.

 

 

March 2017 V4 Release Update

March 10, 2017

 

New Construct V4 API

With Civic Platform 9.0.0, Construct API supports assets, asset attributes, condition assessments and observations, invoices, and filters. For a list of the new Construct APIs, see New Construct V4 API for Civic Platform 9.0.0

Note the following availability dates of the Construct V4 API enhancements with Civic Platform Release 9.0.0:
  • Accela-hosted Staging environment: December 15, 2016
  • Accela-hosted Support environment: January 10, 2017
  • Accela-hosted Production environment: March 2017

 

Construct V4 API Modifications

Title URI Change Description
Records
Search Records POST /v4/search/records Modifications:
  • expand - Existing URI parameter now supports "assets", which returns asset information with the search results.
  • asset{} - New asset{} request sub-object allows searching records by asset
  • assetAttribute{} - New request assetAttribute{} sub-object allows search records by custom asset attributes. The assetAttribute{} request sub-object contains custom attribute fields as defined in the Asset attributes metadata (Get Attributes Metadata for Asset).
  • result.asset{} - New asset{} response sub-object.
Get Records GET /v4/records/{ids} Modifications:
  • expand - Existing URI parameter now supports "assets", which returns asset information in the response.
  • result.asset{} - New asset{} response sub-object.
Get All Inspection Types for Record GET /v4/records/{recordIds}/inspectionTypes Modifications:
  • inspectionTypes.hasSchdulePermission - returns 'Y' if inspectionTypes.schdulePermission is either 'REQUEST_ONLY_PENDING', 'REQUEST_SAME_DAY_NEXT_DAY', or 'SCHEDULE_USING_CALENDAR'. If inspectionTypes.schdulePermission is 'NONE' or null, inspectionTypes.hasSchdulePermission returns 'N'. This modification was introduced to fix the issue in which non-citizen inspections were incorrectly returned by Get All Inspection Types for Record.
  • inspectionTypes.schdulePermission - A new response field that returns one of the scheduling permissions in Citizen Access:
    • NONE - Does not allow public users to schedule this inspection type online.
    • REQUEST_ONLY_PENDING - Only allows public users to request for an inspection online. The agency coordinates the appointment for the inspection date and time.
    • REQUEST_SAME_DAY_NEXT_DAY - Allows public users to request an inspection for the same day, next day, or next available day, based on the inspection type calendar parameters defined on the inspection type.
    • SCHEDULE_USING_CALENDAR - Allows public users to schedule inspections based on the availability on the inspection type calendar.
DocumentReview
Update Document Review Task Status PUT /v4/documentReview/documents/{documentId}/tasks/{id} Added the following request field:
  • discipline - The inspection discipline related to the document review.

Construct Framework Enhancements

  • Scope names have been simplified and are now equivalent to their corresponding scope groups. The individual, long scope names from previous releases have been deprecated. You now can use the simpler scope group name as the scope value.

Construct V4 Documentation Update

  • The Construct API Reference index page no longer shows the Scope Group column. What used to be the scope group value can now be used as the scope value. The API pages show the deprecated scope names for the API.

 

February 2017 V4 Release Update

February 16, 2017

Construct 3.7.1 Bug Fixes

  • Bug fix for handling expired or invalid OAuth2 tokens

 

 

January 2017 V4 Release Update

Construct 3.7 Release: January 23, 2017

 

Construct 3.7 Enhancements

  • Improved error handling - The Construct APIs now return an error if the x-accela-environment or x-accela-agency HTTP header value does not match the access token provided in the Authorization HTTP header. (CF-1908)

    In addition, the Authentication token API returns improved error messages if required request parameters are missing. (CF-1602)

  • New agency NULLISLAND in the sandbox - To test your app with fresh and clean data in the Construct sandbox environment, use the new NULLISLAND agency instead of the existing ISLANDTON agency. (CF-2302)
  • Security enhancement- Construct now implements SHA-2 password encryption to comply with the Federal Information Security Management Act (FISMA) information security requirements. When logging in to the Construct Administrator, Developer, and User portals, the user's password is automatically converted to the SHA-2 encryption. (CF-1771)

 

December 2016 V4 Release Update

December 1, 2016

New Construct V4 API

Title URI Description
Agencies
Get Environment Status GET/v4/agencies/{name}/environments/{env}/status Gets the status of the specified agency environment. This API enables app developers to check and catch environment connectivity issues before allowing user interactions with the app. (CF-2203)

 

Construct 3.6 Bug Fixes

  • In the 3.5.1 release, the Get Linked User Account API returned a different response for agency users. The API now returns the correct agency user properties. (CF-2132)

  • A 400 error code is now returned if the value of the x-accela-environment or x-accela-agency header does not match the access token in the Authorization header (CF-1908).

 

 

October 2016 V4 Release Update

October 11, 2016

Construct 3.5.2 Hotfix Bug Fixes

  • Resolves an issue within the Construct Admin Portal preventing users from creating new Open Data dataset templates. (CF-2207)

September 2016 V4 Release Update

September 12, 2016

New Construct V4 API

Title URI Change Description
Records/Contacts/CustomTables
Get Record Contact Custom Tables GET /v4/records/{recordId}/contacts/{contactId}/customTables Gets the custom tables associated with the specified record contact.
Get Record Contact Custom Table Metadata GET /v4/records/{recordId}/contacts/{contactId}/customTables/{tableId}/meta Gets the metadata of a specified custom table associated with the specified record contact.
Get All Custom Tables Metadata for Record Contact GET /v4/records/{recordId}/contacts/{contactId}/customTables/meta Gets the metadata of all custom tables associated with the specified record contact.
Update Record Contact Custom Tables PUT /v4/records/{recordId}/contacts/{contactId}/customTables Updates the custom tables for the specified record contact.
Settings/Contacts
Get All Custom Table Settings for Contact Type GET /v4/settings/contacts/types/{id}/customTables Gets all custom table settings for specified contact type.

Construct V4 API Modifications

Title URI Change Description
Agencies
Get All Linked User Accounts GET /v4/civic/accounts The Get All Linked User Accounts API now supports linked accounts across multiple environments such as PROD and SUPP environments.
Create Linked User Accounts POST /v4/civicid/accounts The Create Linked User Accounts API now supports linked accounts across multiple environments such as PROD and SUPP environments.
Get Authentication Token POST /oauth2/token The POST /oauth2/token API now requires the HTTP header content-type to be set to application/x-www-form-urlencoded.

Construct 3.5 Enhancements

Construct 3.5 Bug Fixes

  • Bug fix in V3 Update Record API. Previously, when the assignToInfo{} is updated via PUT /v3/records/{id}, the assignToInfo.AssignDate and assignToInfo.assignStaff fields were not being returned by the V3 Get Record API. This issue has been resolved. (CF-2071)

  • Bug fix in V4 Get My Records API when used with multiple environments. Previously, the GET /v4/records/mine API returned a status 500 internal server error if the CivicID is linked to multiple environments. Also, if a linked user or environment has been changed, the GET /v4/records/mine API returned incorrect data. These issues have been resolved; Get My Records API now supports linked users across multiple environments. (CF-2061)

Construct 3.5.1 Hotfix Bug Fixes

  • System performance-related bug fix - A random concurrency issue occurred when there is a large number of requests coming in during system initialization. The code has been fixed to correctly handle concurrency during system initialization.

  • Fixed misleading message "Failed to get response from sub-system" for POST /oauth2/token - The error handling has been fixed to present the appropriate error message for authentication. (CF-2090)

Construct V4 Documentation Update

  • An updated look and feel using webhelp responsive format with top menu navigation and search box

  • Construct SDKs have been moved to https://github.com/Accela-Inc

June 2016 V4 Release Update

June 23, 2016

New Construct V4 API

Title URI Description
Inspections
Get All Agency Environments GET /v4/agencies/{name}/environments Returns an array of the API environments for the specified agency, including the environment's API provider and version.

Construct V4 API Modifications

Title URI Change Description
Agencies
Search Agencies POST /v4/search/agencies Added the following request fields: Added the following response fields:
  • country - The two-character code for the country that the agency belongs to, as configured on Construct Admin Portal > Agencies > Agency Info.
  • state - The state that the agency belongs to, as configured on Construct Admin Portal > Agencies > Agency Info. For US and Canada, the two-character state code is returned. For other countries, the state field can contain up to 100 characters.
Get All Agencies GET /v4/agencies Added the following response fields:
  • country - The two-character code for the country that the agency belongs to, as configured on Construct Admin Portal > Agencies > Agency Info.
  • state - The state that the agency belongs to, as configured on Construct Admin Portal > Agencies > Agency Info. For US and Canada, the two-character state code is returned. For other countries, the state field can contain up to 100 characters.
Get Agency GET /v4/agencies/{agency} Added the following response fields:
  • country - The two-character code for the country that the agency belongs to, as configured on Construct Admin Portal > Agencies > Agency Info.
  • state - The state that the agency belongs to, as configured on Construct Admin Portal > Agencies > Agency Info. For US and Canada, the two-character state code is returned. For other countries, the state field can contain up to 100 characters.

Construct 3.4 Enhancements

  • The Search Agencies, Get All Agencies, and Get Agency API now return the country and state which have been configured for the agency on the Construct Admin Portal. (CF-1860)

  • Infrastructure changes:

    • API analytics database has been moved from SQL Server to Azure DocumentDB for better performance and data protection (CF-1598)

    • Log storage has been consolidated and enhanced for more efficient log storage, diagnostics, and troubleshooting (CF-1610)

    • Cache service and refresh mechanism now support active-active Construct deployment on multiple data centers (CF-1678)

Construct 3.4 Bug Fixes

  • The Get Agencies API now returns HTTP error code 404 if the {agency} parameter does not exist. (CF-1772)

  • The HTTP error code 500 returned by Search Records via anonymous API request has been fixed.. (CF-1621)

  • The Get My Records API now returns HTTP error code 400 instead of 500 if the specified agency in the x-accela-agency header is invalid (CF-819)

  • The Authentication API (https://auth.accela.com/oauth2/token) now returns HTTP error code 404 if the environment request parameter is missing.(CF-1533)

  • The Authentication API (https://auth.accela.com/oauth2/token) fixed the unclear "System.AggregateException" error message returned when the Construct request to Gateway times out. The error message has been changed to "The remote server returned an error: (401) Unauthorized. Please check the configured Gateway and AA". (CF-264)

  • The Create Account button on the Developer Portal user registration page has been fixed. (CF-1866)

Construct Admin Portal bug fixes
  • The Agency Info page on the Admin Portal now allows an administrator to specify the country and state for the agency. For US and Canada, a dropdown list of the states are provided. For other countries, enter the state in a text field. (CF-1860)

  • The Add Environment page on the Admin Portal now includes the latest Civic Platform versions. (CF-1862)

  • The Hosted ACA checkbox label on the AgencyInfo page on the Admin Portal was confusing and has been re-labeled to "ACA Deployed", which specifies whether or not the agency has deployed Citizen Access. (CF-1681)

CivicId User Portal bug fixes
  • The CivicId registration email sent to a new CivicId user no longer shows the password as plain text. (CF-1830)

Construct 3.4.1 Hotfix Bug Fixes

June 28, 2016

  • Fixed the implicit auth flow for agency apps and the "Unknown Agency error" from the Token Test generation tool (Get Api Test Token page) of the Developer Portal (CF-2025).

April 2016 V4 Release Update

Construct V4 API Modifications

Title URI Change Description
Inspections
Get All Available Dates for Inspection GET /v4/inspections/availableDates Added the following request fields:
  • validateCutOffTime - If true, the Schedule Cut-off Time field setting on the Civic Platform Inspection Calendar is used to filter the returned available dates. If validateCutOffTime is set to true, the validateScheduleNumOfDays must also be set to true. The default value is false, which ignores the Schedule Cut-off Time field on the inspection calendar.
  • validateScheduleNumOfDays - If true, the Schedule Number of Days Out field setting on the Civic Platform Inspection Calendar is used to filter the returned available dates. If validateScheduleNumOfDays is set to true, the validateCutOffTime must also be set to true. The default value is false, which ignores the Schedule Number of Days Out field on the inspection calendar.

Construct 3.3.6 Bug Fixes and Enhancements

  • This release enables TLS 1.2 in the Construct API, Auth, and User subsystems.

    Note: Accela has announced that effective June 17, 2016, TLS 1.0 will no longer be supported by the Accela product suite.

December 2015 V4 Release Update

Construct 3.3.5 Bug Fixes and Enhancements

  • Construct now sets the HTTP header user-agent to "Accela/Construct" when communicating with Accela Gateway. (CF-1524)
  • Bug fix for error code 500 returned by GET /v4/records/mine when the HTTP request header x-accela-agencies is set to "all" and x-accela-agency is empty. The HTTP request header x-accela-agency is not required if x-accela-agencies is used. (CF-1555)
  • Bug fix for "An error occurred while processing your request" error due to concurrency issue when viewing or modifying an agency on the Construct Admin Portal. (CF - 1580)

October 2015 V4 Release Update

New Construct V4 API Resources

Title URI Description
Contacts
Get All Records for Contact GET /v4/contacts/{id}/records Gets all records for the specified contact
Owners
Get All Owner Conditions GET /v4/owners/{ownerId}/conditions Gets all conditions for the specified owner.
Parcels
Get All Parcel Conditions GET /v4/parcels/{parcelId}/conditions Gets all conditions for the specified parcel.
Professionals
Get All Professional Conditions GET /v4/professionals/{id}/conditions Gets all conditions for the specified professional.
Construct V4 API Modifications
Title URI Change Description
Records
Get All Records GET /v4/records Added the following request fields:
  • statusDateFrom - The start date of a status date range filter.
  • statusDateTo - The end date of a status date range filter.
  • updateDateFrom - The start date of a last update date range filter.
  • updateDateTo - The end date of a last update date range filter.
Added the following response fields:
  • updateDate - The record's last update date.
Get My Records GET /v4/records/mine Added the following request fields:
  • statusDateFrom - The start date of a status date range filter.
  • statusDateTo - The end date of a status date range filter.
  • statusTypes- Support for multiple status types filter.
  • updateDateFrom - The start date of a last update date range filter.
  • updateDateTo - The end date of a last update date range filter.
Added the following response fields:
  • updateDate - The record's last update date.
Search Records POST /v4/search/records Added the following request fields:
  • statusDateFrom - The start date of a status date range filter.
  • statusDateTo - The end date of a status date range filter.
  • statusTypes[]- Support for multiple status types filter.
  • updateDate - The last update date of a record.
  • updateDateFrom - The start date of a last update date range filter.
  • updateDateTo - The end date of a last update date range filter.
Added the following response fields:
  • updateDate - The record's last update date.
Get All Record Types GET /v4/settings/records/types Added the following request fields:
  • action - The action associated with the record type, such as Create an Application, Create a Hunting License, Amend an Application, Amend a Contact.
Construct V4 API Bug Fixes
Title URI Problem and Fix Description
Get All Records GET /v4/records Records beyond the 100th record were not returned. The limitation has been removed. Results with more than 100 records are now returned based on the limit and offset parameters.
Search Records POST /v4/search/records Records beyond the 100th record were not returned. The limitation has been removed. Results with more than 100 records are now returned based on the limit and offset parameters.
Search Contacts POST /v4/search/contacts Empty request filter fields caused an internal_server_error 500 failure. This issue has been fixed.
Construct 3.3.4 Bug Fixes
  • Bug fix for internal server error when creating record with ASIT using Create Record V3 API
Construct 3.3.3 Bug Fixes and Enhancements
  • Support for Civic Platform 7.3.3.7, 8.0.0
  • Inspector app bug fixes
  • Bug fix for missing log entries

August 2015 V4 Release Update

Release Date: August 04, 2015

Construct 3.3.2 Bug Fixes

  • Previously, when a high number of concurrent requests call the same Construct API, a multi-threading issue could potentially cause multiple API requests to receive incorrect data. This multi-threading issue has been fixed.

July 2015 V4 Release Update

Construct 3.3 Framework Enhancements

  • Construct performance tuning
  • Fixed CivicId login failure with Gateway 3.2
Construct V4 API Modifications
Title URI Description
Create Record User Comments POST /v4/records/{recordId}/usercomments DEPRECATED in V4.
Get All User Comments for Record GET /v4/records/{recordId}/usercomments DEPRECATED in V4.

June 2015 V4 Release Update

Construct V4 API Bug Fixes

Title URI Description
Get Image Document Thumbnail GET /v4/documents/{documentId}/thumbnail Previously, citizens received an error ( internal_server_error with the message "The method or operation is not implemented") when an app called the Get Image Document Thumbnail API. This issue has been fixed.

May 2015 V4 Release Update

Construct V4 API Modifications

Title URI Change Description
Announcements
Get All Announcements GET /v4/announcements Added the following request field:
  • isRead - Indicates whether to return read or unread announcements.

Added the following response field:

  • isRead - Indicates whether or not an announcement has been read by the logged-in user, that is, the read status of the announcement returned using the specified authorization token.
Inspections
Get All Available Dates for Inspection GET /v4/inspections/availableDates Allows a request date range of up to 31 days (previously 30 days). No syntax change.
Inspectors
Get All Inspectors GET /v4/inspectors Added the following response fields:
  • email- The inspector's email address.
  • mobilePhone - The inspector's mobile phone number.
  • preferredChannel - The method by which the contact prefers to be notified, by phone for example.
Get Inspector GET /v4/inspectors/{id} Now supports both Agency and Citizen app types.

Added the following response fields:

  • email- The inspector's email address.
  • mobilePhone - The inspector's mobile phone number.
  • preferredChannel - The method by which the contact prefers to be notified, by phone for example.
Payments
Create Payment POST /v4/payments Added the following request field:
  • trustAccount{}- Contains request parameters for a trust account payment.
  • check{} - Contains request parameters for a check payment.

Added the following response fields:

  • entityId- Identifies the objectthe payment applies to
  • entityType - The type of object the payment applies to. For example, record.
Records
Records API that update, create, delete objects related to a record POST|PUT|DELETE /v4/records/{recordId}/* where * includes addresses, customForms, customTables, contacts, professionals Support for new Accela Citizen Access functionality that allows citizens to edit the records they submitted in ACA. The edit permissions are configured by the Automation Administrator. For details, see the Automation 7.3.3 Release Notes > Service Pack 5 New Features > Enabling Citizens to Edit Records in ACA.
Records/Fees
Get All Fees for Record GET /v4/records/{recordId}/fees Deprecated the following unused fields:
  • description, effectDate, expireDate, udf1, udf2, udf3, udf4, calcFlag, variable, autoInvoiceFlag, autoAssessFlag, calculatedFlag, acaRequiredFlag, feeAllocationType, allocatedFee1, allocatedFee2, allocatedFee3, schedule

Renamed the following response fields:

  • feeNotes renamed to notes
  • accCodeL1 renamed to accountCode1
  • accCodeL2 renamed to accountCode2
  • accCodeL3 renamed to accountCode3
Searches
Search Contacts POST /v4/search/contacts Added the following request fields:
  • orderBy - Comma-delimited sort fields and sort order. If sort order is not specified, default is ascending order. For example: "orderBy":"lastName desc,email asc"
Added support for Soundex searching. Similar to Automation, the Soundex search functionality is available on the street name and common contact fields, such as the following request fields:
  • firstName
  • middleName
  • lastName
  • organizationName
  • tradeName
  • businessName
  • streetName

A new request parameter enables the Soundex search: openSoundexSearch.The following is a sample request using Soundex search on the firstName field:

{

"openSoundexSearch": "Y",

"firstName": "Lisa"

}

Search Records POST /v4/search/records Updated the valid values for the following request field:
  • expand=conditions,conditionOfApprovals - returns associated standard conditions or conditions of approval with the search results (respectively)
Added the following request fields:
  • condition - Supports Search Records by standard condition
  • conditionOfApproval - Supports Search Records by condition of approval

Added the following response fields:

  • conditions[] - Standard condition search results
  • conditionOfApprovals[] - Condition of approval search results
Settings
Get All Fee Schedules GET /v4/settings/fees Renamed the following response fields:
  • feeNotes renamed to notes
  • accCodeL1 renamed to accountCode1
  • accCodeL2 renamed to accountCode2
  • accCodeL3 renamed to accountCode3
Get All Inspection Types GET /v4/settings/inspections/types Added the following request field:
  • expand- Ifexpand=associationsis included as a request parameter, the inspection type associations will be returned.

Added the following response field:

  • associations - Contains parameters associated with the inspection type

    "associations": {

    "standardCommentGroup": {

    "text": "string",

    "value": "string"

    }

Get Inspection Types GET /v4/settings/inspections/types/{ids} Added the following request field:
  • expand- Ifexpand=associationsis included as a request parameter, the inspection type associations will be returned.

Added the following response field:

  • associations - Contains parameters associated with the inspection type

    "associations": {

    "standardCommentGroup": {

    "text": "string",

    "value": "string"

    }

Get All Record Types GET /v4/settings/records/types Added the following request field:
  • expand- Ifexpand=associationsis included as a request parameter, the record type associations will be returned.

Added the following response fields:

  • alias - The record type alias
  • associations - Contains parameters associated with the record type

    "associations": {

    "inspectionGroup": "string",

    "standardCommentGroup": [

    {

    "value": "string",

    "text": "string"

    }

    ],

    "documentCode": "string",

    "expirationCode": "string",

    "feeSchedule": "string",

    "virtualFolderGroup": "string",

    "addressTypeGroup": "string",

    "appStatusGroup": "string",

    "workflow": "string",

    "customFormGroup": "string"

    }

New Construct V4 API Resources

Construct Framework Enhancements

  • Support for Accela Gateway 3.2

  • Gateway 3.2 simplifies the configuration of Automation Biz Servers and multiple environments. An agency administrator can specify multiple environments, and can configure at least one Automation Biz Server for each environment. Gateway will route API calls to the specified Biz Servers. If an agency prefers to use an enterprise load balancer, the agency administrator can enter the IP address of the load balancer instead of a list of Biz Server IP’s.

  • Support CivicID's aggregated view of records across agencies

  • The new HTTP Header x-accela-agencies allows HTTP GET API's to return data across agencies for which accounts linked to a CivicId has access to.

    Known limitation: The same request API with the same parameters will be sent to all agencies, regardless of how the different agencies have customized their Automation configurations. For example, if a record type in Agency A is defined as "Permit/SingleFamilyHouse/Roof/Final" but defined as "Building/Residential/SingleFamily/RoofFinal" in Agency B, the API will simply return what was defined in each agency, regardless of configuration inconsistency.

Construct V4 API Bug Fixes

Title URI Description
Create Payment POST /v4/payments With Automation 7.3.3.5, the Create Payment API returned an error code of 400 and a message "The Credit Card information is required if pay by Credit Card". This issue has been resolved. The Create Payment API has been fixed to consistently return payment information, whether the requested paymentMethod is Credit Card, Check, or Trust Account.
Get All Available Dates for Inspection GET /v4/inspections/availableDates With Automation 7.3.3.5 and earlier releases, the Get All Available Dates for Inspection API returned a data_validation_error if a 31-day month range is requested (for example, startDate=2015-05-01&endDate=2015-05-31). This issue has been resolved. The Get All Available Dates for Inspection API now allows a request date range of up to 31 days.
Get All Inspection Types for Record GET /v4/records/{recordIds}/inspectionTypes With Automation 7.3.3.5 and earlier versions, the Get All Inspection Types for Records API did not return the record's inspection types with correct values for the hasSchdulePermission, hasReschdulePermission, and hasCancelPermission response fields for the currently logged-in user. This issue has been resolved. The correct inspection types attached to the record with correct permissions for the logged-in user are now returned.
Get All Records GET /v4/inspectors For API consumers who were authenticating as an Agency User with Automation 7.3.3.5.1, the Get All Records API () did not return the correct result set if a non-zero offset request parameter is used. This issue has been resolved. The Get All Records API now returns the correct result set whose first record is set by the offset request parameter.

Dependencies
  • The May 2015 Construct V4 API enhancements and bug fixes support Automation 7.3.3.5.2 Hotfix Release and later.

    NOTE: Refer to the API documentation to see each API’s supported minimum Automation version. For on-premise customers, the Automation version published on the API page indicates that your agency requires at least that version of the Automation biz server. For modified API’s, their API pages show which fields are introduced in later Automation versions.

January 2015 V4 Release Update

Modifications

  • Password Credential Login - allows a client to get API access tokens via userid/password credentials. This login mechanism complies with the OAuth 2.0 Framework's Resource Owner Password Credentials authentication standard.

  • Construct API V4 documentation fixes

November 2014 V4 Release Update

This Construct API V4 Release Update supports Automation 7.3.3 and includes the following new features and modifications:

New Features

The November 2014 V4 Release Update provides the following new API resources:

  • Records

    Delete Records DELETE /v4/records/{ids}
  • Record Activities

    Create Record Activities POST /v4/records/{recordId}/activities
    Get All Record Activities GET /v4/records/{recordId}/activities
    Update Record Activity PUT /v4/records/{recordId}/activities/{id}
    Get All Activity Priorities GET /v4/settings/activities/priorities
    Get All Activity Statuses GET /v4/settings/activities/statuses
    Get All Activity Types GET /v4/settings/activities/types
  • Record Costs

    Get Cost Accounts GET /v4/settings/costs/accounts
    Get Cost Factors GET /v4/settings/costs/factors
    Get Cost Types GET /v4/settings/costs/types
    Get Cost Items GET /v4/settings/costs/types/{typeName}/items
    Get Cost UnitTypes GET /v4/settings/costs/unitTypes
    Search Costs POST /v4/search/costs
  • Part Transactions

    Create Record Part Transaction POST /v4/records/{recordId}/partTransaction
    Get Record Part Transaction GET /v4/records/{recordId}/partTransaction
    Void Record Part Transaction DELETE /v4/records/{recordId}/partTransaction/{ids}
    Get Part Locations GET /v4/settings/parts/locations
    Get Part Types GET /v4/settings/parts/types
    Search Parts POST /v4/search/parts
  • Payments and Fees

    Get Payment GET /v4/payments/{paymentId}
    Get Payment Transactions GET /v4/transactions/{ids}
    Estimate Record Fees PUT /v4/records/{recordId}/fees/estimate
    Get All Fee Schedules GET /v4/settings/fees
    Get All Fee Schedules for Record Type GET /v4/settings/records/types/{id}/fees/schedules
  • Shopping Carts

    Get All Shopping Cart Items GET /v4/shoppingCart
  • Checklists

    Get Checklists Statuses GET /v4/settings/inspections/checklists/statuses
  • Documents and Folders

    Update Document PUT /v4/documents/{documentId}
    Get Document Thumbnail GET /v4/documents/{documentId}/thumbnail
    Get Folder Groups GET /v4/settings/documents/folderGroups
    Update Folder Groups PUT /v4/settings/documents/folderGroups
    Create Folders POST /v4/settings/documents/folders
    Update Folders PUT /v4/settings/documents/folders
    Delete Folders DELETE /v4/settings/documents/folders/{ids}
  • Time Accounting

    Get Time Accounting GET /v4/timeAccounting
    Create Time Accounting POST /v4/timeAccounting
    Update Time Accounting PUT /v4/timeAccounting/{id}
    Delete Time Accounting DELETE /v4/timeAccounting/{ids}
  • Pick Lists (Shared Dropdown Lists)

    Get All Pick Lists GET /v4/settings/pickLists
    Get Pick List GET /v4/settings/pickLists/{id}
  • Mileage

    Create Mileage POST /v4/mileage
  • Announcements

    Get Announcements GET /v4/announcements

Modifications
Title URI Change Description
Create Payment POST /v4/payments Added support for check payment and multiple payment entities.
Search Records POST /v4/search/records Added fields in the types[] request parameter array to allow more search criteria for multiple record types.

Dependencies
  • Automation 7.3.3 Feature Pack Release

  • Gateway 3.1

API Documentation Updates
  • The Construct API Reference index has been reorganized as follows:

    • The API Reference listing is categorized and sorted by the resource URI

    • The API by Function section provides a functional view of the API Reference.

May 2014 V4 Release

This initial release of the Accela Construct V4 API is for general availability.

Features

Accela Construct V4 API provides support for the following:

  • Authentication – Support for user registration, identity management, authentication, authorization, token management, input claims, output claims, and oAuth login dialogs.

  • Citizen engagement – Unified syntax across resources and across agency and citizen interfaces.

  • Agency productivity – Stepped approach for creating core records allowing initialization, partial record creation and intermediate sub-element updates, and final completion according to agency requirements and workflows.

  • Civic Platform Data Model – Grouped API scope for easy understanding of the Civic Platform Data Model’s root objects such as Inspections, Records, Conditions, Professionals, Owners, Parcels, and their supporting sub-objects.

  • Civic ID API – Provision for Civic ID user profile and linked agency and citizen account information.

  • Secure Payments – Cashier API allowing users to pay for record with server side gateway payment adapter.

  • Search – Support for global search providing keyword search feature.

  • Internationalization – Multiple language support for API request and response parameters.

Accela Construct Developer Portal > Resources provides a rich set of developer resources: SDKs for iOS, Android, and Windows 8, Getting Started guides, and API Reference. In addition, samples and documentation are also available on Github.

Note: If you have used the Accela Construct V4 API Preview, note that the API method titles in the API Reference have been renamed. For information about the Construct API method naming convention, see the Developer's Guide > API Naming Conventions.

Dependencies
  • Automation 7.3.2

  • Gateway 3.1

Limitations and Known Issues
  • Error messages do not currently support internationalization (i18n) and globalization (l10n).

  • The record search results limit is 100 (based on Accela Automation for Agency user).

  • Construct’s Document API does not support ACA permissions.

  • The API Reference in the Developer's Guide currently does not list the static and variable field values to use in request bodies. We will update the API Reference within a month of this release to provide this information. In the meantime, most of the variable values come from configuration settings that are specific to a particular Accela Automation instance. You can get a list of these values by submitting a GET request for the applicable settings object. For example, to get the possible values for contact types, submit the Get All Contact Types method (HTTP GET /v4/settings/contacts/types). Most request fields with static values require either "Y"/"N" (for string fields) or true/false (for boolean fields). Some of the field descriptions already list the possible static values; some examples indicate the possible values. Field values and enhanced examples will be provided in the next API documentation refresh.

June 2014 API Documentation updates
  • The Get Settings Time Accounting Groups method name was renamed to Get All Time Accounting Groups.

  • Get Settings Time Accounting Types method name was renamed to Get All Time Accounting Types.

  • The Get Settings Contact Type Customforms method name was renamed to Get All Custom Form Settings for Contact Type.