Add voice call management endpoints and enhance logging for HTTP requests

This commit is contained in:
Jeppe Bundgaard
2026-02-27 01:29:32 +01:00
parent a0727cd14e
commit 32f017778f
6 changed files with 474 additions and 13 deletions
+109
View File
@@ -228,6 +228,75 @@ paths:
type: object
additionalProperties: true
/bird/voice/calls/test-outbound:
post:
tags:
- Bird
summary: Place a test outbound call and hang up when accepted
operationId: birdTestOutboundVoiceCall
description: Calls +45 42 33 11 28 and hangs up when the call reaches accepted/ongoing state.
parameters:
- in: query
name: workspaceId
schema:
type: string
required: true
description: Bird Workspace identifier
- in: query
name: channelId
schema:
type: string
required: true
description: Bird Channel identifier
requestBody:
required: false
content:
application/json:
schema:
type: object
additionalProperties: true
properties:
from:
type: string
description: Caller E.164 number to use for the test call
example: "+4599988877"
pollIntervalSeconds:
type: integer
minimum: 1
description: Poll interval while waiting for accepted status
example: 2
maxPollSeconds:
type: integer
minimum: 5
description: Max time to wait before timing out
example: 30
hangupCause:
type: string
description: Optional hangup cause passed through to Bird
responses:
'200':
description: Test call created and either hung up or timed out
content:
application/json:
schema:
type: object
additionalProperties: true
properties:
call_id:
type: string
nullable: true
hangup_sent:
type: boolean
final_status:
type: string
nullable: true
to:
type: string
example: "+45 42 33 11 28"
to_e164:
type: string
example: "+4542331128"
# Bird Numbers
/bird/numbers:
get:
@@ -255,6 +324,46 @@ paths:
type: object
additionalProperties: true
/bird/numbers/{id}:
get:
tags:
- Bird
summary: Get a number by ID
operationId: birdGetNumber
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
description: Number details
content:
application/json:
schema:
type: object
additionalProperties: true
delete:
tags:
- Bird
summary: Delete/release a number by ID
operationId: birdDeleteNumber
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
description: Number deletion/release accepted
content:
application/json:
schema:
type: object
additionalProperties: true
# Bird Voice Flash Calling
/bird/voice/flash-calls:
post: