/** * Linkbreakers API * This is a documentation of all the APIs of Linkbreakers * * The version of the OpenAPI document: 1.118.3 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * Tracks the fingerprint of a visitor's hardware/software so Linkbreakers can de-duplicate scans, enrich analytics, * and power security heuristics. * @export * @interface Device */ export interface Device { /** * * @type {number} * @memberof Device */ asn?: number; /** * * @type {string} * @memberof Device */ browserLanguage?: string; /** * * @type {string} * @memberof Device */ browserName?: string; /** * * @type {string} * @memberof Device */ browserVersion?: string; /** * * @type {string} * @memberof Device */ city?: string; /** * * @type {string} * @memberof Device */ country?: string; /** * * @type {Date} * @memberof Device */ createdAt?: Date; /** * DeviceActor represents WHO or WHAT is operating the device. * This distinguishes between a real human visitor, an automated crawler/scraper bot * (e.g. Googlebot, BingBot), and an AI/LLM agent acting on behalf of a user * (e.g. GPTBot, ClaudeBot, Gemini, Grok). * * - DEVICE_ACTOR_UNSPECIFIED: Actor not specified or not yet detected * - DEVICE_ACTOR_HUMAN: Human visitor using a browser (covers MOBILE, TABLET, DESKTOP device types) * - DEVICE_ACTOR_BOT: Automated crawler or scraper bot (e.g. Googlebot, BingBot, Applebot) * - DEVICE_ACTOR_AGENT: AI/LLM agent browsing on behalf of a user (e.g. GPTBot, ClaudeBot, Gemini, Grok) * - DEVICE_ACTOR_UNKNOWN: Unable to classify the actor * @type {DeviceDeviceActorEnum} * @memberof Device */ deviceActor?: DeviceDeviceActorEnum; /** * Specific actor or crawler name for non-human traffic (e.g. "Googlebot", "GPTBot", "ClaudeBot"). * Only populated when device_actor is BOT or AGENT. Null/empty for HUMAN visitors. * @type {string} * @memberof Device */ deviceActorName?: string; /** * Company or organization behind the actor (e.g. "Google", "OpenAI", "Anthropic"). * Only populated when device_actor is BOT or AGENT. Null/empty for HUMAN visitors. * @type {string} * @memberof Device */ deviceActorOrigin?: string; /** * * @type {string} * @memberof Device */ deviceBrand?: string; /** * * @type {number} * @memberof Device */ deviceConcurrency?: number; /** * * @type {number} * @memberof Device */ deviceMemory?: number; /** * * @type {string} * @memberof Device */ deviceName?: string; /** * DeviceType represents the physical form factor of the device. * This describes the hardware category (phone, tablet, laptop, etc.), * NOT who or what is operating it — see DeviceActor for that. * * - DEVICE_TYPE_UNSPECIFIED: Device type not specified or not yet detected * - DEVICE_TYPE_NATIVE: Native QR scanner (no browser capabilities reported) * - DEVICE_TYPE_MOBILE: Mobile handset browser * - DEVICE_TYPE_TABLET: Tablet browser * - DEVICE_TYPE_DESKTOP: Desktop or laptop browser * - DEVICE_TYPE_UNKNOWN: Unable to classify the device * @type {DeviceDeviceTypeEnum} * @memberof Device */ deviceType?: DeviceDeviceTypeEnum; /** * * @type {string} * @memberof Device */ gpu?: string; /** * * @type {string} * @memberof Device */ id?: string; /** * * @type {string} * @memberof Device */ ipAddress?: string; /** * * @type {string} * @memberof Device */ isp?: string; /** * * @type {Date} * @memberof Device */ lastUsedAt?: Date; /** * * @type {number} * @memberof Device */ networkBandwidth?: number; /** * * @type {string} * @memberof Device */ networkConnection?: string; /** * * @type {number} * @memberof Device */ networkRtt?: number; /** * * @type {string} * @memberof Device */ platformName?: string; /** * * @type {string} * @memberof Device */ platformVersion?: string; /** * * @type {string} * @memberof Device */ region?: string; /** * * @type {number} * @memberof Device */ screenHeight?: number; /** * * @type {number} * @memberof Device */ screenRatio?: number; /** * * @type {number} * @memberof Device */ screenWidth?: number; /** * * @type {string} * @memberof Device */ state?: string; /** * * @type {string} * @memberof Device */ timezone?: string; /** * * @type {boolean} * @memberof Device */ touchScreen?: boolean; /** * * @type {Date} * @memberof Device */ updatedAt?: Date; /** * * @type {string} * @memberof Device */ userAgent?: string; } /** * @export */ export declare const DeviceDeviceActorEnum: { readonly DeviceActorUnspecified: "DEVICE_ACTOR_UNSPECIFIED"; readonly DeviceActorHuman: "DEVICE_ACTOR_HUMAN"; readonly DeviceActorBot: "DEVICE_ACTOR_BOT"; readonly DeviceActorAgent: "DEVICE_ACTOR_AGENT"; readonly DeviceActorUnknown: "DEVICE_ACTOR_UNKNOWN"; }; export type DeviceDeviceActorEnum = typeof DeviceDeviceActorEnum[keyof typeof DeviceDeviceActorEnum]; /** * @export */ export declare const DeviceDeviceTypeEnum: { readonly DeviceTypeUnspecified: "DEVICE_TYPE_UNSPECIFIED"; readonly DeviceTypeNative: "DEVICE_TYPE_NATIVE"; readonly DeviceTypeMobile: "DEVICE_TYPE_MOBILE"; readonly DeviceTypeTablet: "DEVICE_TYPE_TABLET"; readonly DeviceTypeDesktop: "DEVICE_TYPE_DESKTOP"; readonly DeviceTypeUnknown: "DEVICE_TYPE_UNKNOWN"; }; export type DeviceDeviceTypeEnum = typeof DeviceDeviceTypeEnum[keyof typeof DeviceDeviceTypeEnum]; /** * Check if a given object implements the Device interface. */ export declare function instanceOfDevice(value: object): value is Device; export declare function DeviceFromJSON(json: any): Device; export declare function DeviceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Device; export declare function DeviceToJSON(json: any): Device; export declare function DeviceToJSONTyped(value?: Device | null, ignoreDiscriminator?: boolean): any;