type paths = {
    '/oauth/installedLocations': {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        /**
         * Get Location where app is installed
         * @description This API allows you fetch location where app is installed upon
         */
        get: operations['get-installed-location'];
        put?: never;
        post?: never;
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    '/oauth/locationToken': {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Get Location Access Token from Agency Token
         * @description This API allows you to generate locationAccessToken from AgencyAccessToken
         */
        post: operations['get-location-access-token'];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
    '/oauth/token': {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        get?: never;
        put?: never;
        /**
         * Get Access Token
         * @description Use Access Tokens to access GoHighLevel resources on behalf of an authenticated location/company.
         */
        post: operations['get-access-token'];
        delete?: never;
        options?: never;
        head?: never;
        patch?: never;
        trace?: never;
    };
};
type webhooks = Record<string, never>;
type components = {
    schemas: {
        BadRequestDTO: {
            /** @example Bad Request */
            message?: string;
            /** @example 400 */
            statusCode?: number;
        };
        GetAccessCodebodyDto: {
            /** @description The ID provided by GHL for your integration */
            client_id: string;
            client_secret: string;
            code?: string;
            /** @enum {string} */
            grant_type: 'authorization_code' | 'refresh_token';
            /**
             * @description The redirect URI for your application
             * @example https://myapp.com/oauth/callback/gohighlevel
             */
            redirect_uri?: string;
            refresh_token?: string;
            /**
             * @description The type of token to be requested
             * @example Location
             * @enum {string}
             */
            user_type?: 'Company' | 'Location';
        };
        GetAccessCodeSuccessfulResponseDto: {
            /** @example ab12dc0ae1234a7898f9ff06d4f69gh */
            access_token?: string;
            /**
             * @description Approved locations to generate location access token
             * @example [
             *       "l1C08ntBrFjLS0elLIYU"
             *     ]
             */
            approvedLocations?: string[];
            /**
             * @description Company ID
             * @example l1C08ntBrFjLS0elLIYU
             */
            companyId?: string;
            /** @example 86399 */
            expires_in?: number;
            /**
             * @description Location ID - Present only for Sub-Account Access Token
             * @example l1C08ntBrFjLS0elLIYU
             */
            locationId?: string;
            /**
             * @description Plan Id of the subscribed plan in paid apps.
             * @example l1C08ntBrFjLS0elLIYU
             */
            planId?: string;
            /** @example xy34dc0ae1234a4858f9ff06d4f66ba */
            refresh_token?: string;
            /** @example conversations/message.readonly conversations/message.write */
            scope?: string;
            /** @example Bearer */
            token_type?: string;
            /**
             * @description USER ID - Represent user id of person who performed installation
             * @example l1C08ntBrFjLS0elLIYU
             */
            userId: string;
            /** @example Location */
            userType?: string;
        };
        GetInstalledLocationsSuccessfulResponseDto: {
            /**
             * @description Total location count under the company
             * @example 1231
             */
            count?: number;
            /**
             * @description Boolean to control if user wants app to be automatically installed to future locations
             * @example true
             */
            installToFutureLocations?: boolean;
            locations?: components['schemas']['InstalledLocationSchema'][];
        };
        GetLocationAccessCodeBodyDto: {
            /** @description Company Id of location you want to request token for */
            companyId: string;
            /** @description The location ID for which you want to obtain accessToken */
            locationId: string;
        };
        GetLocationAccessTokenSuccessfulResponseDto: {
            /**
             * @description Location access token which can be used to authenticate & authorize API under following scope
             * @example ab12dc0ae1234a7898f9ff06d4f69gh
             */
            access_token?: string;
            /**
             * @description Time in seconds remaining for token to expire
             * @example 86399
             */
            expires_in?: number;
            /**
             * @description Location ID - Present only for Sub-Account Access Token
             * @example l1C08ntBrFjLS0elLIYU
             */
            locationId?: string;
            /**
             * @description Plan Id of the subscribed plan in paid apps.
             * @example l1C08ntBrFjLS0elLIYU
             */
            planId?: string;
            /**
             * @description Scopes the following accessToken have access to
             * @example conversations/message.readonly conversations/message.write
             */
            scope?: string;
            /** @example Bearer */
            token_type?: string;
            /**
             * @description USER ID - Represent user id of person who performed installation
             * @example l1C08ntBrFjLS0elLIYU
             */
            userId: string;
        };
        InstalledLocationSchema: {
            /**
             * @description Location ID
             * @example 0IHuJvc2ofPAAA8GzTRi
             */
            _id: string;
            /**
             * @description Address linked to location
             * @example 47 W 13th St, New York, NY 10011, USA
             */
            address: string;
            /**
             * @description Check if the requested app is installed for following location
             * @example true
             */
            isInstalled?: boolean;
            /**
             * @description Name of the location
             * @example John Deo
             */
            name: string;
        };
        UnauthorizedDTO: {
            /** @example Unauthorized */
            error?: string;
            /** @example Invalid token: access token is invalid */
            message?: string;
            /** @example 401 */
            statusCode?: number;
        };
        UnprocessableDTO: {
            /** @example Unprocessable Entity */
            error?: string;
            /** @example [
             *       "Unprocessable Entity"
             *     ] */
            message?: string[];
            /** @example 422 */
            statusCode?: number;
        };
    };
    responses: never;
    parameters: never;
    requestBodies: never;
    headers: never;
    pathItems: never;
};
type $defs = Record<string, never>;
interface operations {
    'get-installed-location': {
        parameters: {
            query: {
                /**
                 * @description Parameter to search by the appId
                 * @example tDtDnQdgm2LXpyiqYvZ6
                 */
                appId: string;
                /**
                 * @description Parameter to search by the companyId
                 * @example tDtDnQdgm2LXpyiqYvZ6
                 */
                companyId: string;
                /**
                 * @description Filters out location which are installed for specified app under the specified company
                 * @example true
                 */
                isInstalled?: boolean;
                /**
                 * @description Parameter to limit the number installed locations
                 * @example 10
                 */
                limit?: string;
                /**
                 * @description Filters out locations which are installed for specified app in trial mode
                 * @example true
                 */
                onTrial?: boolean;
                /**
                 * @description Filters out location which are installed for specified app under the specified planId
                 * @example true
                 */
                planId?: string;
                /**
                 * @description Parameter to search for the installed location by name
                 * @example location name
                 */
                query?: string;
                /**
                 * @description Parameter to skip the number installed locations
                 * @example 1
                 */
                skip?: string;
            };
            header: {
                /** @description API Version */
                Version: '2021-07-28';
            };
            path?: never;
            cookie?: never;
        };
        requestBody?: never;
        responses: {
            /** @description Successful response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['GetInstalledLocationsSuccessfulResponseDto'];
                };
            };
            /** @description Bad Request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['BadRequestDTO'];
                };
            };
            /** @description Unauthorized */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['UnauthorizedDTO'];
                };
            };
            /** @description Unprocessable Entity */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['UnprocessableDTO'];
                };
            };
        };
    };
    'get-location-access-token': {
        parameters: {
            query?: never;
            header: {
                /** @description API Version */
                Version: '2021-07-28';
            };
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                'application/x-www-form-urlencoded': components['schemas']['GetLocationAccessCodeBodyDto'];
            };
        };
        responses: {
            /** @description Successful response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['GetLocationAccessTokenSuccessfulResponseDto'];
                };
            };
            /** @description Bad Request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['BadRequestDTO'];
                };
            };
            /** @description Unauthorized */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['UnauthorizedDTO'];
                };
            };
            /** @description Unprocessable Entity */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['UnprocessableDTO'];
                };
            };
        };
    };
    'get-access-token': {
        parameters: {
            query?: never;
            header?: never;
            path?: never;
            cookie?: never;
        };
        requestBody: {
            content: {
                'application/x-www-form-urlencoded': components['schemas']['GetAccessCodebodyDto'];
            };
        };
        responses: {
            /** @description Successful response */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['GetAccessCodeSuccessfulResponseDto'];
                };
            };
            /** @description Bad Request */
            400: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['BadRequestDTO'];
                };
            };
            /** @description Unauthorized */
            401: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['UnauthorizedDTO'];
                };
            };
            /** @description Unprocessable Entity */
            422: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    'application/json': components['schemas']['UnprocessableDTO'];
                };
            };
        };
    };
}

export type { $defs, components, operations, paths, webhooks };
