Skip to main content

Native Focus REST API

Overview​

The Native Focus REST API is the primary programmatic interface to your Focus tenant. It exposes the same data the Focus portal uses — communications (recordings, calls, SMS, Teams interactions), people, endpoints, users, retention groups, comments and tags — through a JSON HTTP interface protected by a short‑lived bearer token.

This API is intended for back‑office, server‑to‑server integrations such as:

  • Indexing recording metadata into a downstream warehouse, eDiscovery or surveillance platform.
  • Pulling audio, video or transcripts on demand for QA and compliance review.
  • Reconciling people, endpoints and retention assignments against an upstream system of record.
  • Driving custom reporting or dashboards over your communications data.
Read‑only documentation

The endpoints described in this section are deliberately limited to read / search operations that are safe to integrate against without risk of changing portal data. Write, update and delete endpoints exist on the API but are reserved for first‑party Focus tooling and are not documented publicly. If you have a use case that needs a write operation, please contact support.


Before you start​

  1. Enable the API on your account from Admin → Account → Integrations. A Super User must turn the API on and generate an API key.
  2. Note your clientId — this is your Focus account identifier. It is shown alongside the API key in the admin section.
  3. Use the integration username supplied with your API key — when the API is enabled, Focus automatically provisions a dedicated service user and shows its username next to the key. Calls authenticate as that user and inherit its roles and rights. You don't choose your own username.
  4. Pick the right base URL for your region — see Base URLs.

What's in this section​

PageUse it for
Getting StartedQuickstart with curl: prereqs, base URLs, authentication, end‑to‑end "find a call and download the audio" walkthrough, pagination, errors and rate limits.
Endpoint ReferencePer‑endpoint reference grouped by resource (Auth, Recordings, People & Endpoints, Users, Retention Groups, Comments, Audit) with request shapes and example responses.

Capability matrix​

The table below summarises the read capabilities exposed by this documentation. Roles and rights are enforced server‑side; if your service user lacks the required right the call returns 403.

CapabilityEndpointsRequired right (typical)
Authenticate with API keyPOST /authWithApiKey—
Search & filter recordingsPOST /client/recording.searchRecording.View
Retrieve recording detailPOST /client/recording.detail.getRecording.View
Retrieve transcriptionPOST /client/recording.transcription.getRecording.Transcription.View
Retrieve SMS message bodyPOST /client/recording.sms-message.getRecording.View
Stream / download audioPOST /client/recording.playBackByThirdPartyIdRecording.Play
Read recording access auditPOST /client/recording/auditRecording.Audit.View
Search peoplePOST /client/people.search, POST /client/people.searchByNamePeople.View
Get people by idPOST /client/people.getPeople.View
Search endpointsPOST /client/people/endpoint/searchEndpoints.View
Get endpoints by valuePOST /client/people/endpoint/getPeople.View
Search usersPOST /client/user/searchUsers.View
List retention groupsGET /admin/retentionGroupRetentionGroup.View
Get comments on a recordingGET /client/recording/commentRecording.Comment.View

Conventions used in this documentation​

  • All examples use {{baseUrl}} as a placeholder for your tenant's API host. Substitute the value supplied by your account manager.
  • All authenticated requests require an Authorization: Bearer <token> header. Tokens come from POST /authWithApiKey (see Getting Started).
  • All request and response bodies are application/json unless explicitly noted (audio download returns a binary stream).
  • Identifiers come in two flavours: the internal interactionId / recordingId (numeric, stable within Focus) and the thirdPartyId (string, supplied by the source platform — e.g. a Teams call id). Most search results expose both; audio download is keyed on thirdPartyId.

  • Cursor Synchronisation — pull‑model alternative for bulk metadata sync.
  • Push API — event-driven transcript completion notifications for low-volume customers.
  • SFTP — legacy bulk audio/metadata delivery.
  • SMS & Email — outbound notification integration.
  • NICE — packaged export to NICE platforms.
Docs AssistantAsk anything about our products