Voxbi Cockpit APIs
All endpoints

Get a Call flow step

Returns the call flow step identified by the path parameter. Multi-tenant scoping is enforced: the caller can only fetch resources within their own PBX.

No authentication required
id path · string · uuid *
accept header · string
example: application/json

Responses

Response schema
oneOf
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it rings one or more cockpit users, SIP devices, or groups.
enum: ring_user
example: ring_user
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Settings describing which targets to ring and for how long.
duration*integer · int32
Ring duration in seconds before moving to the next step.
≥ 1
example: 20
also_ring_dialed_extensionboolean
When true, also rings the extension that was originally dialed.
example:
also_ring_everyone_in_the_user_groupboolean
When true, also rings every member of the dialed user's group.
example:
dial_mobile_twinningsboolean
When true, also rings the mobile twinning numbers configured for the targets.
example:
missed_callsboolean
When true, an unanswered call on this step counts as a missed call for the targets. Defaults to true.
example: 1
music_on_holdstring | null · uuid
Identifier of the music-on-hold playlist played while ringing.
example: 550e8400-e29b-41d4-a716-446655440010
usersarray<string>
Identifiers of the users to ring.
[]string · uuid
sip_devicesarray<string>
Identifiers of the SIP devices to ring.
[]string · uuid
groupsarray<string>
Identifiers of the user groups to ring.
[]string · uuid
tagsarray<string>
Identifiers of tags whose tagged users should be rung.
[]string · uuid
locationsarray<string>
Identifiers of locations whose users should be rung.
[]string · uuid
languagesarray<string>
Identifiers of languages used to select which users to ring.
[]string · uuid
poolsarray<string>
Identifiers of pools whose users should be rung.
[]string · uuid
statusesarray<string>
Identifiers of Tempus statuses used to filter which users are rung.
[]string · uuid
pickup_linesarray<string>
Identifiers of users whose calls may be picked up by this step.
[]string · uuid
sub_statusesobject | null
Map keyed by Tempus status UUID. Each value is the list of Tempus sub-status UUIDs selected under that status.
example: {"550e8400-e29b-41d4-a716-446655440018":["550e8400-e29b-41d4-a716-446655440020"]}
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it dials out to an external PSTN number.
enum: ring_external_number
example: ring_external_number
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 1
options*object
Settings describing the external number to dial.
durationinteger · int32
Ring duration in seconds before moving to the next step.
≥ 1
example: 30
numberstring | null
External destination number in E.164 format.
example: +12125550100
music_on_holdstring | null · uuid
Identifier of the music-on-hold playlist played while ringing.
example: 550e8400-e29b-41d4-a716-446655440010
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it routes the call to another call flow or extension.
enum: call_flow
example: call_flow
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 2
options*object
Settings describing the destination and optional schedule.
call_flow_or_extension*string
Selects whether the call is routed to an extension or another call flow.
enum: extension call_flow
example: call_flow
extensionstring | null · uuid
Identifier of the destination extension (used when routing to an extension).
example: 550e8400-e29b-41d4-a716-446655440030
call_flowstring | null · uuid
Identifier of the destination call flow (used when routing to a call flow).
example: 550e8400-e29b-41d4-a716-446655440031
schedulestring | null · uuid
Identifier of a schedule that gates when this routing applies.
example: 550e8400-e29b-41d4-a716-446655440032
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it hands the call off to an IVR menu.
enum: go_to_ivr
example: go_to_ivr
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Settings identifying which IVR to enter.
ivrstring | null · uuid
Identifier of the IVR menu to enter.
example: 550e8400-e29b-41d4-a716-446655440040
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it parks the caller in a queue.
enum: enter_queue
example: enter_queue
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 1
options*object
Settings identifying the queue and how long to wait.
durationinteger · int32
Maximum time in seconds to keep the caller queued before moving on.
≥ 1
example: 60
queuestring | null · uuid
Identifier of the queue to enter.
example: 550e8400-e29b-41d4-a716-446655440050
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it plays an announcement (sound file or synthesized speech).
enum: text_to_speech
example: text_to_speech
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Settings describing the announcement source.
announcement_type*string
Selects the announcement source (a stored sound file, a TTS tag, or a free-text TTS message).
enum: sound_file tts_tag tts_message
example: tts_message
sound_filestring | null · uuid
Identifier of the announcement sound file to play (used when announcement_type is sound_file).
example: 550e8400-e29b-41d4-a716-446655440060
languagestring | null
Announcement language override. `null` (Auto) plays the variant for the language detected/inherited earlier in the call; otherwise an ISO-639-1 code forces that variant.
enum: en de fr lb es it pt nl pl ru tr sv da no fi cs sk el hu ro bg hr uk ar he hi ja ko zh id ms th vi null
example: fr
tts_tagstring | null
Predefined TTS tag identifying a templated message (used when announcement_type is tts_tag).
example: greeting_morning
tts_messagestring | null
Free-text message to synthesize and play (used when announcement_type is tts_message).
example: Welcome to Customer Support.
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it overrides the ringtone and the caller display label.
enum: change_ringtone_and_label
example: change_ringtone_and_label
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Settings overriding ringtone, label, and music on hold.
ringtonestring | null
Ringtone key to apply on the receiving device.
enum: alert-ring1 alert-ring2 alert-ring3 alert-ring4 alert-ring5 null
example: alert-ring1
labelstring | null
Display label shown to the called party for the incoming call.
example: VIP
music_on_holdstring | null · uuid
Identifier of the music-on-hold playlist to apply.
example: 550e8400-e29b-41d4-a716-446655440010
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it fires an outbound HTTP request mid-flow.
enum: webhook
example: webhook
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 2
options*object
Settings describing the HTTP endpoint to call.
urlstring | null · uri
HTTP(S) endpoint invoked when the step runs.
example: https://cockpit.voxbi.com/hooks/call
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it emails a recording/voicemail to recipients.
enum: send_to_email
example: send_to_email
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 3
options*object
Settings describing the recording to attach and the recipients.
sound_filestring | null · uuid
Identifier of the sound file (recording) to attach to the email.
example: 550e8400-e29b-41d4-a716-446655440060
languagestring | null
Announcement language override; `null` (Auto) keeps the detected/inherited language.
enum: en de fr lb es it pt nl pl ru tr sv da no fi cs sk el hu ro bg hr uk ar he hi ja ko zh id ms th vi null
example: fr
emailstring | null · email
Explicit recipient email address.
example: support@example.com
email_userarray<string>
Identifiers of users whose email addresses should receive the message.
[]string · uuid
email_to_called_userboolean
When true, also emails the user who was originally called.
example:
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it drops the caller into a conference room.
enum: conference_room
example: conference_room
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Settings identifying the conference room extension.
extensionstring | null · uuid
Identifier of the extension hosting the conference room.
example: 550e8400-e29b-41d4-a716-446655440030
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it plays a sound and waits for IVR-style key input.
enum: ivr_extension
example: ivr_extension
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Settings identifying the sound file to play.
sound_filestring | null · uuid
Identifier of the sound file to play before collecting input.
example: 550e8400-e29b-41d4-a716-446655440060
languagestring | null
Announcement language override; `null` (Auto) keeps the detected/inherited language.
enum: en de fr lb es it pt nl pl ru tr sv da no fi cs sk el hu ro bg hr uk ar he hi ja ko zh id ms th vi null
example: fr
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it pages a multicast (intercom) group.
enum: multicast
example: multicast
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Settings identifying the multicast group and access PIN.
multicast_groupstring | null
Name or identifier of the multicast paging group.
example: paging-floor-1
multicast_pinstring | null
PIN required to join the multicast group.
example: 1234
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it hands the call off to a Smart IVR / AI agent.
enum: ai_assistant
example: ai_assistant
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Settings identifying the AI provider and agent.
ai_providerstring
AI provider backing the assistant.
enum: famulor
example: famulor
famulor_agentstring | null · uuid
Identifier of the Famulor agent that handles the call.
example: 550e8400-e29b-41d4-a716-446655440070
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it terminates the call. This step has no configurable options.
enum: hang_up
example: hang_up
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 4
options*object
Empty options object (this step type has no settings).
Free-form object
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it begins call recording. This step has no configurable options.
enum: start_recording
example: start_recording
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Empty options object (this step type has no settings).
Free-form object
id*string · uuid
Unique identifier of the call flow step
read-only
example: 550e8400-e29b-41d4-a716-446655440000
pbx_id*string · uuid
Identifier of the PBX (tenant) this step belongs to
example: 550e8400-e29b-41d4-a716-446655440001
call_flow_id*string · uuid
Identifier of the parent call flow that owns this step
example: 550e8400-e29b-41d4-a716-446655440002
type*string
Step type. For this variant it explicitly answers the call. This step has no configurable options.
enum: answer
example: answer
is_active*boolean
Whether the step is enabled. Disabled steps are skipped during call routing.
example: 1
order*integer · int32
Zero-based position of the step within its call flow. Steps run in ascending order.
≥ 0
example: 0
options*object
Empty options object (this step type has no settings).
Free-form object
Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example: Authorization Token is missing
Data Not Found. This error is returned when the requested data is not found.
Response schema
messagearray<string>
[]string
Server error. An unexpected condition was encountered on the server and the request could not be completed. The body is a generic JSON envelope with a `message` field. The response is logged on the server side; quote the request URL + timestamp when reporting an issue.
Response schema
messagestring
exceptionstring
Only present in non-production environments.
filestring
Only present in non-production environments.
lineinteger
Only present in non-production environments.
get https://cockpit.voxbi.com/api/v1/call-flow-steps/{id}
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/call-flow-steps/{id}'
const response = await fetch('https://cockpit.voxbi.com/api/v1/call-flow-steps/{id}', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
  },
});

const data = await response.json();
console.log(data);
import requests

response = requests.get('https://cockpit.voxbi.com/api/v1/call-flow-steps/{id}')
response.raise_for_status()
data = response.json()
print(data)
<?php
$context = stream_context_create([
    'http' => [
        'method'  => 'GET',
        'header'  => "Content-Type: application/json",
    ],
]);

$response = file_get_contents('https://cockpit.voxbi.com/api/v1/call-flow-steps/{id}', false, $context);
$data = json_decode($response, true);
print_r($data);
{}
"id": "550e8400-e29b-41d4-a716-446655440000",
"pbx_id": "550e8400-e29b-41d4-a716-446655440001",
"call_flow_id": "550e8400-e29b-41d4-a716-446655440002",
"type": "ring_user",
"options": {}
"duration": 20,
"also_ring_dialed_extension": false,
"also_ring_everyone_in_the_user_group": false,
"dial_mobile_twinnings": false,
"missed_calls": true,
"music_on_hold": "550e8400-e29b-41d4-a716-446655440000",
"users": [],
"550e8400-e29b-41d4-a716-446655440000"
],
"sip_devices": [],
"550e8400-e29b-41d4-a716-446655440000"
],
"groups": [],
"550e8400-e29b-41d4-a716-446655440000"
],
"tags": [],
"550e8400-e29b-41d4-a716-446655440000"
],
"locations": [],
"550e8400-e29b-41d4-a716-446655440000"
],
"languages": [],
"550e8400-e29b-41d4-a716-446655440000"
],
"pools": [],
"550e8400-e29b-41d4-a716-446655440000"
],
"statuses": [],
"550e8400-e29b-41d4-a716-446655440000"
],
"pickup_lines": []
"550e8400-e29b-41d4-a716-446655440000"
]
}
}
Host string
example: cockpit.voxbi.com
Date string
example: Mon, 16 Oct 2023 14:08:48 GMT
Connection string
example: close
Cache-Control string
example: no-cache, private
Content-Type string
example: application/json
X-RateLimit-Limit integer
example: 60
X-RateLimit-Remaining integer
example: 59
Vary string
example: Origin
{}
"error": "Authorization Token is missing"
}
Cache-Control string
example: private, must-revalidate
Connection string
example: keep-alive
Content-Type string
example: application/json
Vary string
example: Origin
X-RateLimit-Limit integer
Max requests allowed in the current rate-limit window.
example: 60
X-RateLimit-Remaining integer
Requests remaining in the current rate-limit window.
example: 57
{}
"message": []
"Data not found"
]
}
Cache-Control string
example: private, must-revalidate
Connection string
example: keep-alive
Content-Type string
example: application/json
Vary string
example: Origin
X-RateLimit-Limit integer
Max requests allowed in the current rate-limit window.
example: 60
X-RateLimit-Remaining integer
Requests remaining in the current rate-limit window.
example: 57
{}
"message": "Server Error"
}