Accela Contacts API

A reference contact captures information about people or organizations involved in a business process. Contacts include licensed professionals, such as contractors, architects, engineers, and developers for which your agency maintains saved data. Contacts also include individuals related to a specific application or parcel, such as the applicant, billing contacts, or legal representatives. You can add new contacts to your system, or update information about existing contacts. As you manage applications and parcels on your system, you can keep track of certain individuals related to an application or a parcel. For example, you can keep track of the legal counsel for a property owner, or the accountant responsible for any fees assessed on a certain application.

Operations 5

GET /v4/contacts Get All Contacts #
POST /v4/contacts Create Contacts #
GET /v4/contacts/{ids} Get Contacts #
DELETE /v4/contacts/{ids} Delete Contacts #
PUT /v4/contacts/{id} Update Contact #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/accela-contacts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

accela-contacts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Contacts and Professionals APIs enable apps to manage reference contacts and licensed professionals.
  title: Professionals Contacts API
  version: v4
servers:
- url: https://apis.accela.com/
tags:
- name: Contacts
  description: A reference contact captures information about people or organizations involved in a business process.
paths:
  /v4/contacts:
    get:
      description: 'Gets all contacts available in the system.


        **API Endpoint**: GET /v4/contacts


        **Scope**: contacts


        **App Type**: All


        **Authorization Type**: Access token


        **Civic Platform version**: 7.3.2'
      summary: Get All Contacts
      operationId: v4.get.contacts
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/authHeaderParam'
      - description: Filter by contact's address state.
        in: query
        name: state
        required: false
        schema:
          type: string
      - description: Filter by contact's address country.
        in: query
        name: country
        required: false
        schema:
          type: string
      - description: Filter by contact's first name.
        in: query
        name: firstName
        required: false
        schema:
          type: string
      - description: Filter by contact's middle name.
        in: query
        name: middleName
        required: false
        schema:
          type: string
      - description: Filter by contact's last name.
        in: query
        name: lastName
        required: false
        schema:
          type: string
      - description: Filter by contact's email address.
        in: query
        name: email
        required: false
        schema:
          type: string
      - description: Filter by contact's first line of address.
        in: query
        name: addressLine1
        required: false
        schema:
          type: string
      - description: Filter by contact's second line of address.
        in: query
        name: addressLine2
        required: false
        schema:
          type: string
      - description: Filter by contact's third line of address.
        in: query
        name: addressLine3
        required: false
        schema:
          type: string
      - description: Filter by contact's business name.
        in: query
        name: businessName
        required: false
        schema:
          type: string
      - description: Filter by contact's address city.
        in: query
        name: city
        required: false
        schema:
          type: string
      - description: Filter by contact's title.
        in: query
        name: title
        required: false
        schema:
          type: string
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $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_contactModelArray'
        '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 new reference contacts.


        **API Endpoint**: POST /v4/contacts


        **Scope**: contacts


        **App Type**: All


        **Authorization Type**: Access token


        **Civic Platform version**: 7.3.2'
      summary: Create Contacts
      operationId: v4.post.contacts
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/authHeaderParam'
      - $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/contactModel'
              type: array
        description: Reference contact information to add.
        required: true
  /v4/contacts/{ids}:
    get:
      description: 'Gets information for requested reference contacts.


        **API Endpoint**: GET /v4/contacts/{ids}


        **Scope**: contacts


        **App Type**: All


        **Authorization Type**: Access token


        **Civic Platform version**: 7.3.2'
      summary: Get Contacts
      operationId: v4.get.contacts.ids
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/authHeaderParam'
      - description: Comma-delimited IDs of reference contacts to fetch.
        in: path
        name: ids
        required: true
        schema:
          type: string
      - $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_contactModelArray'
        '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.
    delete:
      description: 'Deletes contacts.


        **API Endpoint**: DELETE /v4/contacts/{ids}


        **Scope**: contacts


        **App Type**: All


        **Authorization Type**: Access token


        **Civic Platform version**: 7.3.2'
      summary: Delete Contacts
      operationId: v4.delete.contacts.ids
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/authHeaderParam'
      - description: Comma-delimited IDs of contacts to delete.
        in: path
        name: ids
        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.
  /v4/contacts/{id}:
    put:
      description: 'Updates contact information.


        **API Endpoint**: PUT /v4/contacts/{id}


        **Scope**: contacts


        **App Type**: Agency


        **Authorization Type**: Access token


        **Civic Platform version**: 7.3.2'
      summary: Update Contact
      operationId: v4.put.contacts.id
      tags:
      - Contacts
      parameters:
      - $ref: '#/components/parameters/authHeaderParam'
      - $ref: '#/components/parameters/idContactString'
      - $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_contactModel'
        '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:
              $ref: '#/components/schemas/request_contactModel'
        description: The contact information to be updated
        required: true
components:
  schemas:
    response_contactModel:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/request_contactModel'
        status:
          type: integer
          description: The HTTP return status.
    contactModel:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/compactAddressModel'
        birthCity:
          type: object
          description: The city of birth for an individual.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        birthDate:
          description: The birth date.
          format: date-time
          type: string
        birthRegion:
          type: object
          description: The country of birth or region of birth for an individual.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        birthState:
          type: object
          description: The state of birth for an individual.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        businessName:
          description: A secondary business name for the applicable individual.
          type: string
        comment:
          description: A comment about the inspection contact.
          type: string
        deceasedDate:
          description: The deceased date.
          format: date-time
          type: string
        driverLicenseNumber:
          description: The driver's license number of the contact. This field is active only when the Contact Type selected is Individual.
          type: string
        driverLicenseState:
          type: object
          description: The state that issued the driver's license.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        email:
          description: The contact's email address.
          type: string
        endDate:
          description: The date when the contact address ceases to be active.
          format: date-time
          type: string
        fax:
          description: The fax number for the contact.
          type: string
        faxCountryCode:
          description: Fax Number Country Code
          type: string
        federalEmployerId:
          description: The Federal Employer Identification Number. It is used to identify a business for tax purposes.
          type: string
        firstName:
          description: The contact's first name.
          type: string
        fullName:
          description: 'The contact''s full name. '
          type: string
        gender:
          type: object
          description: The gender (male or female) of the individual.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        id:
          description: The contact system id assigned by the Civic Platform server.
          type: string
        individualOrOrganization:
          description: The organization to which the contact belongs. This field is only active when the Contact Type selected is Organization.
          type: string
        lastName:
          description: The last name (surname).
          type: string
        middleName:
          description: "The middle name.\t"
          type: string
        organizationName:
          description: The organization to which the contact belongs. This field is only active when the Contact Type selected is Organization.
          type: string
        passportNumber:
          description: The contact's passport number. This field is only active when the Contact Type selected is Individual.
          type: string
        phone1:
          description: The primary telephone number of the contact.
          type: string
        phone1CountryCode:
          description: Phone Number 1 Country Code
          type: string
        phone2:
          description: The secondary telephone number of the contact.
          type: string
        phone2CountryCode:
          description: Phone Number 2 Country Code
          type: string
        phone3:
          description: The tertiary telephone number for the contact.
          type: string
        phone3CountryCode:
          description: Phone Number 3 Country Code
          type: string
        postOfficeBox:
          description: The post office box number.
          type: string
        preferredChannel:
          type: object
          description: The method by which the contact prefers to be notified, by phone for example. See [Get All Contact Preferred Channels](./api-settings.html#operation/v4.get.settings.contacts.preferredChannels).
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        race:
          type: object
          description: The contact's race or ethnicity. See [Get All Contact Races](./api-settings.html#operation/v4.get.settings.contacts.races).
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        relation:
          type: object
          description: The contact's relationship to the application or service request.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        salutation:
          type: object
          description: The salutation to be used when addressing the contact; for example Mr. oar Ms. This field is active only when Contact Type = Individual. See [Get All Contact Salutations](./api-settings.html#operation/v4.get.settings.contacts.salutations).
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        serviceProviderCode:
          description: The unique agency identifier.
          type: string
        socialSecurityNumber:
          description: The individual's social security number. This field is only active when the Contact Type selected is Individual.
          type: string
        stateIdNumber:
          description: The contact's state ID number. This field is only active when the Contact Type selected is Individual.
          type: string
        status:
          type: object
          description: The contact status.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        suffix:
          description: The contact name suffix.
          type: string
        title:
          description: The individual's business title.
          type: string
        tradeName:
          description: The contact's preferred business or trade name. This field is active only when the Contact Type selected is Organization.
          type: string
        type:
          type: object
          description: The contact type. See [Get All Contact Types](./api-settings.html#operation/v4.get.settings.contacts.types).
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
    response_contactModelArray:
      type: object
      properties:
        result:
          items:
            $ref: '#/components/schemas/contactModel'
          type: array
        status:
          type: integer
          description: The HTTP return status.
    response_resultModelArray:
      type: object
      properties:
        result:
          items:
            $ref: '#/components/schemas/resultModel'
          type: array
        status:
          type: integer
          description: The HTTP return status.
    request_contactModel:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/compactAddressModel'
        birthCity:
          type: object
          description: The city of birth for an individual.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        birthDate:
          description: The birth date.
          format: date-time
          type: string
        birthRegion:
          type: object
          description: The country of birth or region of birth for an individual.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        birthState:
          type: object
          description: The state of birth for an individual.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        businessName:
          description: A secondary business name for the applicable individual.
          type: string
        comment:
          description: A comment about the inspection contact.
          type: string
        deceasedDate:
          description: The deceased date.
          format: date-time
          type: string
        driverLicenseNumber:
          description: The driver's license number of the contact. This field is active only when the Contact Type selected is Individual.
          type: string
        driverLicenseState:
          type: object
          description: The state that issued the driver's license.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        email:
          description: The contact's email address.
          type: string
        fax:
          description: The fax number for the contact.
          type: string
        faxCountryCode:
          description: Fax Number Country Code
          type: string
        federalEmployerId:
          description: The Federal Employer Identification Number. It is used to identify a business for tax purposes.
          type: string
        firstName:
          description: The contact's first name.
          type: string
        fullName:
          description: 'The contact''s full name. '
          type: string
        gender:
          type: object
          description: The gender (male or female) of the individual.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        id:
          description: The contact system id assigned by the Civic Platform server.
          type: string
        individualOrOrganization:
          description: The organization to which the contact belongs. This field is only active when the Contact Type selected is Organization.
          type: string
        lastName:
          description: The last name (surname).
          type: string
        middleName:
          description: "The middle name.\t"
          type: string
        organizationName:
          description: The organization to which the contact belongs. This field is only active when the Contact Type selected is Organization.
          type: string
        passportNumber:
          description: The contact's passport number. This field is only active when the Contact Type selected is Individual.
          type: string
        phone1:
          description: The primary telephone number of the contact.
          type: string
        phone1CountryCode:
          description: Phone Number 1 Country Code
          type: string
        phone2:
          description: The secondary telephone number of the contact.
          type: string
        phone2CountryCode:
          description: Phone Number 2 Country Code
          type: string
        phone3:
          description: The tertiary telephone number for the contact.
          type: string
        phone3CountryCode:
          description: Phone Number 3 Country Code
          type: string
        postOfficeBox:
          description: The post office box number.
          type: string
        preferredChannel:
          type: object
          description: The method by which the contact prefers to be notified, by phone for example. See [Get All Contact Preferred Channels](./api-settings.html#operation/v4.get.settings.contacts.preferredChannels).
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        race:
          type: object
          description: The contact's race or ethnicity. See [Get All Contact Races](./api-settings.html#operation/v4.get.settings.contacts.races).
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        relation:
          type: object
          description: The contact's relationship to the application or service request.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        salutation:
          type: object
          description: The salutation to be used when addressing the contact; for example Mr. oar Ms. This field is active only when Contact Type = Individual. See [Get All Contact Salutations](./api-settings.html#operation/v4.get.settings.contacts.salutations).
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        serviceProviderCode:
          description: The unique agency identifier.
          type: string
        socialSecurityNumber:
          description: The individual's social security number. This field is only active when the Contact Type selected is Individual.
          type: string
        stateIdNumber:
          description: The contact's state ID number. This field is only active when the Contact Type selected is Individual.
          type: string
        status:
          type: object
          description: The contact status.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        suffix:
          description: The contact name suffix.
          type: string
        title:
          description: The individual's business title.
          type: string
        tradeName:
          description: The contact's preferred business or trade name. This field is active only when the Contact Type selected is Organization.
          type: string
        type:
          type: object
          description: The contact type. See [Get All Contact Types](./api-settings.html#operation/v4.get.settings.contacts.types).
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              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
    compactAddressModel:
      type: object
      properties:
        addressLine1:
          description: The first line of the address.
          type: string
        addressLine2:
          description: The second line of the address.
          type: string
        addressLine3:
          description: The third line of the address.
          type: string
        city:
          description: The name of the city.
          type: string
        country:
          type: object
          description: The name of the country.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
        postalCode:
          description: The postal ZIP code for the address.
          type: string
        state:
          type: object
          description: The address state.
          properties:
            text:
              description: The localized display value.
              type: string
            value:
              description: The data value.
              type: string
  parameters:
    lang:
      description: Language parameter to support I18N. Default language is en_US.
      in: query
      name: lang
      required: false
      schema:
        type: string
    idContactString:
      description: The ID of the contact to fetch.
      in: path
      name: id
      required: true
      schema:
        type: string
    limit:
      description: Search result size limit.
      in: query
      name: limit
      required: false
      schema:
        type: integer
        format: int64
        enum:
        - range[1,1000]
    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
    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
    authHeaderParam:
      description: Construct oAuth2 authentication token
      in: header
      name: Authorization
      required: true
      schema:
        type: string
x-api-evangelist-provenance:
  generated: '2026-09-06'
  method: searched
  source: https://developer.accela.com/api/v4/v4-contacts-professionals.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.