{"resources":{"openai":{"id":"openai","name":"openai","fields":{"adminApiKey":{"name":"adminApiKey","type":"\u001bopenai.adminApiKey","title":"OpenAI admin API key","desc":"Organization admin API key, the most privileged credential class in an OpenAI account: an admin key reads and modifies organization configuration, membership, projects, and the API keys inside them. The `owner` field resolves the member the key was issued to, while `expiresAt` and `lastUsedAt` surface keys that never expire or that have gone unused and can be revoked.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"adminApiKeys":{"name":"adminApiKeys","type":"\u0019\u001bopenai.adminApiKey","title":"Organization admin API keys (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"auditLog":{"name":"auditLog","type":"\u001bopenai.auditLog","title":"OpenAI audit log entry","desc":"Record of a single user action or configuration change in the OpenAI organization, such as API key creation, project updates, login events, and role changes. Query these entries to monitor security-relevant activity, detect unauthorized changes, and support compliance requirements. The collection covers the last 30 days of activity. The `type` field identifies the recorded event and `actorType` distinguishes whether a user session or an API key performed it.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"auditLogs":{"name":"auditLogs","type":"\u0019\u001bopenai.auditLog","title":"Audit log entries from the last 30 days (requires admin API key)","provider":"go.mondoo.com/mql/providers/openai"},"certificate":{"name":"certificate","type":"\u001bopenai.certificate","title":"OpenAI certificate","desc":"Certificate uploaded to an organization for mutual TLS authentication, activated either across the organization or for individual projects. The `active` field reports whether the certificate is in force at the scope it was read from, and `validAt` and `expiresAt` bound the window it authenticates in, so certificates that have expired or are close to expiring can be found before connections start failing.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"certificates":{"name":"certificates","type":"\u0019\u001bopenai.certificate","title":"Certificates uploaded to the organization (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"container":{"name":"container","type":"\u001bopenai.container","title":"OpenAI container","desc":"Sandbox that runs code on a model's behalf through the code interpreter tool. The `networkPolicyType` field reports whether outbound access is turned off or restricted to an allowlist, and `networkPolicyAllowedDomains` names the destinations an allowlisted container can reach, which bounds where code the model wrote is able to send data. The `lastActiveAt` and `expiresAfterMinutes` fields show how long an idle sandbox lingers before it is torn down.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"containers":{"name":"containers","type":"\u0019\u001bopenai.container","title":"Code interpreter containers","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"dataRetentionType":{"name":"dataRetentionType","type":"\u0007","title":"Data retention policy applied to API traffic (requires admin API key)","desc":"One of zero_data_retention, modified_abuse_monitoring, enhanced_zero_data_retention, or enhanced_modified_abuse_monitoring. Under zero data retention OpenAI stores no request or response content; the modified abuse monitoring settings turn off retention of content for human review.","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"file":{"name":"file","type":"\u001bopenai.file","title":"OpenAI file","desc":"File uploaded to the OpenAI platform, used for fine-tuning training data, batch input/output, assistant knowledge retrieval, and vision inputs. The `purpose` field indicates the file's intended use, and `status` reports whether it has finished processing. Audit these to track what data was uploaded to the organization and for what use.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"files":{"name":"files","type":"\u0019\u001bopenai.file","title":"Uploaded files","provider":"go.mondoo.com/mql/providers/openai"},"fineTuningJob":{"name":"fineTuningJob","type":"\u001bopenai.fineTuningJob","title":"OpenAI fine-tuning job","desc":"Fine-tuning job that customizes a base model on organization-provided training data. Records the training status, hyperparameters, token usage, and the resulting fine-tuned model identifier, so you can audit model lineage: which base model was fine-tuned, with what training and validation data, and what model was produced. A job is selected by its identifier, for example openai.fineTuningJob(id: \"ftjob-abc123\").","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"fineTuningJobs":{"name":"fineTuningJobs","type":"\u0019\u001bopenai.fineTuningJob","title":"Fine-tuning jobs","provider":"go.mondoo.com/mql/providers/openai"},"group":{"name":"group","type":"\u001bopenai.group","title":"OpenAI group","desc":"Collection of organization members used to grant roles to several people at once. Groups synchronized from an external identity provider report `isScimManaged`, which separates directory-controlled membership from membership edited in the OpenAI dashboard: a group that is not SCIM managed can be changed without a corresponding change in the identity provider. The `members` and `roles` fields expand who belongs to the group and what privileges the group confers.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"groups":{"name":"groups","type":"\u0019\u001bopenai.group","title":"Groups in the organization (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"invite":{"name":"invite","type":"\u001bopenai.invite","title":"OpenAI organization invite","desc":"Pending invitation to join the OpenAI organization, tracking the invited email, the role that will be granted on acceptance, and the current acceptance status. Query this resource to audit outstanding invitations, surface unclaimed or expired invites, and confirm that invitees are granted only the intended level of access.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"invites":{"name":"invites","type":"\u0019\u001bopenai.invite","title":"Pending invites (requires admin API key)","provider":"go.mondoo.com/mql/providers/openai"},"model":{"name":"model","type":"\u001bopenai.model","title":"OpenAI model","desc":"AI model available in the OpenAI account, including both base models owned by OpenAI (such as gpt-4o or o3) and fine-tuned models owned by the organization. The `id` field is the model identifier used in API calls and selects the model, for example openai.model(id: \"gpt-4o\"). For fine-tuned models the structured ID encodes the base model, organization, and suffix, surfaced through `baseModel` and `isFineTuned` for AIBOM lineage tracking.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"models":{"name":"models","type":"\u0019\u001bopenai.model","title":"Available models","provider":"go.mondoo.com/mql/providers/openai"},"organization":{"name":"organization","type":"\u0007","title":"Organization ID associated with the API key","provider":"go.mondoo.com/mql/providers/openai"},"organizationUser":{"name":"organizationUser","type":"\u001bopenai.organizationUser","title":"OpenAI organization user","desc":"Member of an OpenAI organization, with the role that grants their privilege level (owner or reader), email address, and account provenance flags. The `role` field surfaces who holds owner-level control, and the `apiKeyLastUsedAt` timestamp helps identify inactive accounts. Flags like `isScimManaged`, `isServiceAccount`, and `isDefault` distinguish directory-synced members, machine identities, and the default organization owner.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"project":{"name":"project","type":"\u001bopenai.project","title":"OpenAI project","desc":"Organization project in the OpenAI platform. Projects provide isolation for API keys, usage limits, and team access. Query by project id to audit which keys and service accounts belong to a project, and whether it is active or archived. Requires an admin API key.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"projectId":{"name":"projectId","type":"\u0007","title":"Project ID associated with the API key","provider":"go.mondoo.com/mql/providers/openai"},"projects":{"name":"projects","type":"\u0019\u001bopenai.project","title":"Projects in the organization","provider":"go.mondoo.com/mql/providers/openai"},"role":{"name":"role","type":"\u001bopenai.role","title":"OpenAI role","desc":"Named set of permissions that can be granted to organization members and to groups. Roles marked `isPredefined` ship with OpenAI, while the rest are defined by the organization. The `permissions` list enumerates every capability the role carries, so you can find the roles that grant administrative capability and then walk members and groups to see who holds them. The `resourceType` field records the scope the role applies to.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"roles":{"name":"roles","type":"\u0019\u001bopenai.role","title":"Roles available in the organization (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendAlert":{"name":"spendAlert","type":"\u001bopenai.spendAlert","title":"OpenAI spend alert","desc":"Notification that fires when spend crosses a threshold within an interval, configured either for the whole organization or for a single project. An account with a hard spend limit but no alerts below it stops working without warning, so the presence and placement of alerts is worth auditing alongside the limit itself. The `notificationRecipients` field lists the addresses the alert reaches.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"spendAlerts":{"name":"spendAlerts","type":"\u0019\u001bopenai.spendAlert","title":"Spend alerts configured for the organization (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendLimitAmount":{"name":"spendLimitAmount","type":"\u0005","title":"Hard spend limit in cents, null when no limit is set (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendLimitCurrency":{"name":"spendLimitCurrency","type":"\u0007","title":"Currency of the hard spend limit, null when no limit is set","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendLimitEnforcement":{"name":"spendLimitEnforcement","type":"\u0007","title":"Enforcement state of the hard spend limit, null when no limit is set","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendLimitInterval":{"name":"spendLimitInterval","type":"\u0007","title":"Interval the hard spend limit is evaluated over, null when no limit is set","desc":"Currently always month.","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"users":{"name":"users","type":"\u0019\u001bopenai.organizationUser","title":"Organization users (requires admin API key)","provider":"go.mondoo.com/mql/providers/openai"},"vectorStore":{"name":"vectorStore","type":"\u001bopenai.vectorStore","title":"OpenAI vector store","desc":"Vector store used for knowledge retrieval in the Assistants API. Vector stores hold file embeddings for semantic search over uploaded files. The `fileCounts` field reports how many files are in each processing state, and `expiresAfter` describes any automatic expiration policy attached to the store.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"vectorStores":{"name":"vectorStores","type":"\u0019\u001bopenai.vectorStore","title":"Vector stores","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI account","desc":"Online API inventory for an OpenAI account, spanning available models, uploaded files, fine-tuning jobs, vector stores, projects, organization users, groups, roles, admin API keys, pending invites, and audit logs. This inventory supports AI Bill of Materials (AIBOM) generation and lets you audit model lineage, organization membership, privilege assignment, and security-relevant activity across the organization. Several collections (users, groups, roles, admin API keys, invites, audit logs, project keys, and service accounts) require an admin API key.","min_provider_version":"13.0.0","defaults":"organization","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.adminApiKey":{"id":"openai.adminApiKey","name":"openai.adminApiKey","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"expiresAt":{"name":"expiresAt","type":"\t","is_mandatory":true,"title":"Expiration timestamp (null when the key never expires)","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Admin API key identifier","provider":"go.mondoo.com/mql/providers/openai"},"lastUsedAt":{"name":"lastUsedAt","type":"\t","is_mandatory":true,"title":"Last usage timestamp (null when the key has never been used)","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Display name","provider":"go.mondoo.com/mql/providers/openai"},"owner":{"name":"owner","type":"\u001bopenai.organizationUser","title":"Member the key was issued to (null when a service account owns it)","provider":"go.mondoo.com/mql/providers/openai"},"ownerName":{"name":"ownerName","type":"\u0007","is_mandatory":true,"title":"Owner name (user email or service account name)","provider":"go.mondoo.com/mql/providers/openai"},"ownerRole":{"name":"ownerRole","type":"\u0007","is_mandatory":true,"title":"Organization role recorded for the owner","provider":"go.mondoo.com/mql/providers/openai"},"ownerType":{"name":"ownerType","type":"\u0007","is_mandatory":true,"title":"Owner type","desc":"One of user or service_account.","provider":"go.mondoo.com/mql/providers/openai"},"redactedValue":{"name":"redactedValue","type":"\u0007","is_mandatory":true,"title":"Redacted key value for identification","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI admin API key","desc":"Organization admin API key, the most privileged credential class in an OpenAI account: an admin key reads and modifies organization configuration, membership, projects, and the API keys inside them. The `owner` field resolves the member the key was issued to, while `expiresAt` and `lastUsedAt` surface keys that never expire or that have gone unused and can be revoked.","min_provider_version":"13.0.12","defaults":"name ownerName lastUsedAt","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.auditLog":{"id":"openai.auditLog","name":"openai.auditLog","fields":{"actorId":{"name":"actorId","type":"\u0007","is_mandatory":true,"title":"Actor email (for session actors) or API key ID (for API key actors)","provider":"go.mondoo.com/mql/providers/openai"},"actorType":{"name":"actorType","type":"\u0007","is_mandatory":true,"title":"Actor type","desc":"One of session or api_key.","provider":"go.mondoo.com/mql/providers/openai"},"effectiveAt":{"name":"effectiveAt","type":"\t","is_mandatory":true,"title":"Timestamp when the event occurred","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Log entry identifier","provider":"go.mondoo.com/mql/providers/openai"},"type":{"name":"type","type":"\u0007","is_mandatory":true,"title":"Event type","desc":"Examples: api_key.created, api_key.deleted, invite.sent, login.succeeded, login.failed, project.created, user.added, service_account.created, role.assignment.created.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI audit log entry","desc":"Record of a single user action or configuration change in the OpenAI organization, such as API key creation, project updates, login events, and role changes. Query these entries to monitor security-relevant activity, detect unauthorized changes, and support compliance requirements. The collection covers the last 30 days of activity. The `type` field identifies the recorded event and `actorType` distinguishes whether a user session or an API key performed it.","min_provider_version":"13.0.0","defaults":"id type effectiveAt","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.certificate":{"id":"openai.certificate","name":"openai.certificate","fields":{"active":{"name":"active","type":"\u0004","is_mandatory":true,"title":"Whether the certificate is active at the scope it was read from","provider":"go.mondoo.com/mql/providers/openai"},"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Upload timestamp","provider":"go.mondoo.com/mql/providers/openai"},"expiresAt":{"name":"expiresAt","type":"\t","is_mandatory":true,"title":"Expiration timestamp","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Certificate identifier","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Certificate name","provider":"go.mondoo.com/mql/providers/openai"},"validAt":{"name":"validAt","type":"\t","is_mandatory":true,"title":"Timestamp the certificate becomes valid","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI certificate","desc":"Certificate uploaded to an organization for mutual TLS authentication, activated either across the organization or for individual projects. The `active` field reports whether the certificate is in force at the scope it was read from, and `validAt` and `expiresAt` bound the window it authenticates in, so certificates that have expired or are close to expiring can be found before connections start failing.","min_provider_version":"13.0.12","defaults":"name active expiresAt","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.container":{"id":"openai.container","name":"openai.container","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"expiresAfterAnchor":{"name":"expiresAfterAnchor","type":"\u0007","is_mandatory":true,"title":"Reference point the expiration is measured from, null when no expiration is set","desc":"Currently always last_active_at.","provider":"go.mondoo.com/mql/providers/openai"},"expiresAfterMinutes":{"name":"expiresAfterMinutes","type":"\u0005","is_mandatory":true,"title":"Minutes after the anchor at which the container expires, null when no expiration is set","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Container identifier","provider":"go.mondoo.com/mql/providers/openai"},"lastActiveAt":{"name":"lastActiveAt","type":"\t","is_mandatory":true,"title":"Last activity timestamp (null when the container has not been used)","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Container name","provider":"go.mondoo.com/mql/providers/openai"},"networkPolicyAllowedDomains":{"name":"networkPolicyAllowedDomains","type":"\u0019\u0007","is_mandatory":true,"title":"Domains an allowlisted container may reach","desc":"Empty under a disabled policy, and null when the container reports no network policy.","provider":"go.mondoo.com/mql/providers/openai"},"networkPolicyType":{"name":"networkPolicyType","type":"\u0007","is_mandatory":true,"title":"Outbound network policy mode","desc":"One of allowlist, where only the listed domains are reachable, or disabled, where the container has no outbound access at all. Null when the container reports no network policy.","provider":"go.mondoo.com/mql/providers/openai"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Container status","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI container","desc":"Sandbox that runs code on a model's behalf through the code interpreter tool. The `networkPolicyType` field reports whether outbound access is turned off or restricted to an allowlist, and `networkPolicyAllowedDomains` names the destinations an allowlisted container can reach, which bounds where code the model wrote is able to send data. The `lastActiveAt` and `expiresAfterMinutes` fields show how long an idle sandbox lingers before it is torn down.","min_provider_version":"13.0.12","defaults":"name status networkPolicyType","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.file":{"id":"openai.file","name":"openai.file","fields":{"bytes":{"name":"bytes","type":"\u0005","is_mandatory":true,"title":"File size in bytes","provider":"go.mondoo.com/mql/providers/openai"},"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Upload timestamp","provider":"go.mondoo.com/mql/providers/openai"},"filename":{"name":"filename","type":"\u0007","is_mandatory":true,"title":"Original filename","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"File identifier","provider":"go.mondoo.com/mql/providers/openai"},"purpose":{"name":"purpose","type":"\u0007","is_mandatory":true,"title":"Intended use of the file","desc":"One of assistants, assistants_output, batch, batch_output, fine-tune, fine-tune-results, or vision.","provider":"go.mondoo.com/mql/providers/openai"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Processing status","desc":"One of uploaded, processed, or error.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI file","desc":"File uploaded to the OpenAI platform, used for fine-tuning training data, batch input/output, assistant knowledge retrieval, and vision inputs. The `purpose` field indicates the file's intended use, and `status` reports whether it has finished processing. Audit these to track what data was uploaded to the organization and for what use.","min_provider_version":"13.0.0","defaults":"id filename purpose","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.fineTuningJob":{"id":"openai.fineTuningJob","name":"openai.fineTuningJob","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"error":{"name":"error","type":"\n","is_mandatory":true,"title":"Error information if the job failed","desc":"Null unless the job failed. When present, `code` is the machine-readable failure code, `message` is the human-readable explanation, and `param` is the parameter that caused the failure (empty when not parameter-specific).","provider":"go.mondoo.com/mql/providers/openai"},"fineTunedModel":{"name":"fineTunedModel","type":"\u0007","is_mandatory":true,"title":"Identifier of the resulting fine-tuned model (empty until succeeded)","provider":"go.mondoo.com/mql/providers/openai"},"finishedAt":{"name":"finishedAt","type":"\t","is_mandatory":true,"title":"Completion timestamp (null if not finished)","provider":"go.mondoo.com/mql/providers/openai"},"hyperparameters":{"name":"hyperparameters","type":"\n","is_mandatory":true,"title":"Training hyperparameters","desc":"Keyed by hyperparameter name. Contains `n_epochs`, the number of passes over the training data, given as an integer or the string \"auto\" when OpenAI selects the value.","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Job identifier","provider":"go.mondoo.com/mql/providers/openai"},"model":{"name":"model","type":"\u0007","is_mandatory":true,"title":"Base model being fine-tuned","provider":"go.mondoo.com/mql/providers/openai"},"organizationId":{"name":"organizationId","type":"\u0007","is_mandatory":true,"title":"Organization that owns this job","provider":"go.mondoo.com/mql/providers/openai"},"seed":{"name":"seed","type":"\u0005","is_mandatory":true,"title":"Random seed used for reproducibility","provider":"go.mondoo.com/mql/providers/openai"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Job status","desc":"One of validating_files, queued, running, succeeded, failed, or cancelled.","provider":"go.mondoo.com/mql/providers/openai"},"trainedTokens":{"name":"trainedTokens","type":"\u0005","is_mandatory":true,"title":"Number of tokens used during training","provider":"go.mondoo.com/mql/providers/openai"},"trainingFile":{"name":"trainingFile","type":"\u001bopenai.file","title":"Training file","provider":"go.mondoo.com/mql/providers/openai"},"validationFile":{"name":"validationFile","type":"\u001bopenai.file","title":"Validation file (null if not provided)","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI fine-tuning job","desc":"Fine-tuning job that customizes a base model on organization-provided training data. Records the training status, hyperparameters, token usage, and the resulting fine-tuned model identifier, so you can audit model lineage: which base model was fine-tuned, with what training and validation data, and what model was produced. A job is selected by its identifier, for example openai.fineTuningJob(id: \"ftjob-abc123\").","min_provider_version":"13.0.0","defaults":"id model status","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.group":{"id":"openai.group","name":"openai.group","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"groupType":{"name":"groupType","type":"\u0007","is_mandatory":true,"title":"Group type","desc":"One of group or tenant_group.","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Group identifier","provider":"go.mondoo.com/mql/providers/openai"},"isScimManaged":{"name":"isScimManaged","type":"\u0004","is_mandatory":true,"title":"Whether the group is managed through SCIM","provider":"go.mondoo.com/mql/providers/openai"},"members":{"name":"members","type":"\u0019\u001bopenai.organizationUser","title":"Members of the group","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Group name","provider":"go.mondoo.com/mql/providers/openai"},"roles":{"name":"roles","type":"\u0019\u001bopenai.role","title":"Roles granted to the group","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI group","desc":"Collection of organization members used to grant roles to several people at once. Groups synchronized from an external identity provider report `isScimManaged`, which separates directory-controlled membership from membership edited in the OpenAI dashboard: a group that is not SCIM managed can be changed without a corresponding change in the identity provider. The `members` and `roles` fields expand who belongs to the group and what privileges the group confers.","min_provider_version":"13.0.12","defaults":"name groupType","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.invite":{"id":"openai.invite","name":"openai.invite","fields":{"acceptedAt":{"name":"acceptedAt","type":"\t","is_mandatory":true,"title":"Acceptance timestamp (null if not accepted)","provider":"go.mondoo.com/mql/providers/openai"},"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"email":{"name":"email","type":"\u0007","is_mandatory":true,"title":"Invited email address","provider":"go.mondoo.com/mql/providers/openai"},"expiresAt":{"name":"expiresAt","type":"\t","is_mandatory":true,"title":"Expiration timestamp","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Invite identifier","provider":"go.mondoo.com/mql/providers/openai"},"role":{"name":"role","type":"\u0007","is_mandatory":true,"title":"Assigned role for the invitee","desc":"One of owner or reader.","provider":"go.mondoo.com/mql/providers/openai"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Invite status","desc":"One of accepted, expired, or pending.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI organization invite","desc":"Pending invitation to join the OpenAI organization, tracking the invited email, the role that will be granted on acceptance, and the current acceptance status. Query this resource to audit outstanding invitations, surface unclaimed or expired invites, and confirm that invitees are granted only the intended level of access.","min_provider_version":"13.0.0","defaults":"id email status","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.model":{"id":"openai.model","name":"openai.model","fields":{"baseModel":{"name":"baseModel","type":"\u0007","title":"Base model identifier for fine-tuned models, empty for base models","desc":"Extracted from the fine-tuned model ID. For example, a model with id \"ft:gpt-4o-mini:my-org:custom:abc123\" has baseModel \"gpt-4o-mini\".","provider":"go.mondoo.com/mql/providers/openai"},"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Model identifier used in API calls (e.g., \"gpt-4o\", \"ft:gpt-4o-mini:my-org:custom:abc123\")","provider":"go.mondoo.com/mql/providers/openai"},"isFineTuned":{"name":"isFineTuned","type":"\u0004","title":"Whether this is a fine-tuned model","provider":"go.mondoo.com/mql/providers/openai"},"ownedBy":{"name":"ownedBy","type":"\u0007","is_mandatory":true,"title":"Entity that owns the model","desc":"For example system, openai, or an organization identifier for fine-tuned models.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI model","desc":"AI model available in the OpenAI account, including both base models owned by OpenAI (such as gpt-4o or o3) and fine-tuned models owned by the organization. The `id` field is the model identifier used in API calls and selects the model, for example openai.model(id: \"gpt-4o\"). For fine-tuned models the structured ID encodes the base model, organization, and suffix, surfaced through `baseModel` and `isFineTuned` for AIBOM lineage tracking.","min_provider_version":"13.0.0","defaults":"id ownedBy","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.organizationUser":{"id":"openai.organizationUser","name":"openai.organizationUser","fields":{"addedAt":{"name":"addedAt","type":"\t","is_mandatory":true,"title":"Timestamp when the user was added to the organization","provider":"go.mondoo.com/mql/providers/openai"},"apiKeyLastUsedAt":{"name":"apiKeyLastUsedAt","type":"\t","is_mandatory":true,"title":"Last API key usage timestamp","provider":"go.mondoo.com/mql/providers/openai"},"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Account creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"email":{"name":"email","type":"\u0007","is_mandatory":true,"title":"User email address","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"User identifier","provider":"go.mondoo.com/mql/providers/openai"},"isDefault":{"name":"isDefault","type":"\u0004","is_mandatory":true,"title":"Whether this is the default user","provider":"go.mondoo.com/mql/providers/openai"},"isScimManaged":{"name":"isScimManaged","type":"\u0004","is_mandatory":true,"title":"Whether the user is managed through SCIM","provider":"go.mondoo.com/mql/providers/openai"},"isServiceAccount":{"name":"isServiceAccount","type":"\u0004","is_mandatory":true,"title":"Whether the user is a service account","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"User display name","provider":"go.mondoo.com/mql/providers/openai"},"role":{"name":"role","type":"\u0007","is_mandatory":true,"title":"Organization role","desc":"One of owner or reader.","provider":"go.mondoo.com/mql/providers/openai"},"roles":{"name":"roles","type":"\u0019\u001bopenai.role","title":"Roles held by the user","desc":"The effective set, covering roles granted to the user directly and roles the user picks up through group membership.","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI organization user","desc":"Member of an OpenAI organization, with the role that grants their privilege level (owner or reader), email address, and account provenance flags. The `role` field surfaces who holds owner-level control, and the `apiKeyLastUsedAt` timestamp helps identify inactive accounts. Flags like `isScimManaged`, `isServiceAccount`, and `isDefault` distinguish directory-synced members, machine identities, and the default organization owner.","min_provider_version":"13.0.0","defaults":"id email role","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.project":{"id":"openai.project","name":"openai.project","fields":{"apiKey":{"name":"apiKey","type":"\u001bopenai.project.apiKey","title":"OpenAI project API key","desc":"API key within an organization project. Each key has an owner (user or service account) and a redacted value for identification. Audit key age, last usage, and ownership to spot stale or over-privileged credentials during security reviews.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"apiKeys":{"name":"apiKeys","type":"\u0019\u001bopenai.project.apiKey","title":"API keys in this project (requires admin API key)","provider":"go.mondoo.com/mql/providers/openai"},"archivedAt":{"name":"archivedAt","type":"\t","is_mandatory":true,"title":"Archive timestamp (null if active)","provider":"go.mondoo.com/mql/providers/openai"},"certificates":{"name":"certificates","type":"\u0019\u001bopenai.certificate","title":"Certificates activated for this project (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"codeInterpreterEnabled":{"name":"codeInterpreterEnabled","type":"\u0004","title":"Whether the project may run the hosted code interpreter","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"dataRetentionType":{"name":"dataRetentionType","type":"\u0007","title":"Data retention policy applied to this project (requires admin API key)","desc":"One of organization_default, none, zero_data_retention, modified_abuse_monitoring, enhanced_zero_data_retention, or enhanced_modified_abuse_monitoring. A project set to organization_default inherits the organization policy, so a project can be less strict than the organization only by naming a weaker policy of its own.","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"fileSearchEnabled":{"name":"fileSearchEnabled","type":"\u0004","title":"Whether the project may use hosted file search","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"groups":{"name":"groups","type":"\u0019\u001bopenai.group","title":"Groups granted access to this project (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Project identifier","provider":"go.mondoo.com/mql/providers/openai"},"imageGenerationEnabled":{"name":"imageGenerationEnabled","type":"\u0004","title":"Whether the project may use hosted image generation","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"mcpEnabled":{"name":"mcpEnabled","type":"\u0004","title":"Whether the project may reach remote MCP servers","desc":"Hosted MCP lets a model call tools on servers outside OpenAI, which widens both the data a prompt can reach and the actions a model can take on the project's behalf.","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"modelPermissionMode":{"name":"modelPermissionMode","type":"\u0007","title":"How the model policy treats the model list (requires admin API key)","desc":"One of allow_list, where only the listed models may be called, or deny_list, where every model except the listed ones may be called. Null when no model policy is configured and every model is reachable.","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"modelPermissionModelIds":{"name":"modelPermissionModelIds","type":"\u0019\u0007","title":"Model identifiers named by the model policy","desc":"Read together with modelPermissionMode: under allow_list these are the only models the project may call, under deny_list they are the models it may not. Null when no model policy is configured.","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Project name","provider":"go.mondoo.com/mql/providers/openai"},"rateLimit":{"name":"rateLimit","type":"\u001bopenai.project.rateLimit","title":"OpenAI project rate limit","desc":"Per-model throughput ceiling applied to a project, covering requests and tokens per minute and, for the models that support them, image, audio, daily request, and batch input allowances. Rate limits bound how much a compromised or runaway key inside the project can consume before it is stopped. The `model` field names the model the limit applies to. Allowances that do not apply to a model report null rather than zero.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"rateLimits":{"name":"rateLimits","type":"\u0019\u001bopenai.project.rateLimit","title":"Per-model rate limits for this project (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"roles":{"name":"roles","type":"\u0019\u001bopenai.role","title":"Roles available in this project (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"serviceAccount":{"name":"serviceAccount","type":"\u001bopenai.project.serviceAccount","title":"OpenAI project service account","desc":"Service account within an organization project. Service accounts are non-human identities used for API automation, each assigned an owner or member role. Audit service account roles and creation dates to keep automation credentials scoped and accounted for.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"serviceAccounts":{"name":"serviceAccounts","type":"\u0019\u001bopenai.project.serviceAccount","title":"Service accounts in this project (requires admin API key)","provider":"go.mondoo.com/mql/providers/openai"},"spendAlerts":{"name":"spendAlerts","type":"\u0019\u001bopenai.spendAlert","title":"Spend alerts configured for this project (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendLimitAmount":{"name":"spendLimitAmount","type":"\u0005","title":"Hard spend limit in cents, null when no limit is set (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendLimitCurrency":{"name":"spendLimitCurrency","type":"\u0007","title":"Currency of the hard spend limit, null when no limit is set","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendLimitEnforcement":{"name":"spendLimitEnforcement","type":"\u0007","title":"Enforcement state of the hard spend limit, null when no limit is set","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"spendLimitInterval":{"name":"spendLimitInterval","type":"\u0007","title":"Interval the hard spend limit is evaluated over, null when no limit is set","desc":"Currently always month.","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Project status","desc":"One of active or archived.","provider":"go.mondoo.com/mql/providers/openai"},"user":{"name":"user","type":"\u001bopenai.project.user","title":"OpenAI project member","desc":"Member of an organization project, holding a project role that governs what the member may do inside that project. Project roles are separate from organization roles: someone who is only a reader at the organization level can still be an owner of an individual project, so auditing owners requires walking projects as well as the organization. The `user` field resolves the organization member record behind the membership, and `addedAt` records when access was granted.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"users":{"name":"users","type":"\u0019\u001bopenai.project.user","title":"Members of this project (requires admin API key)","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"},"webSearchEnabled":{"name":"webSearchEnabled","type":"\u0004","title":"Whether the project may use hosted web search","min_provider_version":"13.0.12","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI project","desc":"Organization project in the OpenAI platform. Projects provide isolation for API keys, usage limits, and team access. Query by project id to audit which keys and service accounts belong to a project, and whether it is active or archived. Requires an admin API key.","min_provider_version":"13.0.0","defaults":"id name status","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.project.apiKey":{"id":"openai.project.apiKey","name":"openai.project.apiKey","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"API key identifier","provider":"go.mondoo.com/mql/providers/openai"},"lastUsedAt":{"name":"lastUsedAt","type":"\t","is_mandatory":true,"title":"Last usage timestamp","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Display name","provider":"go.mondoo.com/mql/providers/openai"},"ownerId":{"name":"ownerId","type":"\u0007","is_mandatory":true,"title":"Owner identifier","provider":"go.mondoo.com/mql/providers/openai"},"ownerName":{"name":"ownerName","type":"\u0007","is_mandatory":true,"title":"Owner name (user email or service account name)","provider":"go.mondoo.com/mql/providers/openai"},"ownerType":{"name":"ownerType","type":"\u0007","is_mandatory":true,"title":"Owner type","desc":"One of user or service_account.","provider":"go.mondoo.com/mql/providers/openai"},"redactedValue":{"name":"redactedValue","type":"\u0007","is_mandatory":true,"title":"Redacted key value for identification","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI project API key","desc":"API key within an organization project. Each key has an owner (user or service account) and a redacted value for identification. Audit key age, last usage, and ownership to spot stale or over-privileged credentials during security reviews.","min_provider_version":"13.0.0","defaults":"id name","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.project.rateLimit":{"id":"openai.project.rateLimit","name":"openai.project.rateLimit","fields":{"batchMaxInputTokensPerDay":{"name":"batchMaxInputTokensPerDay","type":"\u0005","is_mandatory":true,"title":"Maximum batch input tokens per day, null for models without a batch allowance","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Rate limit identifier","provider":"go.mondoo.com/mql/providers/openai"},"maxAudioMegabytesPerMinute":{"name":"maxAudioMegabytesPerMinute","type":"\u0005","is_mandatory":true,"title":"Maximum audio megabytes per minute, null for models without an audio allowance","provider":"go.mondoo.com/mql/providers/openai"},"maxImagesPerMinute":{"name":"maxImagesPerMinute","type":"\u0005","is_mandatory":true,"title":"Maximum images per minute, null for models without an image allowance","provider":"go.mondoo.com/mql/providers/openai"},"maxRequestsPerDay":{"name":"maxRequestsPerDay","type":"\u0005","is_mandatory":true,"title":"Maximum requests per day, null for models without a daily request allowance","provider":"go.mondoo.com/mql/providers/openai"},"maxRequestsPerMinute":{"name":"maxRequestsPerMinute","type":"\u0005","is_mandatory":true,"title":"Maximum requests per minute","provider":"go.mondoo.com/mql/providers/openai"},"maxTokensPerMinute":{"name":"maxTokensPerMinute","type":"\u0005","is_mandatory":true,"title":"Maximum tokens per minute","provider":"go.mondoo.com/mql/providers/openai"},"model":{"name":"model","type":"\u0007","is_mandatory":true,"title":"Model the limit applies to","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI project rate limit","desc":"Per-model throughput ceiling applied to a project, covering requests and tokens per minute and, for the models that support them, image, audio, daily request, and batch input allowances. Rate limits bound how much a compromised or runaway key inside the project can consume before it is stopped. The `model` field names the model the limit applies to. Allowances that do not apply to a model report null rather than zero.","min_provider_version":"13.0.12","defaults":"model maxRequestsPerMinute maxTokensPerMinute","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.project.serviceAccount":{"id":"openai.project.serviceAccount","name":"openai.project.serviceAccount","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Service account identifier","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Service account name","provider":"go.mondoo.com/mql/providers/openai"},"role":{"name":"role","type":"\u0007","is_mandatory":true,"title":"Assigned role","desc":"One of owner or member.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI project service account","desc":"Service account within an organization project. Service accounts are non-human identities used for API automation, each assigned an owner or member role. Audit service account roles and creation dates to keep automation credentials scoped and accounted for.","min_provider_version":"13.0.0","defaults":"id name role","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.project.user":{"id":"openai.project.user","name":"openai.project.user","fields":{"addedAt":{"name":"addedAt","type":"\t","is_mandatory":true,"title":"Timestamp when the user was added to the project","provider":"go.mondoo.com/mql/providers/openai"},"email":{"name":"email","type":"\u0007","is_mandatory":true,"title":"User email address","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"User identifier","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"User display name","provider":"go.mondoo.com/mql/providers/openai"},"role":{"name":"role","type":"\u0007","is_mandatory":true,"title":"Project role","desc":"One of owner or member.","provider":"go.mondoo.com/mql/providers/openai"},"user":{"name":"user","type":"\u001bopenai.organizationUser","title":"Organization member record for this user","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI project member","desc":"Member of an organization project, holding a project role that governs what the member may do inside that project. Project roles are separate from organization roles: someone who is only a reader at the organization level can still be an owner of an individual project, so auditing owners requires walking projects as well as the organization. The `user` field resolves the organization member record behind the membership, and `addedAt` records when access was granted.","min_provider_version":"13.0.12","defaults":"email role","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.role":{"id":"openai.role","name":"openai.role","fields":{"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Role description","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Role identifier","provider":"go.mondoo.com/mql/providers/openai"},"isPredefined":{"name":"isPredefined","type":"\u0004","is_mandatory":true,"title":"Whether the role ships with OpenAI rather than being defined by the organization","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Role name","provider":"go.mondoo.com/mql/providers/openai"},"permissions":{"name":"permissions","type":"\u0019\u0007","is_mandatory":true,"title":"Permissions granted by the role","provider":"go.mondoo.com/mql/providers/openai"},"resourceType":{"name":"resourceType","type":"\u0007","is_mandatory":true,"title":"Scope the role applies to","desc":"For example organization or project.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI role","desc":"Named set of permissions that can be granted to organization members and to groups. Roles marked `isPredefined` ship with OpenAI, while the rest are defined by the organization. The `permissions` list enumerates every capability the role carries, so you can find the roles that grant administrative capability and then walk members and groups to see who holds them. The `resourceType` field records the scope the role applies to.","min_provider_version":"13.0.12","defaults":"name resourceType","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.spendAlert":{"id":"openai.spendAlert","name":"openai.spendAlert","fields":{"currency":{"name":"currency","type":"\u0007","is_mandatory":true,"title":"Currency of the threshold","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Spend alert identifier","provider":"go.mondoo.com/mql/providers/openai"},"interval":{"name":"interval","type":"\u0007","is_mandatory":true,"title":"Interval the spend is evaluated over","desc":"Currently always month.","provider":"go.mondoo.com/mql/providers/openai"},"notificationRecipients":{"name":"notificationRecipients","type":"\u0019\u0007","is_mandatory":true,"title":"Addresses the alert is delivered to","provider":"go.mondoo.com/mql/providers/openai"},"notificationSubjectPrefix":{"name":"notificationSubjectPrefix","type":"\u0007","is_mandatory":true,"title":"Prefix added to the notification subject line, empty when none is set","provider":"go.mondoo.com/mql/providers/openai"},"notificationType":{"name":"notificationType","type":"\u0007","is_mandatory":true,"title":"Delivery channel for the notification","desc":"Currently always email.","provider":"go.mondoo.com/mql/providers/openai"},"thresholdAmount":{"name":"thresholdAmount","type":"\u0005","is_mandatory":true,"title":"Threshold in cents at which the alert fires","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI spend alert","desc":"Notification that fires when spend crosses a threshold within an interval, configured either for the whole organization or for a single project. An account with a hard spend limit but no alerts below it stops working without warning, so the presence and placement of alerts is worth auditing alongside the limit itself. The `notificationRecipients` field lists the addresses the alert reaches.","min_provider_version":"13.0.12","defaults":"thresholdAmount interval","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.vectorStore":{"id":"openai.vectorStore","name":"openai.vectorStore","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"expiresAfter":{"name":"expiresAfter","type":"\n","is_mandatory":true,"title":"Expiration policy","desc":"Automatic expiration policy, or null when none is set. The anchor key holds the reference timestamp the countdown starts from (for example last_active_at) and days holds the number of days after the anchor at which the store expires.","provider":"go.mondoo.com/mql/providers/openai"},"expiresAt":{"name":"expiresAt","type":"\t","is_mandatory":true,"title":"Expiration timestamp (null if no expiration policy)","provider":"go.mondoo.com/mql/providers/openai"},"fileCounts":{"name":"fileCounts","type":"\n","is_mandatory":true,"title":"File counts by processing state","desc":"Number of files in the store keyed by processing state: in_progress, completed, failed, and cancelled, plus total for the overall count.","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Vector store identifier","provider":"go.mondoo.com/mql/providers/openai"},"lastActiveAt":{"name":"lastActiveAt","type":"\t","is_mandatory":true,"title":"Last active timestamp","provider":"go.mondoo.com/mql/providers/openai"},"metadata":{"name":"metadata","type":"\n","is_mandatory":true,"title":"User-defined metadata","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Display name","provider":"go.mondoo.com/mql/providers/openai"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Processing status","desc":"One of expired, in_progress, or completed.","provider":"go.mondoo.com/mql/providers/openai"},"usageBytes":{"name":"usageBytes","type":"\u0005","is_mandatory":true,"title":"Total storage used in bytes","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI vector store","desc":"Vector store used for knowledge retrieval in the Assistants API. Vector stores hold file embeddings for semantic search over uploaded files. The `fileCounts` field reports how many files are in each processing state, and `expiresAfter` describes any automatic expiration policy attached to the store.","min_provider_version":"13.0.0","defaults":"id name status","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"}}}