import {z} from 'zod' export type GetApiProvidersIdArgs = {id: string}; export type GetApiProvidersIdOptions = {baseUrl?: string | undefined, bearer?: string | undefined, fetch?: typeof fetch | undefined}; export const getApiProvidersIdResponse = z.object({id: z.string().optional(), name: z.string().min(1).max(64).optional(), enabled: z.boolean().optional(), brand: z.string().min(1).max(64).optional(), auth_mode: z.enum(["IP_AUTH", "REGISTER_AUTH", "ACCEPT_REGISTER", "TEAMS", "WHATS_APP"]).optional(), transport: z.enum(["UDP", "TCP", "TLS"]).optional(), hostname: z.string().optional(), port: z.number().int().gte(0).lte(65535).optional(), auth_id: z.string().max(64).optional(), username: z.string().max(64).optional(), registration: z.boolean().optional(), register_interval: z.number().int().gte(0).optional(), outbound_server: z.string().optional(), outbound_server_port: z.number().int().gte(0).lte(65535).optional(), inlan: z.boolean().optional(), single_via_header: z.boolean().optional(), rewrite_via_ip: z.boolean().optional(), verify_port: z.boolean().optional(), keep_alive: z.boolean().optional(), keep_alive_interval: z.number().int().gte(0).optional(), concurrency: z.number().int().gte(0).optional(), additional_ips: z.string().optional(), adjust_sdp_direction: z.boolean().optional(), remove_srtp_info: z.boolean().optional(), stir_shaken_signature_required: z.boolean().optional(), did_numbers: z.string().optional(), inbound_parameters: z.object({caller_num: z.enum(["REQUEST_LINE_URI_USER_PART", "CONTACT_USER_PART", "TO_DISPLAY_NAME", "TO_USER_PART", "FROM_DISPLAY_NAME", "FROM_USER_PART", "REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME", "REMOTE_PARTY_ID_CALLED_PARTY_USER_PART", "REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME", "REMOTE_PARTY_ID_CALLING_PARTY_USER_PART", "P_ASSERTED_IDENTITY_DISPLAY_NAME", "P_ASSERTED_IDENTITY_USER_PART", "P_PREFERRED_IDENTIFY_DISPLAY_NAME", "P_PREFERRED_IDENTIFY_USER_PART", "P_CALLED_PARTY_ID_DISPLAY_NAME", "P_CALLED_PARTY_ID_USER_PART", "DEFAULT"]).optional(), caller_display_name: z.enum(["REQUEST_LINE_URI_USER_PART", "CONTACT_USER_PART", "TO_DISPLAY_NAME", "TO_USER_PART", "FROM_DISPLAY_NAME", "FROM_USER_PART", "REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME", "REMOTE_PARTY_ID_CALLED_PARTY_USER_PART", "REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME", "REMOTE_PARTY_ID_CALLING_PARTY_USER_PART", "P_ASSERTED_IDENTITY_DISPLAY_NAME", "P_ASSERTED_IDENTITY_USER_PART", "P_PREFERRED_IDENTIFY_DISPLAY_NAME", "P_PREFERRED_IDENTIFY_USER_PART", "P_CALLED_PARTY_ID_DISPLAY_NAME", "P_CALLED_PARTY_ID_USER_PART", "DEFAULT"]).optional(), called_num: z.enum(["REQUEST_LINE_URI_USER_PART", "CONTACT_USER_PART", "TO_DISPLAY_NAME", "TO_USER_PART", "FROM_DISPLAY_NAME", "FROM_USER_PART", "REMOTE_PARTY_ID_CALLED_PARTY_DISPLAY_NAME", "REMOTE_PARTY_ID_CALLED_PARTY_USER_PART", "REMOTE_PARTY_ID_CALLING_PARTY_DISPLAY_NAME", "REMOTE_PARTY_ID_CALLING_PARTY_USER_PART", "P_ASSERTED_IDENTITY_DISPLAY_NAME", "P_ASSERTED_IDENTITY_USER_PART", "P_PREFERRED_IDENTIFY_DISPLAY_NAME", "P_PREFERRED_IDENTIFY_USER_PART", "P_CALLED_PARTY_ID_DISPLAY_NAME", "P_CALLED_PARTY_ID_USER_PART", "DEFAULT"]).optional(), privacy_types_supported: z.enum(["ID", "USER", "HEADER", "DEFAULT"]).optional(), enable_stir_shaken_validation: z.boolean().optional(), pai_header_parameter_name: z.string().optional(), drop_calls_with_verification_status: z.array(z.string()).optional(), pass_api_header_to_uad: z.boolean().optional()}).optional(), outbound_parameters: z.object({request_line_uri_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), request_line_uri_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), contact_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), contact_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), to_display_name: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), to_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), to_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), from_display_name: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), from_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), from_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), remote_party_id_called_party_display_name: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), remote_party_id_called_party_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), remote_party_id_called_party_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), remote_party_id_calling_party_display_name: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), remote_party_id_calling_party_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), remote_party_id_calling_party_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_asserted_identity_display_name: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_asserted_identity_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_asserted_identity_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_preferred_identify_display_name: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_preferred_identify_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_preferred_identify_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_called_party_id_display_name: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_called_party_id_user_part: z.object({value: z.enum(["AUTH_ID", "CALLER_NUM", "CALLED_NUM", "CALLER_DISPLAY_NAME", "OUTBOUND_CALLER_ID", "ORIGINATOR_CALLER_ID", "OUTBOUND_CALLER_ID_AND_ORIGINATOR_CALLER_ID", "ANONYMOUS", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), p_called_party_id_host_part: z.object({value: z.enum(["TRUNK_HOST_PORT", "OUT_HOST_PORT", "CONTACT_URI", "SIP_DOMAIN", "DEFAULT", "CUSTOM"]).optional(), custom_value: z.string().optional()}).optional(), privacy_types_supported: z.object({value: z.enum(["ID", "USER", "HEADER", "DEFAULT"]).optional()}).optional()}).optional(), shared: z.boolean().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Retrieve a provider * * GET /providers/{id} */ export const getApiProvidersId = async (args: GetApiProvidersIdArgs, options?: GetApiProvidersIdOptions) => { const {baseUrl = "https://HOSTNAME:8887/api", fetch: fetchFn = fetch, bearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (bearer !== undefined) headers.set('authorization', `Bearer ${bearer}`) const url = `${baseUrl.replace(/\/+$/, '')}/providers/${encodeURIComponent(String(args.id))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(getApiProvidersIdResponse, await res.json()) };