{"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"},"asset":{"name":"asset","type":"\u001basset","title":"Asset this root belongs to","desc":"Platform, version, identity and labels of the asset this root describes.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true},"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"},"batch":{"name":"batch","type":"\u001bopenai.batch","title":"OpenAI batch job","desc":"Asynchronous job that runs a file of queued API requests at a reduced rate. The `inputFile` and `outputFile` fields resolve the uploaded request file and the generated result file, which are among the largest stored artifacts on the platform, and `expiresAt` bounds how long the results stay retrievable. The `status` and `requestCounts` fields report where a job stopped and how many of its requests failed. A batch is selected by its identifier, for example openai.batch(id: \"batch_abc123\").","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"batches":{"name":"batches","type":"\u0019\u001bopenai.batch","title":"Batch jobs submitted to the Batch API","min_provider_version":"13.1.3","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"},"skill":{"name":"skill","type":"\u001bopenai.skill","title":"OpenAI skill","desc":"Reusable instruction package that a model loads and runs inside the project, versioned independently of the code that calls it. The `defaultVersion` field names the version a caller gets when it does not ask for one and `latestVersion` the newest uploaded, so a skill whose default trails its latest version runs older instructions than the ones most recently published.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"skills":{"name":"skills","type":"\u0019\u001bopenai.skill","title":"Skills available to the project","min_provider_version":"13.1.3","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","root":true},"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":{"actorApiKeyType":{"name":"actorApiKeyType","type":"\u0007","is_mandatory":true,"title":"Credential class behind an API key actor","desc":"One of user, for a key issued to a person, or service_account, for a key issued to automation. Null when a browser session performed the action.","min_provider_version":"13.1.3","provider":"go.mondoo.com/mql/providers/openai"},"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"},"actorIpAddress":{"name":"actorIpAddress","type":"\u0007","is_mandatory":true,"title":"Source address the action came from","desc":"Recorded for browser session actors. Null for actions performed with an API key, where the API reports no source address.","min_provider_version":"13.1.3","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"},"actorUser":{"name":"actorUser","type":"\u001bopenai.organizationUser","title":"Organization member that performed the action","desc":"Resolved for session actors and for API keys issued to a person. Null for service account keys and for members who have since been removed from the organization.","min_provider_version":"13.1.3","provider":"go.mondoo.com/mql/providers/openai"},"details":{"name":"details","type":"\n","is_mandatory":true,"title":"Change record for this entry","desc":"The payload the API reports under the key named by `type`, so the shape varies by event. An api_key.created entry carries the new key identifier and the scopes requested, ip_allowlist.updated carries the address ranges before and after the edit, and the workload_identity_provider events carry the issuer and audience that were trusted. Null for event types that carry no payload, such as login.succeeded.","min_provider_version":"13.1.3","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"},"project":{"name":"project","type":"\u001bopenai.project","title":"Project the action was scoped to","desc":"Null for actions that are not scoped to a project, and for projects that no longer exist. Actions taken with an admin API key are recorded against the default project.","min_provider_version":"13.1.3","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.batch":{"id":"openai.batch","name":"openai.batch","fields":{"cancelledAt":{"name":"cancelledAt","type":"\t","is_mandatory":true,"title":"Timestamp the batch was cancelled, null unless it was cancelled","provider":"go.mondoo.com/mql/providers/openai"},"cancellingAt":{"name":"cancellingAt","type":"\t","is_mandatory":true,"title":"Timestamp cancellation was requested, null unless it was requested","provider":"go.mondoo.com/mql/providers/openai"},"completedAt":{"name":"completedAt","type":"\t","is_mandatory":true,"title":"Completion timestamp, null unless the batch completed","provider":"go.mondoo.com/mql/providers/openai"},"completionWindow":{"name":"completionWindow","type":"\u0007","is_mandatory":true,"title":"Time frame the batch is processed within","desc":"Currently always 24h.","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"},"endpoint":{"name":"endpoint","type":"\u0007","is_mandatory":true,"title":"API endpoint the queued requests are sent to","desc":"For example /v1/chat/completions, /v1/embeddings, or /v1/responses.","provider":"go.mondoo.com/mql/providers/openai"},"errorFile":{"name":"errorFile","type":"\u001bopenai.file","title":"File holding the results of failed requests","desc":"Null when no request failed, and when the file is no longer listed in the account.","provider":"go.mondoo.com/mql/providers/openai"},"expiredAt":{"name":"expiredAt","type":"\t","is_mandatory":true,"title":"Timestamp the batch expired before finishing, null unless it expired","provider":"go.mondoo.com/mql/providers/openai"},"expiresAt":{"name":"expiresAt","type":"\t","is_mandatory":true,"title":"Timestamp the batch expires at, null when the batch reports no expiration","provider":"go.mondoo.com/mql/providers/openai"},"failedAt":{"name":"failedAt","type":"\t","is_mandatory":true,"title":"Failure timestamp, null unless the batch failed","provider":"go.mondoo.com/mql/providers/openai"},"finalizingAt":{"name":"finalizingAt","type":"\t","is_mandatory":true,"title":"Timestamp the batch started assembling results, null until it finalizes","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Batch identifier","provider":"go.mondoo.com/mql/providers/openai"},"inProgressAt":{"name":"inProgressAt","type":"\t","is_mandatory":true,"title":"Timestamp processing started, null until the batch runs","provider":"go.mondoo.com/mql/providers/openai"},"inputFile":{"name":"inputFile","type":"\u001bopenai.file","title":"File holding the queued requests","desc":"Null when the file is no longer listed in the account.","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"},"model":{"name":"model","type":"\u001bopenai.model","title":"Model the queued requests run against","desc":"Null when the batch reports no model, and when the model is no longer in the account model list.","provider":"go.mondoo.com/mql/providers/openai"},"outputFile":{"name":"outputFile","type":"\u001bopenai.file","title":"File holding the results of successful requests","desc":"Null until results exist, and when the file is no longer listed in the account.","provider":"go.mondoo.com/mql/providers/openai"},"requestCounts":{"name":"requestCounts","type":"\n","is_mandatory":true,"title":"Request counts by outcome","desc":"Keyed by total, completed, and failed.","provider":"go.mondoo.com/mql/providers/openai"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Batch status","desc":"One of validating, failed, in_progress, finalizing, completed, expired, cancelling, or cancelled.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI batch job","desc":"Asynchronous job that runs a file of queued API requests at a reduced rate. The `inputFile` and `outputFile` fields resolve the uploaded request file and the generated result file, which are among the largest stored artifacts on the platform, and `expiresAt` bounds how long the results stay retrievable. The `status` and `requestCounts` fields report where a job stopped and how many of its requests failed. A batch is selected by its identifier, for example openai.batch(id: \"batch_abc123\").","min_provider_version":"13.1.3","defaults":"id endpoint status","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"},"file":{"name":"file","type":"\u001bopenai.container.file","title":"OpenAI container file","desc":"File inside a code interpreter sandbox, either uploaded into it or written by the model while running code. The `source` field separates the two and `path` locates the file in the sandbox, so what a model produced can be read alongside the network policy that bounds where it could be sent.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"files":{"name":"files","type":"\u0019\u001bopenai.container.file","title":"Files present in the container","min_provider_version":"13.1.3","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.container.file":{"id":"openai.container.file","name":"openai.container.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":"Creation timestamp","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"},"path":{"name":"path","type":"\u0007","is_mandatory":true,"title":"Path of the file inside the container","provider":"go.mondoo.com/mql/providers/openai"},"source":{"name":"source","type":"\u0007","is_mandatory":true,"title":"Origin of the file","desc":"For example user for a file uploaded into the container, or assistant for a file the model wrote while running code.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI container file","desc":"File inside a code interpreter sandbox, either uploaded into it or written by the model while running code. The `source` field separates the two and `path` locates the file in the sandbox, so what a model produced can be read alongside the network policy that bounds where it could be sent.","min_provider_version":"13.1.3","defaults":"path source bytes","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":{"checkpoint":{"name":"checkpoint","type":"\u001bopenai.fineTuningJob.checkpoint","title":"OpenAI fine-tuning checkpoint","desc":"Model snapshot written during a fine-tuning job and callable as a model of its own. The `permissions` field lists the projects the checkpoint has been shared into, which is how a model trained on one project's data becomes reachable from another. The `fineTunedModelCheckpoint` field is the model name the checkpoint is called by.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"checkpoints":{"name":"checkpoints","type":"\u0019\u001bopenai.fineTuningJob.checkpoint","title":"Checkpoints produced by this job","min_provider_version":"13.1.3","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"},"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.fineTuningJob.checkpoint":{"id":"openai.fineTuningJob.checkpoint","name":"openai.fineTuningJob.checkpoint","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"fineTunedModelCheckpoint":{"name":"fineTunedModelCheckpoint","type":"\u0007","is_mandatory":true,"title":"Model name the checkpoint is called by","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Checkpoint identifier","provider":"go.mondoo.com/mql/providers/openai"},"permission":{"name":"permission","type":"\u001bopenai.fineTuningJob.checkpoint.permission","title":"OpenAI fine-tuning checkpoint permission","desc":"Grant that makes a fine-tuned checkpoint callable from a project other than the one whose data trained it. The `project` field resolves the project the grant names and `createdAt` records when the sharing started.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"permissions":{"name":"permissions","type":"\u0019\u001bopenai.fineTuningJob.checkpoint.permission","title":"Projects the checkpoint is shared into (requires an admin API key)","provider":"go.mondoo.com/mql/providers/openai"},"stepNumber":{"name":"stepNumber","type":"\u0005","is_mandatory":true,"title":"Training step the checkpoint was written at","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI fine-tuning checkpoint","desc":"Model snapshot written during a fine-tuning job and callable as a model of its own. The `permissions` field lists the projects the checkpoint has been shared into, which is how a model trained on one project's data becomes reachable from another. The `fineTunedModelCheckpoint` field is the model name the checkpoint is called by.","min_provider_version":"13.1.3","defaults":"fineTunedModelCheckpoint stepNumber","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"},"openai.fineTuningJob.checkpoint.permission":{"id":"openai.fineTuningJob.checkpoint.permission","name":"openai.fineTuningJob.checkpoint.permission","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Timestamp the checkpoint was shared with the project","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Permission identifier","provider":"go.mondoo.com/mql/providers/openai"},"project":{"name":"project","type":"\u001bopenai.project","title":"Project the checkpoint is shared into","desc":"Null when the project no longer exists.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI fine-tuning checkpoint permission","desc":"Grant that makes a fine-tuned checkpoint callable from a project other than the one whose data trained it. The `project` field resolves the project the grant names and `createdAt` records when the sharing started.","min_provider_version":"13.1.3","defaults":"createdAt","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"},"roleAssignment":{"name":"roleAssignment","type":"\u001bopenai.organizationUser.roleAssignment","title":"OpenAI role assignment","desc":"Single role held by an organization member, together with where the grant comes from. The `isDirect` field separates a role granted to the member outright from one that arrives through group membership, which decides whether removing the member from a group is enough to take the privilege away. The `inheritedFromGroups` field names the groups that confer it.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"roleAssignments":{"name":"roleAssignments","type":"\u0019\u001bopenai.organizationUser.roleAssignment","title":"Role assignments held by the user (requires an admin API key)","desc":"One entry per role, recording whether the role was granted to the member directly or arrives through a group.","min_provider_version":"13.1.3","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.organizationUser.roleAssignment":{"id":"openai.organizationUser.roleAssignment","name":"openai.organizationUser.roleAssignment","fields":{"inheritedFromGroups":{"name":"inheritedFromGroups","type":"\u0019\u001bopenai.group","title":"Groups that confer the role on the member","desc":"Empty when no group confers it. Null when the API reports no assignment sources for the role.","provider":"go.mondoo.com/mql/providers/openai"},"isDirect":{"name":"isDirect","type":"\u0004","is_mandatory":true,"title":"Whether the role is granted to the member directly","desc":"True when an assignment source names a user principal. Null when the API reports no assignment sources for the role.","provider":"go.mondoo.com/mql/providers/openai"},"role":{"name":"role","type":"\u001bopenai.role","is_mandatory":true,"title":"Role held through this assignment","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI role assignment","desc":"Single role held by an organization member, together with where the grant comes from. The `isDirect` field separates a role granted to the member outright from one that arrives through group membership, which decides whether removing the member from a group is enough to take the privilege away. The `inheritedFromGroups` field names the groups that confer it.","min_provider_version":"13.1.3","defaults":"isDirect","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, expiration, and ownership to spot stale, non-expiring, 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"},"residency":{"name":"residency","type":"\u0007","is_mandatory":true,"title":"Geography the project's data is stored and processed in","desc":"One of GLOBAL, US_STORAGE_PROCESSING, EU_STORAGE_PROCESSING, JP_STORAGE, KR_STORAGE, CA_STORAGE, SG_STORAGE, IN_STORAGE, AU_STORAGE, GB_STORAGE, AE_STORAGE, or AE_STORAGE_PROCESSING. A value ending in STORAGE_PROCESSING pins both storage and inference to the region, where a plain STORAGE value pins storage only and lets inference run elsewhere. Null when the organization has no residency configuration, in which case data is not pinned to any region.","min_provider_version":"13.1.3","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"},"expiresAt":{"name":"expiresAt","type":"\t","is_mandatory":true,"title":"Expiration timestamp","desc":"Null when the key does not expire.","min_provider_version":"13.1.3","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"},"owner":{"name":"owner","type":"\u001bopenai.organizationUser","title":"Organization member that owns the key","desc":"Null when a service account owns the key, and when the member has since been removed from the organization.","min_provider_version":"13.1.3","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"},"serviceAccount":{"name":"serviceAccount","type":"\u001bopenai.project.serviceAccount","title":"Service account that owns the key","desc":"Null when a member owns the key.","min_provider_version":"13.1.3","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, expiration, and ownership to spot stale, non-expiring, 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.skill":{"id":"openai.skill","name":"openai.skill","fields":{"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Creation timestamp","provider":"go.mondoo.com/mql/providers/openai"},"defaultVersion":{"name":"defaultVersion","type":"\u0007","is_mandatory":true,"title":"Version callers load when they do not name one","provider":"go.mondoo.com/mql/providers/openai"},"description":{"name":"description","type":"\u0007","is_mandatory":true,"title":"Skill description","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Skill identifier","provider":"go.mondoo.com/mql/providers/openai"},"latestVersion":{"name":"latestVersion","type":"\u0007","is_mandatory":true,"title":"Newest uploaded version","provider":"go.mondoo.com/mql/providers/openai"},"name":{"name":"name","type":"\u0007","is_mandatory":true,"title":"Skill name","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI skill","desc":"Reusable instruction package that a model loads and runs inside the project, versioned independently of the code that calls it. The `defaultVersion` field names the version a caller gets when it does not ask for one and `latestVersion` the newest uploaded, so a skill whose default trails its latest version runs older instructions than the ones most recently published.","min_provider_version":"13.1.3","defaults":"name defaultVersion latestVersion","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"},"file":{"name":"file","type":"\u001bopenai.vectorStore.file","title":"OpenAI vector store file","desc":"Membership of an uploaded file in a vector store, which is what makes the file retrievable by a model through file search. The `file` field resolves the upload behind the membership, so the stores a single upload is reachable through can be read off one query. The `status` field reports whether the file finished embedding, and `lastErrorCode` and `lastErrorMessage` explain a file that did not.","provider":"go.mondoo.com/mql/providers/openai","is_implicit_resource":true,"maturity":"preview"},"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"},"files":{"name":"files","type":"\u0019\u001bopenai.vectorStore.file","title":"Files attached to this store","min_provider_version":"13.1.3","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"},"openai.vectorStore.file":{"id":"openai.vectorStore.file","name":"openai.vectorStore.file","fields":{"chunkingStrategyType":{"name":"chunkingStrategyType","type":"\u0007","is_mandatory":true,"title":"How the file was split before embedding","desc":"One of static, for fixed size chunks, or other, for a file added before the store recorded a strategy. Null when the store reports no chunking strategy.","provider":"go.mondoo.com/mql/providers/openai"},"createdAt":{"name":"createdAt","type":"\t","is_mandatory":true,"title":"Timestamp the file was attached to the store","provider":"go.mondoo.com/mql/providers/openai"},"file":{"name":"file","type":"\u001bopenai.file","title":"Uploaded file behind this membership","desc":"Null when the file is no longer listed in the account.","provider":"go.mondoo.com/mql/providers/openai"},"id":{"name":"id","type":"\u0007","is_mandatory":true,"title":"Membership identifier, which is the identifier of the uploaded file","provider":"go.mondoo.com/mql/providers/openai"},"lastErrorCode":{"name":"lastErrorCode","type":"\u0007","is_mandatory":true,"title":"Failure code for a file that could not be embedded","desc":"One of server_error, unsupported_file, or invalid_file. Null when the file reports no error.","provider":"go.mondoo.com/mql/providers/openai"},"lastErrorMessage":{"name":"lastErrorMessage","type":"\u0007","is_mandatory":true,"title":"Failure explanation for a file that could not be embedded, null when the file reports no error","provider":"go.mondoo.com/mql/providers/openai"},"status":{"name":"status","type":"\u0007","is_mandatory":true,"title":"Embedding status","desc":"One of in_progress, completed, cancelled, or failed. Only completed files are retrievable through file search.","provider":"go.mondoo.com/mql/providers/openai"},"usageBytes":{"name":"usageBytes","type":"\u0005","is_mandatory":true,"title":"Storage the file occupies in the store, in bytes","desc":"Counted after chunking and embedding, so it differs from the size of the uploaded file.","provider":"go.mondoo.com/mql/providers/openai"}},"title":"OpenAI vector store file","desc":"Membership of an uploaded file in a vector store, which is what makes the file retrievable by a model through file search. The `file` field resolves the upload behind the membership, so the stores a single upload is reachable through can be read off one query. The `status` field reports whether the file finished embedding, and `lastErrorCode` and `lastErrorMessage` explain a file that did not.","min_provider_version":"13.1.3","defaults":"id status","provider":"go.mondoo.com/mql/providers/openai","maturity":"preview"}},"dependencies":{"core":{"id":"go.mondoo.com/mql/providers/core","name":"core"}},"provider_roots":{"go.mondoo.com/mql/providers/openai":"openai"}}