// This file was auto-generated by Fern from our API Definition.

import type * as Vapi from "../index.js";

export interface Server {
    /**
     * This is the timeout in seconds for the request. Defaults to 20 seconds.
     *
     * @default 20
     */
    timeoutSeconds?: number | undefined;
    /** The credential ID for server authentication */
    credentialId?: string | undefined;
    /**
     * If enabled, requests will originate from a static set of IPs owned and managed by Vapi.
     *
     * @default false
     */
    staticIpAddressesEnabled?: boolean | undefined;
    /** This is the paths to encrypt in the request body if credentialId and encryptionPlan are defined. */
    encryptedPaths?: string[] | undefined;
    /** This is where the request will be sent. */
    url?: string | undefined;
    /**
     * These are the headers to include in the request.
     *
     * Each key-value pair represents a header name and its value.
     *
     * Note: Specifying an Authorization header here will override the authorization provided by the `credentialId` (if provided). This is an anti-pattern and should be avoided outside of edge case scenarios.
     */
    headers?: Record<string, unknown> | undefined;
    /**
     * This is the backoff plan if the request fails. Defaults to undefined (the request will not be retried).
     *
     * @default undefined (the request will not be retried)
     */
    backoffPlan?: Vapi.BackoffPlan | undefined;
}
