# Calls

Calls are the core resource for voice interactions. The API supports creating, retrieving, updating, and deleting calls, and accessing call metadata, state, and participants.

A `Call` resource represents a connection between a voice channel and Sinch.

Using this resource, customers can initiate a call, fetch information about a completed call, fetch a list of calls made to and from the [Voice service](/docs/voice/api-reference/voice/services/), and redirect or end a call in progress.

A call always has a `direction`, either *inbound* or *outbound*. The direction of the call dictates when and how the call can be controlled.

An **outbound** call is created when a DIAL command is invoked. Outbound calls can be controlled by supplying [SVAMLv2](/docs/voice/api-reference/svaml) commands when creating the call, via the responses to the call's webhooks, or by sending a `PATCH` request.

An **inbound** call is created when the service receives a call via one of the Sinch voice channels [Phone, In-App, SIP, Streams]. To handle incoming calls, a service webhook must be configured via the [services API](/docs/voice/api-reference/voice/services) or the [dashboard](https://dashboard.sinch.com/voice).

## List calls made with Sinch Voice API

 - [GET /v2/projects/{projectId}/calls](https://developers.sinch.com/docs/voice-2.0/api-reference/voice/calls/listcalls.md): List and filter calls made with Sinch

## Create and initiate a new outbound voice call

 - [POST /v2/projects/{projectId}/calls](https://developers.sinch.com/docs/voice-2.0/api-reference/voice/calls/createcall.md): Create a new outbound call associated to the project's default service or to the service specified in the serviceId query parameter.

## Retrieve call details by call ID

 - [GET /v2/projects/{projectId}/calls/{callId}](https://developers.sinch.com/docs/voice-2.0/api-reference/voice/calls/getcallbyid.md): Retrieve detailed information about a specific call using its unique identifier.

## Patch an ongoing call by call ID

 - [PATCH /v2/projects/{projectId}/calls/{callId}](https://developers.sinch.com/docs/voice-2.0/api-reference/voice/calls/patchcallbyid.md): Interact with an ongoing call by submitting a set of SVAML commands. Use this to force disconnect, play messages, bridge with another call, or perform other call control actions.

## Patch an ongoing call by session ID and call name

 - [PATCH /v2/projects/{projectId}/sessions/{sessionId}/calls/{callName}](https://developers.sinch.com/docs/voice-2.0/api-reference/voice/calls/patchcallbysessionandname.md): Interact with an ongoing call identified by its session and call name by submitting a set of SVAML commands. Use this to force disconnect, play messages, bridge with another call, or perform other call control actions.

