{"_id":"5a81e6f5761cf300127317f9","project":"558d9c32beb7c719007f6319","version":{"_id":"558d9c33beb7c719007f631c","project":"558d9c32beb7c719007f6319","__v":19,"createdAt":"2015-06-26T18:38:43.154Z","releaseDate":"2015-06-26T18:38:43.153Z","categories":["558d9c33beb7c719007f631d","558db0bc7afc102f008ed863","558db0d07afc102f008ed864","558db3c84cd25f0d00b7ecb2","558dbace7afc102f008ed894","558dbd104cd25f0d00b7ecca","558dbd4c4cd25f0d00b7eccb","559d3e858639bd21008e90a6","55bb8ca5a8400c2d00873e70","58fdfb438fbd2819000db9eb","590829c7ade4172d006a87b8","59082a11beedcf0f00235d87","5908bd2cba2afd23007d6d12","5908d1f64f544425002b6aae","591e5e9e2c1b1f0f000fa4e5","5a283434aba91f002834ea86","5a69fe5cde745d002c936c66","5a81e6ef761cf300127317f8","5a81e7d63b1e120012bed5a1"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"category":{"_id":"5a81e6ef761cf300127317f8","project":"558d9c32beb7c719007f6319","version":"558d9c33beb7c719007f631c","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2018-02-12T19:11:43.729Z","from_sync":false,"order":5,"slug":"new-apis","title":"New APIs"},"user":"58cadf93d223510f005d27db","__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-02-12T19:11:49.953Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":999,"body":"DialogTech's newest APIs are designed as a REST API which provide well-formed JSON responses. As the API is accessible via HTTP, any programming language with the ability to make web-service calls can be used to create applications which leverage the various functional and reporting capabilities of DialogTech.\n[block:api-header]\n{\n  \"title\": \"API Security\"\n}\n[/block]\nDialogTech's new APIs expect 2 header values to be passed with each each API call. Each of the keys required can be obtained within your account via DialogTech's [Key Manager](https://support.dialogtech.com/s/article/ka21O000000XSBAQA4/API-Key-Manager-Walkthrough).\n\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"Your Secret Access Key and Rate Limit Key should be protected. They should not be written anywhere they can be accessed by anyone not authorized to use your DialogTech account. If you think your Secret Access Key has been compromised, you can revoke the key directly within the same interface used to generate API Keys.\",\n  \"title\": \"NOTICE\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Request Header\",\n    \"h-1\": \"Required\",\n    \"h-2\": \"Value\",\n    \"0-0\": \"Authorization\",\n    \"0-1\": \"Yes\",\n    \"h-3\": \"Description\",\n    \"0-2\": \"access_key:secret_access_key\",\n    \"0-3\": \"A colon separated pairing of a valid access_key and secret_access_key from the [Key Manager](https://support.dialogtech.com/s/article/ka21O000000XSBAQA4/API-Key-Manager-Walkthrough) within your account.\",\n    \"1-0\": \"x-api-key\",\n    \"1-1\": \"Yes\",\n    \"2-1\": \"No\",\n    \"2-0\": \"Content-Type\",\n    \"2-2\": \"application/json\",\n    \"2-3\": \"Defines the MIME type being communicated between the client and server.\",\n    \"1-2\": \"Rate limit key\",\n    \"1-3\": \"The *Rate Limit Key* which authorizes you against the specific API functionality you're attempting to utilize. *(When engaging with DialogTech for a custom project, you may be provided an updated x-api-key during the engagement)*\\n\\nThis key is available via the [Key Manager](https://support.dialogtech.com/s/article/ka21O000000XSBAQA4/API-Key-Manager-Walkthrough) within your account.\"\n  },\n  \"cols\": 4,\n  \"rows\": 3\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Rate Limits\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Rate Limit Name\",\n    \"h-1\": \"Description\",\n    \"h-2\": \"Limit\",\n    \"0-0\": \"Requests Per Minute\",\n    \"h-3\": \"\",\n    \"0-1\": \"Limits the number of requests per minute you can make to these APIs\",\n    \"0-2\": \"100/min\",\n    \"1-0\": \"Request Date Range\",\n    \"1-1\": \"Suggested max date range for requests to the various APIs\",\n    \"1-2\": \"7 days\",\n    \"2-0\": \"Page Size\",\n    \"2-1\": \"Suggested max page size for requests to the various APIs\",\n    \"2-2\": \"250 records\"\n  },\n  \"cols\": 3,\n  \"rows\": 3\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Pagination\"\n}\n[/block]\nThere are 2 URL Parameters that can be used to leverage pagination within these APIs\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Parameter\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"page\",\n    \"1-0\": \"page_size\",\n    \"0-1\": \"Determines the record set of items returned\",\n    \"1-1\": \"Determines the amount of records returned in 1 request\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"API Response Headers\"\n}\n[/block]\nEach response contains multiple response headers which can be utilized to ensure you've captured all data available over the request range. It is possible not all results appear per-request due to pagination limits.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Response Header\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"X-Pagination-Total-Pages\",\n    \"1-0\": \"X-Pagination-Total-Entries\",\n    \"2-0\": \"X-Pagination-Current-Page\",\n    \"3-0\": \"X-Pagination-Page-Size\",\n    \"4-0\": \"X-Pagination-Current-Entries\",\n    \"3-1\": \"Number of records returned per page\",\n    \"2-1\": \"Current page returned by the request\",\n    \"4-1\": \"The records currently being returned\",\n    \"0-1\": \"The total pages (for the given page size) in the collection\",\n    \"1-1\": \"The total records in the collection\"\n  },\n  \"cols\": 2,\n  \"rows\": 5\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Available APIs\"\n}\n[/block]\n\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"API Name\",\n    \"h-1\": \"Description\",\n    \"0-0\": \"Call Analytics API *(Please contact your account manager)*\",\n    \"0-1\": \"APIs used to report on Call Analytics and transcriptions\",\n    \"1-0\": \"[LeadFlow History Report](doc:leadflow-history-report)\",\n    \"1-1\": \"APIs used to report on LeadFlow call performance\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]","excerpt":"Overview for DialogTech's APIs","slug":"ag-api-overview","type":"basic","title":"API Overview"}

API Overview

Overview for DialogTech's APIs

DialogTech's newest APIs are designed as a REST API which provide well-formed JSON responses. As the API is accessible via HTTP, any programming language with the ability to make web-service calls can be used to create applications which leverage the various functional and reporting capabilities of DialogTech.

API Security

DialogTech's new APIs expect 2 header values to be passed with each each API call. Each of the keys required can be obtained within your account via DialogTech's Key Manager.

NOTICE

Your Secret Access Key and Rate Limit Key should be protected. They should not be written anywhere they can be accessed by anyone not authorized to use your DialogTech account. If you think your Secret Access Key has been compromised, you can revoke the key directly within the same interface used to generate API Keys.

Request Header
Required
Value
Description

Authorization

Yes

access_key:secret_access_key

A colon separated pairing of a valid access_key and secret_access_key from the Key Manager within your account.

x-api-key

Yes

Rate limit key

The Rate Limit Key which authorizes you against the specific API functionality you're attempting to utilize. (When engaging with DialogTech for a custom project, you may be provided an updated x-api-key during the engagement)

This key is available via the Key Manager within your account.

Content-Type

No

application/json

Defines the MIME type being communicated between the client and server.

Rate Limits

Rate Limit Name
Description
Limit

Requests Per Minute

Limits the number of requests per minute you can make to these APIs

100/min

Request Date Range

Suggested max date range for requests to the various APIs

7 days

Page Size

Suggested max page size for requests to the various APIs

250 records

Pagination

There are 2 URL Parameters that can be used to leverage pagination within these APIs

Parameter
Description

page

Determines the record set of items returned

page_size

Determines the amount of records returned in 1 request

API Response Headers

Each response contains multiple response headers which can be utilized to ensure you've captured all data available over the request range. It is possible not all results appear per-request due to pagination limits.

Response Header
Description

X-Pagination-Total-Pages

The total pages (for the given page size) in the collection

X-Pagination-Total-Entries

The total records in the collection

X-Pagination-Current-Page

Current page returned by the request

X-Pagination-Page-Size

Number of records returned per page

X-Pagination-Current-Entries

The records currently being returned

Available APIs

API Name
Description

Call Analytics API (Please contact your account manager)

APIs used to report on Call Analytics and transcriptions

APIs used to report on LeadFlow call performance