TonicDM Product API (0.0.5)

Main Product API

Download OpenAPI description
Languages
Servers
Mock server

https://developers-internal.tonicdm.com/_mock/tonicdm-product/

Server located in the USA

https://us-api.tonicdm.com/

Server located in Germany

https://de-api.tonicdm.com/

Server located in Ireland

https://ie-api.tonicdm.com/

Organizations

Data on Organizations (includes both staff and contacts, so these do not need to be looked up separately and combined).

Operations

Get Offices

Request

Supply one or more office GUIDs to get the data for specific offices (organization locations).

This endpoint is typically called with the filterOrganizationIds parameter passing a single Organization GUID.

Query
searchQuerystring(JSON)

A JSON-encoded string containing the query options.

Example: searchQuery={"example"}
filterIdsArray of strings(CompactUUID)

Returns data for the specified GUIDs. If this filter is specifed, all other filters will be ignored.

Example: filterIds={id},{id},{id}
filterOrganizationIds. If more than one filter is given, they will be combined with AND.Array of strings(CompactUUID)

Returns data for the specified Organization GUIDs

Example: filterOrganizationIds. If more than one filter is given, they will be combined with AND.={OrganizationId},{OrganizationId},{OrganizationId}
filterStatusesArray of strings(Status)

Provide the values of one or more statuses separated by comma (no spaces). If more than one filter is given, they will be combined with AND. If no value is supplied, active is assumed.

Items Enum"active""inactive""deleted"
Example: filterStatuses=active,inactive
dataQuantitystring

If caching data on the client side, the data_quantity=id_only|basic|complete option can be passed to manage the completeness of the data received and therefore rate limiting.

Default "id_only"
Enum"id_only""basic""complete"
Example: dataQuantity=id_only
pageSizeinteger[ 1 .. 1000 ]

The number of results to return per page

Default 50
Example: pageSize=100
pageNumberinteger

Which page of the results to return

Example: pageNumber=1
sortBystring

The field by which to sort the results

Value"name"
sortDirectionstring

The sort direction for the results

Enum"asc""desc"
curl -i -X GET \
  'https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/offices?dataQuantity=id_only&filterIds={id}%2C{id}%2C{id}&filterOrganizationIds.%20If%20more%20than%20one%20filter%20is%20given%2C%20they%20will%20be%20combined%20with%20AND.={OrganizationId}%2C{OrganizationId}%2C{OrganizationId}&filterStatuses=active%2Cinactive&pageNumber=1&pageSize=100&searchQuery={%22example%22}&sortBy=name&sortDirection=asc' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Successfully read the resource you requested. One or more records are returned in the form of an array.

Bodyapplication/jsonArray [
idstring(CompactUUID)^[0-9a-fA-F]{32}$
Example: "8e8aa42241794371ae9d0ed7b67a8c86"
datetimeCreatedstring(date-time)read-only

The date and time this Office was created.

datetimeUpdatedstring(date-time)read-only

The date and time this Office was last updated.

statusstring(Status)

Whether the item is active or inactive in TonicDM. Potentially the item could be (soft) deleted.

Default "active"
Enum"active""inactive""deleted"
namestring[ 1 .. 64 ] characters

The name given to this Office. It is used in the TonicDM app only (not put onto anything externally facing).

addressstring[ 1 .. 256 ] characters

The address of the office. Use \n for new lines when submitting (they will be returned as <br>).

phoneCountryCodenumber

Numbers only, no spaces or +

phoneNumbernumber

Numbers only, no spaces or formatting

]
Response
application/json
[ { "id": "2122ff9ebbb140e9856934e8e33a8c1f", "organizationId": "da9c62640a894f61b247801a2e300c44", "status": "active", "name": "London", "address": "300 Dufferin Ave<br>London, ON N6B 1Z2", "phone": { … } }, { "id": "306b14664e374877ab19b75685393cf7", "organizationId": "da9c62640a894f61b247801a2e300c44", "status": "inactive", "name": "Fairyville", "phone": { … } } ]

New Office

Request

Add an Office to an Organization.

Bodyapplication/json
statusstring(Status)

Whether the item is active or inactive in TonicDM. Potentially the item could be (soft) deleted.

Default "active"
Enum"active""inactive""deleted"
namestring[ 1 .. 64 ] charactersrequired

The name given to this Office. It is used in the TonicDM app only (not put onto anything externally facing).

addressstring[ 1 .. 256 ] characters

The address of the office. Use \n for new lines when submitting (they will be returned as <br>).

phoneCountryCodenumber

Numbers only, no spaces or +

phoneNumbernumber

Numbers only, no spaces or formatting

curl -i -X POST \
  https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/offices \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "status": "active",
    "name": "string",
    "address": "string",
    "phoneCountryCode": 0,
    "phoneNumber": 0
  }'

Responses

Successfully created the resource you sent

Bodyapplication/json
idstring(CompactUUID)^[0-9a-fA-F]{32}$
Example: "8e8aa42241794371ae9d0ed7b67a8c86"
datetimeCreatedstring(date-time)read-only

The date and time this Office was created.

datetimeUpdatedstring(date-time)read-only

The date and time this Office was last updated.

statusstring(Status)

Whether the item is active or inactive in TonicDM. Potentially the item could be (soft) deleted.

Default "active"
Enum"active""inactive""deleted"
namestring[ 1 .. 64 ] characters

The name given to this Office. It is used in the TonicDM app only (not put onto anything externally facing).

addressstring[ 1 .. 256 ] characters

The address of the office. Use \n for new lines when submitting (they will be returned as <br>).

phoneCountryCodenumber

Numbers only, no spaces or +

phoneNumbernumber

Numbers only, no spaces or formatting

Response
application/json
{ "id": "2122ff9ebbb140e9856934e8e33a8c1f", "organizationId": "da9c62640a894f61b247801a2e300c44", "status": "active", "name": "London", "address": "300 Dufferin Ave<br>London, ON N6B 1Z2", "phone": { "countryCode": 1, "phoneNumber": 5196612489, "extension": 32 } }

Edit Office

Request

Modify the information for an Office.

Bodyapplication/json
idstring(CompactUUID)^[0-9a-fA-F]{32}$required
Example: "8e8aa42241794371ae9d0ed7b67a8c86"
statusstring(Status)

Whether the item is active or inactive in TonicDM. Potentially the item could be (soft) deleted.

Default "active"
Enum"active""inactive""deleted"
namestring[ 1 .. 64 ] characters

The name given to this Office. It is used in the TonicDM app only (not put onto anything externally facing).

addressstring[ 1 .. 256 ] characters

The address of the office. Use \n for new lines when submitting (they will be returned as <br>).

phoneCountryCodenumber

Numbers only, no spaces or +

phoneNumbernumber

Numbers only, no spaces or formatting

curl -i -X PATCH \
  https://developers-internal.tonicdm.com/_mock/tonicdm-product/core/offices \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "8e8aa42241794371ae9d0ed7b67a8c86",
    "status": "active",
    "name": "string",
    "address": "string",
    "phoneCountryCode": 0,
    "phoneNumber": 0
  }'

Responses

Successfully updated the resource you requested.

Bodyapplication/json
idstring(CompactUUID)^[0-9a-fA-F]{32}$
Example: "8e8aa42241794371ae9d0ed7b67a8c86"
datetimeCreatedstring(date-time)read-only

The date and time this Office was created.

datetimeUpdatedstring(date-time)read-only

The date and time this Office was last updated.

statusstring(Status)

Whether the item is active or inactive in TonicDM. Potentially the item could be (soft) deleted.

Default "active"
Enum"active""inactive""deleted"
namestring[ 1 .. 64 ] characters

The name given to this Office. It is used in the TonicDM app only (not put onto anything externally facing).

addressstring[ 1 .. 256 ] characters

The address of the office. Use \n for new lines when submitting (they will be returned as <br>).

phoneCountryCodenumber

Numbers only, no spaces or +

phoneNumbernumber

Numbers only, no spaces or formatting

Response
application/json
{ "id": "2122ff9ebbb140e9856934e8e33a8c1f", "organizationId": "da9c62640a894f61b247801a2e300c44", "status": "active", "name": "London", "address": "300 Dufferin Ave<br>London, ON N6B 1Z2", "phone": { "countryCode": 1, "phoneNumber": 5196612489, "extension": 32 } }

People

Data on People (includes both staff and contacts, so these do not need to be looked up separately and combined).

Operations

Projects

The list of Projects for the customer.

Operations

Teams

The list of People associated with a Project.

Operations

Groups

The list of Groups associated with a Prject.

Operations

Notes

Operations relating to the Notes that can be attached to various items.

Operations

Disciplines

Disciplines are recognized areas of professional expertise.

Operations

Certifications

Certifications recognize areas of professional specialty or project accomplishments.

Operations

Filesets

APIs to the Fileset module for accessing all files attached to objects in TonicDM.

Operations

Manual Uploading

APIs to the Fileset module for uploading files to the TonicDM cloud.

Operations

Cloud File Systems

Managing cloud file systems that TonicDM can connect to.

Operations

Correspondence

Managing Correspondence Data

Operations

File Transfers

APIs to the File Transfers Workflow module.

Operations

RFIs

APIs to the RFIs Workflow module.

Operations

Submittals

APIs to the Submittals Workflow module.

Operations

PCOs

APIs to the PCOs Workflow module.

Operations

COs

APIs to the COs Workflow module.

Operations

Tasks

APIs to the Tasks Workflow module.

Operations