export type StreemApiRoomParticipant = {room_sid?: string | undefined, user_sid?: string | undefined, status?: ('STATUS_PENDING' | 'STATUS_ACTIVE' | 'STATUS_LEFT' | 'STATUS_NEVER_ARRIVED' | 'STATUS_RECONNECTING' | 'STATUS_CONNECTED' | 'STATUS_INVALID') | undefined, is_expert?: boolean | undefined}; export type StreemApiRoomDetail = {label?: string | undefined, value?: string | undefined}; export type StreemApiRoomInvitation = {sid?: string | undefined, room_sid?: string | undefined, status?: ('STATUS_PENDING' | 'STATUS_ACCEPTED' | 'STATUS_REJECTED' | 'STATUS_CANCELED' | 'STATUS_TIMED_OUT' | 'STATUS_INVALID') | undefined, from_user_sid?: string | undefined, from_device_sid?: string | undefined, to_user_sid?: string | undefined, to_device_sid?: string | undefined, pending_at?: string | undefined, accepted_at?: string | undefined, rejected_at?: string | undefined, timed_out_at?: string | undefined, canceled_at?: string | undefined}; export type GoogleProtobufDuration = {seconds?: number | undefined, nanos?: number | undefined}; export type StreemApiCallDetailItem = {sid?: string | undefined, description?: string | undefined, manufacturer?: string | undefined, brand?: string | undefined, model_number?: string | undefined, symptoms?: Array | undefined, trade_description?: string | undefined}; export type StreemApiCallDetailCustomer = {name?: string | undefined, plan_type?: string | undefined, contract_number?: string | undefined, calls_available?: number | undefined, address?: string | undefined, hvac_eligible?: boolean | undefined}; export type StreemApiCallDetail = {sid?: string | undefined, call_source_sid?: string | undefined, items?: Array | undefined, customer?: StreemApiCallDetailCustomer | undefined, call_source_code?: string | undefined, transferred?: boolean | undefined, requeued?: boolean | undefined, transfer_to_group_name?: string | undefined}; export type StreemApiGroupHours = {day?: ('DAYS_OF_WEEK_SUNDAY' | 'DAYS_OF_WEEK_MONDAY' | 'DAYS_OF_WEEK_TUESDAY' | 'DAYS_OF_WEEK_WEDNESDAY' | 'DAYS_OF_WEEK_THURSDAY' | 'DAYS_OF_WEEK_FRIDAY' | 'DAYS_OF_WEEK_SATURDAY' | 'DAYS_OF_WEEK_INVALID') | undefined, start_time_utc?: string | undefined, end_time_utc?: string | undefined, time_zone_id?: string | undefined}; export type StreemApiGroup = {name?: string | undefined, description?: string | undefined, sid?: string | undefined, image_url?: string | undefined, working_hours_by_day?: Array | undefined}; export type StreemApiRoom = {sid?: string | undefined, created_by_user_sid?: string | undefined, created_at?: string | undefined, opened_at?: string | undefined, preferred_video_codec?: ('VIDEO_CODEC_H264' | 'VIDEO_CODEC_VP8' | 'VIDEO_CODEC_VP9' | 'VIDEO_CODEC_INVALID') | undefined, status?: ('STATUS_OPEN' | 'STATUS_CLOSED' | 'STATUS_INVALID') | undefined, closed_at?: string | undefined, twilio_room_sid?: string | undefined, reference_id?: string | undefined, participants?: Array | undefined, company_sid?: string | undefined, video_platform?: ('VIDEO_PLATFORM_TWILIO' | 'VIDEO_PLATFORM_ARAAS' | 'VIDEO_PLATFORM_CHIME' | 'VIDEO_PLATFORM_INVALID') | undefined, deleted?: boolean | undefined, deleted_at?: string | undefined, encrypted_wall_items?: boolean | undefined, wall_platform?: ('WALL_PLATFORM_TWILIO' | 'WALL_PLATFORM_STREEM' | 'WALL_PLATFORM_INVALID') | undefined, integration_id?: string | undefined, details?: Array | undefined, reservation_sid?: string | undefined, room_invitations?: Array | undefined, chime_room_sid?: string | undefined, recording_started_at?: string | undefined, call_duration?: GoogleProtobufDuration | undefined, call_detail?: StreemApiCallDetail | undefined, reservation_group?: StreemApiGroup | undefined}; export type StreemApiEventsRoomCreated = {room?: StreemApiRoom | undefined}; export type StreemApiEventsRoomUpdated = {previous_room?: StreemApiRoom | undefined, updated_room?: StreemApiRoom | undefined}; export type StreemApiEventsRoomArchived = {room?: StreemApiRoom | undefined, archived_at?: string | undefined, archive_s3_folder_path?: string | undefined, recording_artifact_id?: string | undefined}; export type StreemApiUser = {sid?: string | undefined, company_sid?: string | undefined, external_user_id?: string | undefined, is_expert?: boolean | undefined, email?: string | undefined, name?: string | undefined, avatar_url?: string | undefined, phone?: string | undefined, active?: boolean | undefined, roles?: Array | undefined, active_status_modified_at?: string | undefined, user_types?: (Array<'USER_TYPE_UNSPECIFIED' | 'USER_TYPE_LOGIN' | 'USER_TYPE_SDK' | 'USER_TYPE_INVITED'>) | undefined, deleted?: boolean | undefined, deleted_at?: string | undefined, bio?: string | undefined, availability_status?: ('AVAILABILITY_STATUS_AVAILABLE' | 'AVAILABILITY_STATUS_NOT_AVAILABLE' | 'AVAILABILITY_STATUS_RESERVED' | 'AVAILABILITY_STATUS_IN_CALL' | 'AVAILABILITY_STATUS_CONFIRMING' | 'AVAILABILITY_STATUS_OFFLINE' | 'AVAILABILITY_STATUS_INVALID') | undefined}; export type StreemApiEventsRoomParticipantCreated = {user?: StreemApiUser | undefined, room?: StreemApiRoom | undefined, participant?: StreemApiRoomParticipant | undefined}; export type StreemApiEventsRoomParticipantUpdated = {user?: StreemApiUser | undefined, room?: StreemApiRoom | undefined, previous_participant?: StreemApiRoomParticipant | undefined, updated_participant?: StreemApiRoomParticipant | undefined}; export type StreemApiGroupReservationDetail = {label?: string | undefined, value?: string | undefined}; export type StreemApiGroupReservation = {company_sid?: string | undefined, group?: StreemApiGroup | undefined, reservation_sid?: string | undefined, external_user_id?: string | undefined, priority?: number | undefined, reserve_for_seconds?: number | undefined, reservation_status?: ('GROUP_RESERVATION_STATUS_QUEUED' | 'GROUP_RESERVATION_STATUS_CANCELED' | 'GROUP_RESERVATION_STATUS_MATCHED' | 'GROUP_RESERVATION_STATUS_CONNECTED' | 'GROUP_RESERVATION_STATUS_EXPIRED' | 'GROUP_RESERVATION_STATUS_NOT_MATCHED' | 'GROUP_RESERVATION_STATUS_COMPLETED' | 'GROUP_RESERVATION_STATUS_CONFIRMING' | 'GROUP_RESERVATION_STATUS_INITIATED' | 'GROUP_RESERVATION_STATUS_FAILED' | 'GROUP_RESERVATION_STATUS_INVALID') | undefined, queue_position?: number | undefined, reserved_user?: StreemApiUser | undefined, reserved_until?: string | undefined, connected_at?: string | undefined, completed_at?: string | undefined, details?: Array | undefined, room_sid?: string | undefined, initiated_at?: string | undefined, failed_at?: string | undefined, expired_at?: string | undefined, requested_at?: string | undefined, estimated_wait_until?: string | undefined, reference_id?: string | undefined, integration_id?: string | undefined, reconnect_previous_reservation_sid?: string | undefined, call_detail?: StreemApiCallDetail | undefined, previous_reservation_sid?: string | undefined, reservation_type?: ('RESERVATION_TYPE_ORIGIN' | 'RESERVATION_TYPE_RECONNECT' | 'RESERVATION_TYPE_REQUEUE' | 'RESERVATION_TYPE_INVALID') | undefined}; export type StreemApiEventsGroupReservationCreated = {group_reservation?: StreemApiGroupReservation | undefined}; export type StreemApiEventsGroupReservationUpdated = {previous_group_reservation?: StreemApiGroupReservation | undefined, updated_group_reservation?: StreemApiGroupReservation | undefined}; export type StreemApiPriorityWaitTime = {priority?: number | undefined, estimated_wait_until?: string | undefined, estimated_wait_time?: GoogleProtobufDuration | undefined}; export type StreemApiPriorityWaitTimes = {priority_wait_time?: Array | undefined}; export type StreemApiEventsGroupWaitTimeUpdated = {company_sid?: string | undefined, group_sid?: string | undefined, group_name?: string | undefined, priority_wait_times?: StreemApiPriorityWaitTimes | undefined}; export type StreemApiArtifactGpsPosition = {sourced_from_user_sid?: string | undefined, sourced_from_device_sid?: string | undefined, client_created_at?: string | undefined, latitude_degrees?: number | undefined, longitude_degrees?: number | undefined, accuracy_meters?: number | undefined, formatted_address?: string | undefined, deleted_at?: string | undefined}; export type StreemApiArtifactMesh = {name?: string | undefined, status?: ('STATUS_REQUESTED' | 'STATUS_STARTED' | 'STATUS_ERROR' | 'STATUS_FULFILLED' | 'STATUS_INVALID') | undefined, mesh_storage_url?: string | undefined, metadata_storage_url?: string | undefined, requested_at?: string | undefined, started_at?: string | undefined, errored_at?: string | undefined, fulfilled_at?: string | undefined, url?: string | undefined, deleted_at?: string | undefined}; export type StreemApiArtifactRecordingTrack = {bucket?: string | undefined, filename?: string | undefined, user_sid?: string | undefined, track_type?: string | undefined, codec?: string | undefined, storage_url?: string | undefined, status?: ('STATUS_STARTED_RECORDING' | 'STATUS_FINISHED_RECORDING' | 'STATUS_TRANSFERRING' | 'STATUS_ERROR' | 'STATUS_FULFILLED' | 'STATUS_INVALID') | undefined, requested_at?: string | undefined, started_recording_at?: string | undefined, finished_recording_at?: string | undefined, started_transferring_at?: string | undefined, errored_at?: string | undefined, fulfilled_at?: string | undefined, url?: string | undefined, created_at?: string | undefined, recording_source?: ('SOURCE_TWILIO' | 'SOURCE_EXTERNAL' | 'SOURCE_MUXER' | 'SOURCE_ARAAS' | 'SOURCE_CHIME' | 'SOURCE_INVALID') | undefined, source_recording_track_sid?: string | undefined, deleted_at?: string | undefined}; export type StreemApiArtifactRecording = {bucket?: string | undefined, filename?: string | undefined, storage_url?: string | undefined, status?: ('STATUS_REQUESTED' | 'STATUS_TRANSFERRING' | 'STATUS_ERROR' | 'STATUS_FULFILLED' | 'STATUS_INVALID') | undefined, requested_at?: string | undefined, started_transferring_at?: string | undefined, errored_at?: string | undefined, fulfilled_at?: string | undefined, created_at?: string | undefined, url?: string | undefined, recording_source?: ('SOURCE_TWILIO' | 'SOURCE_MUXER' | 'SOURCE_ON_DEVICE' | 'SOURCE_ARAAS' | 'SOURCE_CHIME' | 'SOURCE_INVALID') | undefined, preview_storage_url?: string | undefined, preview_url?: string | undefined, duration?: GoogleProtobufDuration | undefined, recording_status?: ('RECORDING_STATUS_NONE' | 'RECORDING_STATUS_PAUSED' | 'RECORDING_STATUS_RESUMED' | 'RECORDING_STATUS_TEMPORARY_FAILURE' | 'RECORDING_STATUS_INVALID') | undefined, deleted_at?: string | undefined}; export type StreemApiPose = {position?: Array | undefined, rotation?: Array | undefined}; export type StreemApiPoint = {x?: number | undefined, y?: number | undefined, z?: number | undefined}; export type CameraIntrinsics = {focal_length_px_x?: number | undefined, focal_length_px_y?: number | undefined, axis_skew?: number | undefined, principal_point_x?: number | undefined, principal_point_y?: number | undefined}; export type StreemApiArtifactStreemshotSource = {url?: string | undefined, pose?: StreemApiPose | undefined, feature_points?: Array | undefined, camera_intrinsics?: CameraIntrinsics | undefined, deleted_at?: string | undefined}; export type StreemApiDetectionBoundingBox = {x?: number | undefined, y?: number | undefined, width?: number | undefined, height?: number | undefined}; export type StreemApiDetection = {detection_sid?: string | undefined, type?: ('DETECTION_TYPE_LOGO' | 'DETECTION_TYPE_LABEL' | 'DETECTION_TYPE_TEXT' | 'DETECTION_TYPE_FULL_TEXT' | 'DETECTION_TYPE_SAFE_SEARCH' | 'DETECTION_TYPE_SERIAL' | 'DETECTION_TYPE_MODEL' | 'DETECTION_TYPE_OBJECT' | 'DETECTION_TYPE_INVALID') | undefined, description?: string | undefined, confidence?: number | undefined, bounding_box?: StreemApiDetectionBoundingBox | undefined, source?: ('DETECTION_SOURCE_OCR' | 'DETECTION_SOURCE_USER' | 'DETECTION_SOURCE_AUTO' | 'DETECTION_SOURCE_INVALID') | undefined, hidden?: boolean | undefined, extractor?: string | undefined, last_updated_at?: string | undefined}; export type StreemApiTransform = {position?: Array | undefined, rotation?: Array | undefined, scale?: Array | undefined}; export type StreemApiArElementArrow = {transform?: StreemApiTransform | undefined, rotation?: number | undefined}; export type StreemApiArElementMeasurement = {from?: StreemApiPoint | undefined, to?: StreemApiPoint | undefined}; export type StreemApiArElementModel3d = {transform?: StreemApiTransform | undefined, rotation?: number | undefined, name?: string | undefined}; export type StreemApiArElementText = {transform?: StreemApiTransform | undefined, rotation?: number | undefined, text?: string | undefined}; export type StreemApiArElement = {arrow?: StreemApiArElementArrow | undefined, measurement?: StreemApiArElementMeasurement | undefined, model3d?: StreemApiArElementModel3d | undefined, text?: StreemApiArElementText | undefined}; export type StreemApiArtifactStreemshotRevision = {revision_number?: number | undefined, streemshot_sid?: string | undefined, storage_url?: string | undefined, ar_elements?: Array | undefined, url?: string | undefined, edited?: boolean | undefined, deleted_at?: string | undefined}; export type StreemApiNote = {sid?: string | undefined, created_by_user_sid?: string | undefined, created_at?: string | undefined, scope?: ('SCOPE_ROOM' | 'SCOPE_STREEMSHOT' | 'SCOPE_INVALID') | undefined, scope_sid?: string | undefined, last_updated_by_user_sid?: string | undefined, last_updated_at?: string | undefined, text?: string | undefined, deleted_at?: string | undefined, is_finalizable?: boolean | undefined, finalized_at?: string | undefined, revision_number?: number | undefined}; export type StreemApiArtifactStreemshotDepthMap = {streemshot_sid?: string | undefined, storage_url?: string | undefined, url?: string | undefined, deleted_at?: string | undefined}; export type StreemApiArtifactStreemshot = {status?: ('STATUS_REQUESTED' | 'STATUS_FULFILLED' | 'STATUS_INVALID') | undefined, requested_at?: string | undefined, requested_by_user_sid?: string | undefined, requested_by_device_sid?: string | undefined, fulfilled_at?: string | undefined, fulfilled_by_user_sid?: string | undefined, fulfilled_by_device_sid?: string | undefined, source?: StreemApiArtifactStreemshotSource | undefined, detections?: Array | undefined, current_revision?: StreemApiArtifactStreemshotRevision | undefined, revision_number?: number | undefined, note?: StreemApiNote | undefined, depth_map?: StreemApiArtifactStreemshotDepthMap | undefined}; export type StreemApiArtifactTranscription = {status?: ('STATUS_UNKNOWN' | 'STATUS_REJECTED' | 'STATUS_ERROR' | 'STATUS_STARTED' | 'STATUS_CAPTURED' | 'STATUS_FULFILLED') | undefined, storage_url?: string | undefined, started_at?: string | undefined, errored_at?: string | undefined, fulfilled_at?: string | undefined, type?: ('VTT' | 'TXT') | undefined, url?: string | undefined, deleted_at?: string | undefined, source?: ('AWS' | 'WHISPER' | 'INVALID') | undefined, sid?: string | undefined}; export type StreemApiArtifactSceneshot = {mesh_sid?: string | undefined, preview_storage_url?: string | undefined, name?: string | undefined, pose?: StreemApiPose | undefined, ar_elements?: Array | undefined, status?: ('STATUS_UNKNOWN' | 'STATUS_REJECTED' | 'STATUS_ERROR' | 'STATUS_STARTED' | 'STATUS_CAPTURED' | 'STATUS_FULFILLED') | undefined, started_at?: string | undefined, errored_at?: string | undefined, fulfilled_at?: string | undefined, captured_at?: string | undefined, deleted_at?: string | undefined}; export type StreemApiArtifactLayoutEstimation = {mesh_sid?: string | undefined, storage_url?: string | undefined, status?: ('STATUS_UNKNOWN' | 'STATUS_REJECTED' | 'STATUS_ERROR' | 'STATUS_STARTED' | 'STATUS_CAPTURED' | 'STATUS_FULFILLED') | undefined, started_at?: string | undefined, errored_at?: string | undefined, fulfilled_at?: string | undefined, url?: string | undefined, captured_at?: string | undefined, deleted_at?: string | undefined}; export type StreemApiArtifactTexturedMesh = {mesh_sid?: string | undefined, glb_storage_url?: string | undefined, usdz_storage_url?: string | undefined, status?: ('STATUS_UNKNOWN' | 'STATUS_REJECTED' | 'STATUS_ERROR' | 'STATUS_STARTED' | 'STATUS_CAPTURED' | 'STATUS_FULFILLED') | undefined, started_at?: string | undefined, errored_at?: string | undefined, fulfilled_at?: string | undefined, glb_url?: string | undefined, usdz_url?: string | undefined, video_recording_track_sid?: string | undefined, video_recording_sid?: string | undefined, deleted_at?: string | undefined}; export type StreemApiArtifactBookmark = {label?: string | undefined, timestamp?: string | undefined, status?: ('STATUS_UNKNOWN' | 'STATUS_REJECTED' | 'STATUS_ERROR' | 'STATUS_STARTED' | 'STATUS_CAPTURED' | 'STATUS_FULFILLED') | undefined, deleted_at?: string | undefined}; export type StreemApiArtifactRoomOutcomeReportEntry = {code?: string | undefined, label?: string | undefined}; export type GoogleProtobufStruct = Record; export type GoogleProtobufListValue = {values?: Array | undefined}; export type GoogleProtobufValue = {null_value?: 'NULL_VALUE' | undefined, number_value?: number | undefined, string_value?: string | undefined, bool_value?: boolean | undefined, struct_value?: GoogleProtobufStruct | undefined, list_value?: GoogleProtobufListValue | undefined}; export type StreemApiArtifactRoomOutcomeReport = {status?: ('STATUS_UNKNOWN' | 'STATUS_REJECTED' | 'STATUS_ERROR' | 'STATUS_STARTED' | 'STATUS_CAPTURED' | 'STATUS_FULFILLED') | undefined, diagnoses?: Array | undefined, disposition?: StreemApiArtifactRoomOutcomeReportEntry | undefined, custom_fields?: {[key: string]: GoogleProtobufValue} | undefined, created_at?: string | undefined, deleted_at?: string | undefined}; export type StreemApiArtifact = {sid?: string | undefined, room_sid?: string | undefined, type?: ('UNKNOWN' | 'STREEMSHOT' | 'RECORDING' | 'RECORDING_TRACK' | 'GPS_POSITION' | 'MESH' | 'TRANSCRIPTION' | 'SCENESHOT' | 'LAYOUT_ESTIMATION' | 'TEXTURED_MESH' | 'BOOKMARK' | 'ROOM_OUTCOME_REPORT') | undefined, deleted?: boolean | undefined, scheduled_for_deletion_at?: string | undefined, deleted_at?: string | undefined, gps_position?: StreemApiArtifactGpsPosition | undefined, mesh?: StreemApiArtifactMesh | undefined, recording_track?: StreemApiArtifactRecordingTrack | undefined, recording?: StreemApiArtifactRecording | undefined, streemshot?: StreemApiArtifactStreemshot | undefined, transcription?: StreemApiArtifactTranscription | undefined, sceneshot?: StreemApiArtifactSceneshot | undefined, layout_estimation?: StreemApiArtifactLayoutEstimation | undefined, textured_mesh?: StreemApiArtifactTexturedMesh | undefined, bookmark?: StreemApiArtifactBookmark | undefined, room_outcome_report?: StreemApiArtifactRoomOutcomeReport | undefined}; export type StreemApiEventsArtifactCreated = {room?: StreemApiRoom | undefined, artifact?: StreemApiArtifact | undefined}; export type StreemApiEventsArtifactUpdated = {room?: StreemApiRoom | undefined, previous_artifact?: StreemApiArtifact | undefined, updated_artifact?: StreemApiArtifact | undefined}; export type StreemApiEventsArtifactDeleted = {room?: StreemApiRoom | undefined, deleted_artifact?: StreemApiArtifact | undefined}; export type StreemApiEventsRoomNoteCreated = {room?: StreemApiRoom | undefined, room_note?: StreemApiNote | undefined}; export type StreemApiEventsRoomNoteUpdated = {room?: StreemApiRoom | undefined, previous_room_note?: StreemApiNote | undefined, updated_room_note?: StreemApiNote | undefined}; export type StreemApiEventsRoomNoteDeleted = {room?: StreemApiRoom | undefined, deleted_room_note?: StreemApiNote | undefined}; export type StreemApiEventsRoomNoteFinalized = {room?: StreemApiRoom | undefined, room_note?: StreemApiNote | undefined}; export type StreemApiWebhookEventPayload = {room_created?: StreemApiEventsRoomCreated | undefined, room_updated?: StreemApiEventsRoomUpdated | undefined, room_archived?: StreemApiEventsRoomArchived | undefined, room_participant_created?: StreemApiEventsRoomParticipantCreated | undefined, room_participant_updated?: StreemApiEventsRoomParticipantUpdated | undefined, group_reservation_created?: StreemApiEventsGroupReservationCreated | undefined, group_reservation_updated?: StreemApiEventsGroupReservationUpdated | undefined, group_wait_time_updated?: StreemApiEventsGroupWaitTimeUpdated | undefined, artifact_created?: StreemApiEventsArtifactCreated | undefined, artifact_updated?: StreemApiEventsArtifactUpdated | undefined, artifact_deleted?: StreemApiEventsArtifactDeleted | undefined, room_note_created?: StreemApiEventsRoomNoteCreated | undefined, room_note_updated?: StreemApiEventsRoomNoteUpdated | undefined, room_note_deleted?: StreemApiEventsRoomNoteDeleted | undefined, room_note_finalized?: StreemApiEventsRoomNoteFinalized | undefined}; export type StreemApiTestWebhookRequest = {event?: StreemApiWebhookEventPayload | undefined}; export type CreateApiV1WebhooksWebhookSidTestArgs = {webhook_sid: string, body: StreemApiTestWebhookRequest}; export type CreateApiV1WebhooksWebhookSidTestOptions = {baseUrl?: string | undefined, apiKey?: {username: string, password: string} | undefined, fetch?: typeof fetch | undefined}; /** * Test Webhook * * POST /v1/webhooks/{webhook_sid}/~test * * Also accepts auth: bearer-auth */ export const createApiV1WebhooksWebhookSidTest = async (args: CreateApiV1WebhooksWebhookSidTestArgs, options?: CreateApiV1WebhooksWebhookSidTestOptions) => { const {baseUrl = "https://api.prod-us.streem.cloud", fetch: fetchFn = fetch, apiKey} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (apiKey !== undefined) headers.set('authorization', `Basic ${btoa(`${apiKey.username}:${apiKey.password}`)}`) const url = `${baseUrl.replace(/\/+$/, '')}/v1/webhooks/${encodeURIComponent(String(args.webhook_sid))}/~test${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };