AMPLIKA Telephony CoreDeveloper platform

Public API · v1.0.0

Put secure calling inside any digital product.

One international, tenant-isolated API for browser phones, server-side calls and signed events. Your application keeps its own user experience; Telephony Core carries the telephony.

  • OIDC identity
  • Short-lived sessions
  • E.164 worldwide
  • Signed webhooks

One boundary, three integration modes

Use only the surface your product needs.

01

Browser phone

Place and receive WebRTC calls with short-lived, user-bound sessions and deployment-provided ICE configuration.

View SDK surface →
02

Server-side calls

Request calls through a durable, idempotent API and follow normalized state without knowing the media topology.

View call operations →
03

Events and automation

Receive signed webhooks for call lifecycle events and connect telephony to your own workflows.

View webhook operations →

Live contract

Public API operations

Loading OpenAPI…

Authenticated example

Make a real API call.

Answer your phone to hear a short demonstration in Polish. The call ends automatically within 60 seconds and is not recorded. Use a number you are authorized to call.

Authentication required

The access token stays only in this page's memory and disappears when the page is refreshed.

Sign in to enable the call command.

Generated server integration kit

Tenant-bound API client

Each customer application receives its own confidential OIDC identity and a client generated from the live OpenAPI contract. The kit owns short-lived tokens, correlation and idempotency without exposing SIP infrastructure.

createCallV1getCallV1signed webhookstenant lockedsecret rotation
Node.js
import crypto from "node:crypto";
import { TelephonyCoreClient } from "./telephony-core-client.mjs";

const telephony = TelephonyCoreClient.fromCredentialFile(
  "/run/secrets/telephony-core-application.json"
);

const callRef = crypto.randomUUID();
const idempotencyKey = "crm-order-7842";
await telephony.createCallV1({
  idempotencyKey,
  body: {
    callRef,
    to: "+48221234567",
    from: "+48221522036",
    applicationRef: "customer-crm",
    recording: "required"
  }
});
Preview browser phone →

Explore the phone interface. Preview mode does not place calls.

Framework-neutral browser package

@telephony-core/browser-phone

The SDK uses the access token already obtained by your host product. It resolves the authenticated user's phone identity and never accepts a static SIP password.

connectcallanswerhangupmutedisconnect
JavaScript
import { TelephonyCorePhone } from "@telephony-core/browser-phone";

const phone = new TelephonyCorePhone({
  apiBaseUrl: "https://api.telephony.amplika.pl/",
  tenantId: currentTenantId,
  accessToken: () => identity.getAccessToken(),
  onStateChange: renderPhoneState
});

await phone.connect();
await phone.call("+48221234567");