> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # hold > Put a call on hold. [unhold]: /docs/server-sdks/reference/typescript/relay/call/unhold [calling-call-hold]: /docs/server-sdks/reference/typescript/relay/call#events [call-events]: /docs/server-sdks/reference/typescript/relay/call#events Put the call on hold. The remote party hears hold music or silence while the call is held. > **Info** > > Use [`unhold()`][unhold] to release the call from hold. > **Info** > > This method emits [`calling.call.hold`][calling-call-hold] events. See [Call Events][call-events] for payload details. ## **Parameters** None. ## **Returns** `Promise>` -- Server response confirming the hold operation. ## **Example** ```typescript {13} import { RelayClient } from '@signalwire/sdk'; const client = new RelayClient({ project: process.env.SIGNALWIRE_PROJECT_ID!, token: process.env.SIGNALWIRE_API_TOKEN!, contexts: ['default'] }); client.onCall(async (call) => { await call.answer(); await call.play([{ type: 'tts', text: 'Please hold while I look that up.' }]); const result = await call.hold(); console.log(`Hold started: ${JSON.stringify(result)}`); // Do some processing... await new Promise((resolve) => setTimeout(resolve, 5000)); // Take the call off hold await call.unhold(); }); await client.run(); ``` > Put a call on hold.