Global API (0.0.5)

APIs for the Global service of TonicDM

Download OpenAPI description
Languages
Servers
Mock server

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

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/

Tenant Configuration

Defining customer and non-customer organizations for TonicDM internal purposes.

Operations

Get Global Tenants

Request

Returns a list of all Tenants. Most often this will be used to look up an Tenant by its domain to determine what its home zone is. Then that zone will be queried for further information.

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}
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
filterIndustryRolesArray of strings

provide the keywords of one or more Industry Roles separated by comma (no spaces). If more than one filter is given, they will be combined with AND.

Example: filterIndustryRoles=generalcontractor,primeconsultant
filterCustomerTypesArray of strings(CustomerType)

provide the keywords of one or more Customer Types separated by comma (no spaces). If more than one filter is given, they will be combined with AND.

Items Enum"none""former""pilot""unpaid""paid"
Example: filterCustomerTypes=unpaid,paid
filterDisciplineIdsArray of strings(CompactUUID)

provide the GUIDs of one or more disciplines separated by comma (no spaces). If more than one filter is given, they will be combined with AND.

Example: filterDisciplineIds={id},{id},{id}
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

Enum"domain""nameLong""nameShort"
sortDirectionstring

The sort direction for the results

Enum"asc""desc"
curl -i -X GET \
  'https://developers-internal.tonicdm.com/_mock/global/global/global/tenants?dataQuantity=id_only&filterCustomerTypes=unpaid%2Cpaid&filterDisciplineIds={id}%2C{id}%2C{id}&filterIds={id}%2C{id}%2C{id}&filterIndustryRoles=generalcontractor%2Cprimeconsultant&filterStatuses=active%2Cinactive&pageNumber=1&pageSize=100&searchQuery={%22example%22}&sortBy=domain&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 Tenant was created.

datetimeUpdatedstring(date-time)read-only

The date and time this Tenant was last updated.

domainsArray of objects(RoutingDomain)non-emptyread-only

One or more domains that belong to this Tenant. This is similar to, but not the same as Brands. Users logging in are assigned an Org based on their email domain. This section is read-only. Domains are assigned to an Org and edited using the RoutingDomain endpoints.

pipedriveIdstring
intercomIdstring
uniqueCodestring^o\d{3}-\d{3}-\d{3}$read-only

A code used to identify the Tenant, mainly used as the email address prefix when emailing data into the system.

customerTypestring(CustomerType)

Customer lifecycle. Controls the UI offered to users in this Tenant.

Default "none"
Enum"none""former""pilot""unpaid""paid"
homeZoneIdstring
]
Response
application/json
[ { "id": "da9c62640a894f61b247801a2e300c44", "domains": [], "pipedriveId": "X", "intercomId": "X", "customerType": "paid", "homeZoneId": "aws-us" }, { "id": "5a40f72e966b4428a0af1375e4833849", "domains": [], "pipedriveId": "X", "intercomId": "X", "customerType": "paid", "homeZoneId": "aws-us" } ]

New Global Tenant

Request

Creates a new Tenant in the global (TonicDM controlled) directory.

Bodyapplication/json
pipedriveIdstring
intercomIdstring
customerTypestring(CustomerType)

Customer lifecycle. Controls the UI offered to users in this Tenant.

Default "none"
Enum"none""former""pilot""unpaid""paid"
homeZoneIdstring
curl -i -X POST \
  https://developers-internal.tonicdm.com/_mock/global/global/global/tenants \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "pipedriveId": "string",
    "intercomId": "string",
    "customerType": "none",
    "homeZoneId": "string"
  }'

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 Tenant was created.

datetimeUpdatedstring(date-time)read-only

The date and time this Tenant was last updated.

domainsArray of objects(RoutingDomain)non-emptyread-only

One or more domains that belong to this Tenant. This is similar to, but not the same as Brands. Users logging in are assigned an Org based on their email domain. This section is read-only. Domains are assigned to an Org and edited using the RoutingDomain endpoints.

pipedriveIdstring
intercomIdstring
uniqueCodestring^o\d{3}-\d{3}-\d{3}$read-only

A code used to identify the Tenant, mainly used as the email address prefix when emailing data into the system.

customerTypestring(CustomerType)

Customer lifecycle. Controls the UI offered to users in this Tenant.

Default "none"
Enum"none""former""pilot""unpaid""paid"
homeZoneIdstring
Response
application/json
{ "id": "8e8aa42241794371ae9d0ed7b67a8c86", "datetimeCreated": "2019-08-24T14:15:22Z", "datetimeUpdated": "2019-08-24T14:15:22Z", "domains": [ {} ], "pipedriveId": "string", "intercomId": "string", "uniqueCode": "string", "customerType": "none", "homeZoneId": "string" }

Edit Global Tenant

Request

Edit an org in the global (TonicDM controlled) directory.

Bodyapplication/json
idstring(CompactUUID)^[0-9a-fA-F]{32}$
Example: "8e8aa42241794371ae9d0ed7b67a8c86"
pipedriveIdstring
intercomIdstring
customerTypestring(CustomerType)

Customer lifecycle. Controls the UI offered to users in this Tenant.

Default "none"
Enum"none""former""pilot""unpaid""paid"
homeZoneIdstring
curl -i -X PATCH \
  https://developers-internal.tonicdm.com/_mock/global/global/global/tenants \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "id": "8e8aa42241794371ae9d0ed7b67a8c86",
    "pipedriveId": "string",
    "intercomId": "string",
    "customerType": "none",
    "homeZoneId": "string"
  }'

Responses

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

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

The date and time this Tenant was created.

datetimeUpdatedstring(date-time)read-only

The date and time this Tenant was last updated.

domainsArray of objects(RoutingDomain)non-emptyread-only

One or more domains that belong to this Tenant. This is similar to, but not the same as Brands. Users logging in are assigned an Org based on their email domain. This section is read-only. Domains are assigned to an Org and edited using the RoutingDomain endpoints.

pipedriveIdstring
intercomIdstring
uniqueCodestring^o\d{3}-\d{3}-\d{3}$read-only

A code used to identify the Tenant, mainly used as the email address prefix when emailing data into the system.

customerTypestring(CustomerType)

Customer lifecycle. Controls the UI offered to users in this Tenant.

Default "none"
Enum"none""former""pilot""unpaid""paid"
homeZoneIdstring
Response
application/json
{ "id": "8e8aa42241794371ae9d0ed7b67a8c86", "datetimeCreated": "2019-08-24T14:15:22Z", "datetimeUpdated": "2019-08-24T14:15:22Z", "domains": [ {} ], "pipedriveId": "string", "intercomId": "string", "uniqueCode": "string", "customerType": "none", "homeZoneId": "string" }

Data Hosting Zone Configuration

Information the TonicDM system needs to function in a multi-zone environment.

Operations

Global Disciplines

Disciplines defined centrally that are pushed out to all Zones.

Operations