# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Edge Impulse Admin API version: 1.0.0 extends: openapi/edge-impulse-admin-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 72 - target: $.paths['/api/admin/metrics'].get update: x-apievangelist-phrasing: intent: Get global platform metrics as an admin effect: read questions: - As an admin, where do I see the global metrics for the whole Edge Impulse platform? - What platform-wide numbers can an administrator pull right now? instructions: - text: Get the admin global metrics. - text: Show me the current platform-wide admin metrics snapshot. method: generated generated: '2026-10-01' - target: $.paths['/api/admin/metrics/reports'].get update: x-apievangelist-phrasing: intent: List global metrics reports effect: read questions: - Which global metrics reports have been generated so far? - Can I page through the list of saved platform metrics reports? instructions: - text: List the global metrics reports. - text: Show {limit} global metrics reports starting at offset {offset}. slots: limit: query.limit offset: query.offset method: generated generated: '2026-10-01' - target: $.paths['/api/admin/metrics/reports'].post update: x-apievangelist-phrasing: intent: Generate a global metrics report for a date range effect: write questions: - How do I generate a platform metrics report for last quarter? - Does creating a global metrics report run as a background job? instructions: - text: Create a global metrics report from {startDate} to {endDate}. slots: startDate: query.startDate endDate: query.endDate - text: Start a job to build the platform metrics report covering {startDate} through {endDate}. slots: startDate: query.startDate endDate: query.endDate method: generated generated: '2026-10-01' - target: $.paths['/api/admin/metrics/reports/{reportId}'].get update: x-apievangelist-phrasing: intent: Get one global metrics report effect: read questions: - Is a specific global metrics report ready, and what period does it cover? - Can I look up a single platform metrics report by its id? instructions: - text: Get global metrics report {reportId}. slots: reportId: path.reportId - text: Show the status and details of platform metrics report {reportId}. slots: reportId: path.reportId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/metrics/reports/{reportId}'].delete update: x-apievangelist-phrasing: intent: Delete a global metrics report effect: destructive questions: - How do I remove an old global metrics report? - Can an admin delete a platform metrics report by id? instructions: - text: Delete global metrics report {reportId}. slots: reportId: path.reportId - text: Remove the platform metrics report {reportId} permanently. slots: reportId: path.reportId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/metrics/reports/{reportId}/download'].get update: x-apievangelist-phrasing: intent: Download a global metrics report effect: read questions: - Where do I download the file for a finished global metrics report? - Can I save a platform metrics report locally? instructions: - text: Download global metrics report {reportId}. slots: reportId: path.reportId - text: Fetch the file for platform metrics report {reportId}. slots: reportId: path.reportId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/migrations'].get update: x-apievangelist-phrasing: intent: List data migrations effect: read questions: - Which data migrations exist on the platform infrastructure? - As an admin, can I see every infrastructure data migration? instructions: - text: List all data migrations. - text: Show the infrastructure data migrations and their state. method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/migrations/{migrationId}'].get update: x-apievangelist-phrasing: intent: Get one data migration effect: read questions: - What is the state of a particular data migration? - Is a given data migration currently running or paused? instructions: - text: Get data migration {migrationId}. slots: migrationId: path.migrationId - text: Show whether data migration {migrationId} is running. slots: migrationId: path.migrationId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/migrations/{migrationId}'].post update: x-apievangelist-phrasing: intent: Run or pause a data migration effect: write questions: - How do I pause a data migration that is in progress? - Can an admin start a paused data migration again? instructions: - text: Set data migration {migrationId} (id {id}) to run state {shouldRun}. slots: migrationId: path.migrationId id: requestBody.id shouldRun: requestBody.shouldRun - text: Pause migration {migrationId} by sending id {id} with shouldRun {shouldRun}. slots: migrationId: path.migrationId id: requestBody.id shouldRun: requestBody.shouldRun method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/disallowedEmailDomains'].get update: x-apievangelist-phrasing: intent: List blocked signup email domains effect: read questions: - Which email domains are blocked from signing up? - What does the disallowed email domain list currently contain? instructions: - text: List the disallowed email domains. - text: Show every email domain currently blocked from registration. method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/disallowedEmailDomains'].put update: x-apievangelist-phrasing: intent: Block an email domain from signing up effect: write questions: - How do I stop people with a throwaway email domain from registering? - Can an admin add a domain to the disallowed email list? instructions: - text: Add {domain} to the disallowed email domains. slots: domain: requestBody.domain - text: Block signups from email domain {domain}. slots: domain: requestBody.domain method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/disallowedEmailDomains/{domainName}'].delete update: x-apievangelist-phrasing: intent: Unblock a disallowed email domain effect: destructive questions: - How do I allow a previously blocked email domain to sign up again? - Can I take a domain off the disallowed email list? instructions: - text: Remove {domainName} from the disallowed email domains. slots: domainName: path.domainName - text: Unblock email domain {domainName} for registration. slots: domainName: path.domainName method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/featureFlags'].get update: x-apievangelist-phrasing: intent: List all feature flags effect: read questions: - Which feature flags exist and which are switched on? - Where can an admin review all platform feature flags? instructions: - text: List all feature flags. - text: Show every platform feature flag and its state. method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/featureFlags/{featureId}'].put update: x-apievangelist-phrasing: intent: Turn a feature flag on for everyone effect: write questions: - How do I enable a feature for all users at once? - What happens when an admin switches a feature flag on? instructions: - text: Turn feature flag {featureId} on. slots: featureId: path.featureId - text: Enable feature {featureId} for all users. slots: featureId: path.featureId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/featureFlags/{featureId}'].delete update: x-apievangelist-phrasing: intent: Turn a feature flag off for everyone effect: destructive questions: - How do I disable a feature for every user? - Does switching a feature flag off delete the flag? instructions: - text: Turn feature flag {featureId} off. slots: featureId: path.featureId - text: Disable feature {featureId} for all users by deleting its flag. slots: featureId: path.featureId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/config'].get update: x-apievangelist-phrasing: intent: Get all Studio configuration items effect: read questions: - What Studio configuration values are set on the platform? - Can an admin list every Studio config key and value? instructions: - text: Get all Studio config items. - text: Show the full Studio configuration. method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/config/{configKey}'].post update: x-apievangelist-phrasing: intent: Update a Studio configuration item effect: write questions: - How do I change a single Studio config value? - Can an admin set a new value for a Studio configuration key? instructions: - text: Set Studio config {configKey} to {value}. slots: configKey: path.configKey value: requestBody.value - text: Update the Studio configuration item {configKey} with value {value}. slots: configKey: path.configKey value: requestBody.value method: generated generated: '2026-10-01' - target: $.paths['/api/admin/infra/config/{configKey}'].delete update: x-apievangelist-phrasing: intent: Delete a Studio configuration item effect: destructive questions: - How do I remove a Studio config key entirely? - Can an admin delete one Studio configuration item? instructions: - text: Delete Studio config item {configKey}. slots: configKey: path.configKey - text: Remove the {configKey} key from Studio configuration. slots: configKey: path.configKey method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users'].get update: x-apievangelist-phrasing: intent: List and search all registered users effect: read questions: - How can an admin search every registered user by name or email? - Can I list only active users on a particular tier? - Which users signed up, sorted and filtered my way? instructions: - text: List all registered users. - text: Search users matching {search}. slots: search: query.search - text: List active users on tier {tier}, {limit} per page. slots: tier: query.tier limit: query.limit method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users/{userId}'].get update: x-apievangelist-phrasing: intent: Get a user's account details effect: read questions: - What account information does the platform hold for a specific user? - Can an admin look up a user by their user id? instructions: - text: Get user {userId}. slots: userId: path.userId - text: Show the account details for user {userId}. slots: userId: path.userId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users/{userId}'].post update: x-apievangelist-phrasing: intent: Update a user's profile or status effect: write questions: - How does an admin change a user's email or name? - Can I suspend or activate a user account? instructions: - text: Change the email of user {userId} to {email}. slots: userId: path.userId email: requestBody.email - text: Set the suspended status of user {userId} to {suspended}. slots: userId: path.userId suspended: requestBody.suspended - text: Update user {userId} with job title {jobTitle}. slots: userId: path.userId jobTitle: requestBody.jobTitle method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users/{userId}'].delete update: x-apievangelist-phrasing: intent: Delete a user account effect: destructive questions: - How does an admin delete a user's account? - Can a user be removed from the platform entirely by id? instructions: - text: Delete user {userId}. slots: userId: path.userId - text: Permanently remove the account of user {userId}. slots: userId: path.userId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users/{userId}/metrics'].get update: x-apievangelist-phrasing: intent: Get marketing metrics for a user effect: read questions: - What marketing metrics do we have about a particular user? - Can an admin see engagement numbers for one user? instructions: - text: Get marketing metrics for user {userId}. slots: userId: path.userId - text: Show the usage and marketing metrics of user {userId}. slots: userId: path.userId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users/{userId}/permissions'].post update: x-apievangelist-phrasing: intent: Set a user's permissions effect: write questions: - How do I change which permissions a user has? - Can an admin replace a user's permission list? instructions: - text: Set the permissions of user {userId} to {permissions}. slots: userId: path.userId permissions: requestBody.permissions - text: Grant user {userId} the permission list {permissions}. slots: userId: path.userId permissions: requestBody.permissions method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users/{userId}/jobs'].get update: x-apievangelist-phrasing: intent: List all project jobs run by a user effect: read questions: - Which project jobs has a specific user run? - Can an admin page through one user's jobs? instructions: - text: List the jobs for user {userId}. slots: userId: path.userId - text: Show {limit} project jobs run by user {userId}. slots: limit: query.limit userId: path.userId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/trials'].post update: x-apievangelist-phrasing: intent: Start an enterprise trial for a user effect: write questions: - How does an admin give a user an enterprise trial? - Can I set the expiration date and organization name when creating a trial? instructions: - text: Create an enterprise trial for user {userId}. slots: userId: requestBody.userId - text: Start an enterprise trial for user {userId} named {organizationName} that expires on {expirationDate}. slots: userId: requestBody.userId organizationName: requestBody.organizationName expirationDate: requestBody.expirationDate method: generated generated: '2026-10-01' - target: $.paths['/api/admin/trials/{enterpriseTrialId}'].get update: x-apievangelist-phrasing: intent: Get an enterprise trial effect: read questions: - When does a particular enterprise trial expire? - Can an admin look up the details of one enterprise trial? instructions: - text: Get enterprise trial {enterpriseTrialId}. slots: enterpriseTrialId: path.enterpriseTrialId - text: Show the expiration and notes for enterprise trial {enterpriseTrialId}. slots: enterpriseTrialId: path.enterpriseTrialId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/trials/{enterpriseTrialId}'].put update: x-apievangelist-phrasing: intent: Extend or annotate an enterprise trial effect: write questions: - How do I extend an enterprise trial's expiration date? - Can I add notes to an existing enterprise trial? instructions: - text: Extend enterprise trial {enterpriseTrialId} to {expirationDate}. slots: enterpriseTrialId: path.enterpriseTrialId expirationDate: requestBody.expirationDate - text: Set the notes on enterprise trial {enterpriseTrialId} to {notes}. slots: enterpriseTrialId: path.enterpriseTrialId notes: requestBody.notes method: generated generated: '2026-10-01' - target: $.paths['/api/admin/trials/{enterpriseTrialId}'].delete update: x-apievangelist-phrasing: intent: Delete an enterprise trial effect: destructive questions: - How do I cancel and remove an enterprise trial? - Can an admin delete an enterprise trial by id? instructions: - text: Delete enterprise trial {enterpriseTrialId}. slots: enterpriseTrialId: path.enterpriseTrialId - text: Remove the enterprise trial {enterpriseTrialId} from the platform. slots: enterpriseTrialId: path.enterpriseTrialId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/trials/{enterpriseTrialId}/upgrade'].post update: x-apievangelist-phrasing: intent: Convert a trial to a full enterprise account effect: write questions: - How do I convert an enterprise trial into a paid enterprise account? - Can an admin upgrade a trial to full enterprise? instructions: - text: Upgrade enterprise trial {enterpriseTrialId} to a full enterprise account. slots: enterpriseTrialId: path.enterpriseTrialId - text: Turn trial {enterpriseTrialId} into a permanent enterprise organization. slots: enterpriseTrialId: path.enterpriseTrialId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects'].get update: x-apievangelist-phrasing: intent: List and search all projects effect: read questions: - How can an admin search across every project on the platform? - Can I list only active projects, sorted my way? instructions: - text: List all projects on the platform. - text: Search all projects for {search}. slots: search: query.search method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects'].post update: x-apievangelist-phrasing: intent: Create a free-tier project as an admin effect: write questions: - How does an admin create a free tier project on behalf of a user? - Can I set the owner by email when creating a free project? instructions: - text: Create a free-tier project named {projectName}. slots: projectName: requestBody.projectName - text: Create free project {projectName} owned by {ownerEmail}. slots: projectName: requestBody.projectName ownerEmail: requestBody.ownerEmail method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects/{projectId}'].get update: x-apievangelist-phrasing: intent: Get any project's details as an admin effect: read questions: - As an admin, how do I look up any user's project details? - What information does the platform hold about a specific project? instructions: - text: Get project {projectId} as an admin. slots: projectId: path.projectId - text: Show admin details for project {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects/{projectId}'].post update: x-apievangelist-phrasing: intent: Update a project's settings as an admin effect: write questions: - How can an admin raise a project's compute time limit? - Can I turn on GPU training or change visibility for someone's project? instructions: - text: Set the compute time limit of project {projectId} to {computeTimeLimitM} minutes. slots: projectId: path.projectId computeTimeLimitM: requestBody.computeTimeLimitM - text: Change the visibility of project {projectId} to {projectVisibility}. slots: projectId: path.projectId projectVisibility: requestBody.projectVisibility - text: Rename project {projectId} to {name} with GPU set to {useGpu}. slots: projectId: path.projectId name: requestBody.name useGpu: requestBody.useGpu method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects/{projectId}'].delete update: x-apievangelist-phrasing: intent: Delete a project as an admin effect: destructive questions: - How does an admin delete someone's project? - Can any project be removed by id from the admin API? instructions: - text: Delete project {projectId} as an admin. slots: projectId: path.projectId - text: Permanently remove project {projectId} from the platform. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects/{projectId}/members'].post update: x-apievangelist-phrasing: intent: Add a user to a project effect: write questions: - How does an admin add someone to a project by username or email? - If I don't name a user, who gets added to the project? instructions: - text: Add {usernameOrEmail} as a member of project {projectId}. slots: usernameOrEmail: requestBody.usernameOrEmail projectId: path.projectId - text: Add myself to project {projectId} through the members endpoint. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects/{projectId}/members/{userId}'].delete update: x-apievangelist-phrasing: intent: Remove a user from a project effect: destructive questions: - How does an admin remove a specific user from a project? - Can I kick a member out of someone's project by user id? instructions: - text: Remove user {userId} from project {projectId}. slots: userId: path.userId projectId: path.projectId - text: Take member {userId} off project {projectId}. slots: userId: path.userId projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects/{projectId}/jobs'].get update: x-apievangelist-phrasing: intent: List all jobs for a project as an admin effect: read questions: - Which jobs have run in a specific project? - Can an admin page through the job list of any project? instructions: - text: List the jobs for project {projectId}. slots: projectId: path.projectId - text: Show {limit} jobs from project {projectId} starting at offset {offset}. slots: limit: query.limit projectId: path.projectId offset: query.offset method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations'].get update: x-apievangelist-phrasing: intent: List and search all organizations effect: read questions: - How can an admin search every organization on the platform? - Can I include soft-deleted organizations in the list? instructions: - text: List all organizations. - text: Search organizations for {search}, including deleted ones. slots: search: query.search method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations'].post update: x-apievangelist-phrasing: intent: Create a new organization effect: write questions: - How does an admin create a new organization? - Can I assign an admin user when creating an organization? instructions: - text: Create an organization named {organizationName}. slots: organizationName: requestBody.organizationName - text: Create organization {organizationName} with user {adminId} as its admin. slots: organizationName: requestBody.organizationName adminId: requestBody.adminId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}'].get update: x-apievangelist-phrasing: intent: Get an organization's full details effect: read questions: - What does the platform know about a specific organization? - Can an admin view details of a soft-deleted organization? instructions: - text: Get all information about organization {organizationId}. slots: organizationId: path.organizationId - text: Show organization {organizationId} details even if it was deleted. slots: organizationId: path.organizationId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}'].post update: x-apievangelist-phrasing: intent: Update an organization's properties effect: write questions: - How does an admin rename an organization or change its logo? - Can I mark an organization as billable and set its contract start date? instructions: - text: Rename organization {organizationId} to {name}. slots: organizationId: path.organizationId name: requestBody.name - text: Set organization {organizationId} billable to {billable} with contract start {contractStartDate}. slots: organizationId: path.organizationId billable: requestBody.billable contractStartDate: requestBody.contractStartDate - text: Change the domain of organization {organizationId} to {domain}. slots: organizationId: path.organizationId domain: requestBody.domain method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}'].delete update: x-apievangelist-phrasing: intent: Delete an organization effect: destructive questions: - How does an admin delete an organization? - What is the difference between a soft delete and a full deletion of an organization? instructions: - text: Soft delete organization {organizationId}. slots: organizationId: path.organizationId - text: Fully delete organization {organizationId} including its identifiable data and files ({fullDeletion}). slots: organizationId: path.organizationId fullDeletion: query.fullDeletion method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/restore'].post update: x-apievangelist-phrasing: intent: Restore a soft-deleted organization effect: write questions: - Can I bring back an organization that was soft deleted? - Are an organization's projects restored along with it? instructions: - text: Restore organization {organizationId}. slots: organizationId: path.organizationId - text: Undo the deletion of organization {organizationId} and its projects. slots: organizationId: path.organizationId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/usage/computeTime'].get update: x-apievangelist-phrasing: intent: Get an organization's compute time usage effect: read questions: - How much compute time did an organization use last month? - Can an admin see compute usage for an organization between two dates? instructions: - text: Get compute time usage for organization {organizationId} from {startDate} to {endDate}. slots: organizationId: path.organizationId startDate: query.startDate endDate: query.endDate - text: Show how many compute minutes organization {organizationId} consumed between {startDate} and {endDate}. slots: organizationId: path.organizationId startDate: query.startDate endDate: query.endDate method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/usage/reports'].get update: x-apievangelist-phrasing: intent: List an organization's usage reports effect: read questions: - Which usage reports have been generated for an organization? - Can I page through an organization's saved usage reports? instructions: - text: List the usage reports for organization {organizationId}. slots: organizationId: path.organizationId - text: Show {limit} usage reports for organization {organizationId}. slots: limit: query.limit organizationId: path.organizationId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/usage/reports'].post update: x-apievangelist-phrasing: intent: Generate a usage report for an organization effect: write questions: - How do I generate a usage report for an organization for a billing period? - Is an organization usage report built by a background job? instructions: - text: Create a usage report for organization {organizationId} from {startDate} to {endDate}. slots: organizationId: path.organizationId startDate: query.startDate endDate: query.endDate - text: Start a job building organization {organizationId}'s usage report for {startDate} through {endDate}. slots: organizationId: path.organizationId startDate: query.startDate endDate: query.endDate method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/usage/reports/{reportId}'].get update: x-apievangelist-phrasing: intent: Get one organization usage report effect: read questions: - Is an organization's usage report finished processing? - Can I look up a single usage report for an organization? instructions: - text: Get usage report {reportId} for organization {organizationId}. slots: reportId: path.reportId organizationId: path.organizationId - text: Show the status of organization {organizationId} usage report {reportId}. slots: organizationId: path.organizationId reportId: path.reportId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/usage/reports/{reportId}'].delete update: x-apievangelist-phrasing: intent: Delete an organization usage report effect: destructive questions: - How do I delete an old usage report from an organization? - Can an admin remove a specific organization usage report? instructions: - text: Delete usage report {reportId} from organization {organizationId}. slots: reportId: path.reportId organizationId: path.organizationId - text: Remove organization {organizationId}'s usage report {reportId}. slots: organizationId: path.organizationId reportId: path.reportId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/usage/reports/{reportId}/download'].get update: x-apievangelist-phrasing: intent: Download an organization usage report effect: read questions: - Where do I download the file for an organization's usage report? - Can I save an organization usage report to share with billing? instructions: - text: Download usage report {reportId} for organization {organizationId}. slots: reportId: path.reportId organizationId: path.organizationId - text: Fetch the usage report file {reportId} of organization {organizationId}. slots: reportId: path.reportId organizationId: path.organizationId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/members'].post update: x-apievangelist-phrasing: intent: Add a user to an organization with a role effect: write questions: - How does an admin add someone to an organization with a specific role? - Which datasets does a new organization member get access to? instructions: - text: Add {usernameOrEmail} to organization {organizationId} as {role} with access to datasets {datasets}. slots: usernameOrEmail: requestBody.usernameOrEmail organizationId: path.organizationId role: requestBody.role datasets: requestBody.datasets - text: Add myself to organization {organizationId} with role {role} and datasets {datasets}. slots: organizationId: path.organizationId role: requestBody.role datasets: requestBody.datasets method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/members/{userId}'].delete update: x-apievangelist-phrasing: intent: Remove a user from an organization effect: destructive questions: - How does an admin remove a member from an organization? - Can I take a specific user out of an organization by id? instructions: - text: Remove user {userId} from organization {organizationId}. slots: userId: path.userId organizationId: path.organizationId - text: Revoke organization {organizationId} membership for user {userId}. slots: organizationId: path.organizationId userId: path.userId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/projects'].post update: x-apievangelist-phrasing: intent: Create a project inside an organization effect: write questions: - How does an admin create a new project that belongs to an organization? - Can I set the owner of a new organization project? instructions: - text: Create project {projectName} in organization {organizationId}. slots: projectName: requestBody.projectName organizationId: path.organizationId - text: Create organization {organizationId} project {projectName} owned by {ownerEmail}. slots: organizationId: path.organizationId projectName: requestBody.projectName ownerEmail: requestBody.ownerEmail method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/exports'].get update: x-apievangelist-phrasing: intent: List an organization's data exports effect: read questions: - Which data exports have been made for an organization? - Can an admin page through an organization's export history? instructions: - text: List the data exports for organization {organizationId}. slots: organizationId: path.organizationId - text: Show {limit} data exports of organization {organizationId}. slots: limit: query.limit organizationId: path.organizationId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/exports'].post update: x-apievangelist-phrasing: intent: Export an organization's data effect: write questions: - How do I export all of an organization's data? - Can I set an expiration date on an organization data export? instructions: - text: Create a data export for organization {organizationId} described as {description}. slots: organizationId: path.organizationId description: requestBody.description - text: Start an organization {organizationId} data export {description} that expires on {expirationDate}. slots: organizationId: path.organizationId description: requestBody.description expirationDate: requestBody.expirationDate method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/exports/{exportId}'].get update: x-apievangelist-phrasing: intent: Get one organization data export effect: read questions: - Is an organization's data export ready to download? - Can I see the details of a single organization data export? instructions: - text: Get data export {exportId} for organization {organizationId}. slots: exportId: path.exportId organizationId: path.organizationId - text: Show the status of organization {organizationId} export {exportId}. slots: organizationId: path.organizationId exportId: path.exportId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/exports/{exportId}'].put update: x-apievangelist-phrasing: intent: Change an organization data export effect: write questions: - How do I extend the expiration of an organization's data export? - Can I edit the description of an existing data export? instructions: - text: Set the expiration of export {exportId} in organization {organizationId} to {expirationDate}. slots: exportId: path.exportId organizationId: path.organizationId expirationDate: requestBody.expirationDate - text: Update the description of organization {organizationId} export {exportId} to {description}. slots: organizationId: path.organizationId exportId: path.exportId description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/exports/{exportId}'].delete update: x-apievangelist-phrasing: intent: Delete an organization data export effect: destructive questions: - How do I remove an organization's data export? - Can an admin delete a data export before it expires? instructions: - text: Delete data export {exportId} from organization {organizationId}. slots: exportId: path.exportId organizationId: path.organizationId - text: Remove organization {organizationId}'s export {exportId} now. slots: organizationId: path.organizationId exportId: path.exportId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/organizations/{organizationId}/jobs'].get update: x-apievangelist-phrasing: intent: List an organization's jobs as an admin effect: read questions: - As an admin, which jobs has a given organization run? - Can I page through any organization's jobs from the admin API? instructions: - text: List the jobs of organization {organizationId} as an admin. slots: organizationId: path.organizationId - text: Show {limit} admin-visible jobs for organization {organizationId}. slots: limit: query.limit organizationId: path.organizationId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/sso'].get update: x-apievangelist-phrasing: intent: Get platform SSO settings effect: read questions: - Which domains have single sign-on configured on the platform? - Where can an admin see the overall SSO setup? instructions: - text: Get the platform SSO settings. - text: Show every domain's single sign-on configuration. method: generated generated: '2026-10-01' - target: $.paths['/api/admin/sso/{domainName}'].get update: x-apievangelist-phrasing: intent: Get identity providers for an SSO domain effect: read questions: - As an admin, which identity providers are enabled for a specific domain? - Can I check one domain's SSO configuration from the admin API? instructions: - text: Get the SSO identity providers configured for domain {domainName}. slots: domainName: path.domainName - text: Show the admin SSO settings for {domainName}. slots: domainName: path.domainName method: generated generated: '2026-10-01' - target: $.paths['/api/admin/sso/{domainName}'].put update: x-apievangelist-phrasing: intent: Set identity providers for an SSO domain effect: write questions: - How do I enable single sign-on for a company's email domain? - Can I replace the list of identity providers for a domain? instructions: - text: Set the identity providers for domain {domainName} to {idps}. slots: domainName: path.domainName idps: requestBody.idps - text: Enable SSO on {domainName} using providers {idps}. slots: domainName: path.domainName idps: requestBody.idps method: generated generated: '2026-10-01' - target: $.paths['/api/admin/sso/{domainName}'].delete update: x-apievangelist-phrasing: intent: Remove SSO settings for a domain effect: destructive questions: - How do I turn off single sign-on for a domain? - Can an admin delete a domain's identity provider list? instructions: - text: Delete the SSO settings for domain {domainName}. slots: domainName: path.domainName - text: Remove all identity providers configured for {domainName}. slots: domainName: path.domainName method: generated generated: '2026-10-01' - target: $.paths['/api/admin/jobs/{jobId}/details'].get update: x-apievangelist-phrasing: intent: Get a job's execution details with child jobs effect: read questions: - How can an admin see the full execution tree of a job, including inner jobs? - Can I include child jobs when looking at a job's execution details? instructions: - text: Get execution details for job {jobId} with parent type {parentType}. slots: jobId: path.jobId parentType: query.parentType - text: Show job {jobId} ({parentType}) details including its children jobs. slots: jobId: path.jobId parentType: query.parentType method: generated generated: '2026-10-01' - target: $.paths['/api/admin/jobs/{jobId}/logs'].get update: x-apievangelist-phrasing: intent: Read any job's logs as an admin effect: read questions: - As an admin, how do I read the logs of any job on the platform? - Can I page through an admin job log with limit and offset? instructions: - text: Get {limit} log lines from offset {offset} for job {jobId} with parent type {parentType}. slots: limit: query.limit offset: query.offset jobId: path.jobId parentType: query.parentType - text: Show the admin logs for {parentType} job {jobId}, {limit} lines starting at {offset}. slots: parentType: query.parentType jobId: path.jobId limit: query.limit offset: query.offset method: generated generated: '2026-10-01' - target: $.paths['/api/admin/jobs/{jobId}/metrics'].get update: x-apievangelist-phrasing: intent: Get CPU and memory usage of a job effect: read questions: - How much CPU and memory did a Kubernetes job use? - Can an admin see resource usage metrics for a job? instructions: - text: Get CPU and memory metrics for job {jobId} with parent type {parentType}. slots: jobId: path.jobId parentType: query.parentType - text: Show resource usage of {parentType} job {jobId}. slots: parentType: query.parentType jobId: path.jobId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/emails/{email}/verification-code'].get update: x-apievangelist-phrasing: intent: Get a trial email verification code effect: read questions: - How can an admin retrieve the enterprise trial verification code sent to an email? - What verification code was issued for a trial signup address? instructions: - text: Get the enterprise trial verification code for {email}. slots: email: path.email - text: Look up the trial email verification code sent to {email}. slots: email: path.email method: generated generated: '2026-10-01' - target: $.paths['/api/admin/find-user'].get update: x-apievangelist-phrasing: intent: Find a user by username or email (deprecated) effect: read questions: - Is there an older admin endpoint to find a single user by username or email? - Can I still look up a user with the deprecated find-user call? instructions: - text: Find the user matching {query} using the deprecated find-user endpoint. slots: query: query.query - text: Use the legacy lookup to find user {query}. slots: query: query.query method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users-ids'].get update: x-apievangelist-phrasing: intent: List all user IDs (deprecated) effect: read questions: - Is there a deprecated call that returns every user ID? - Can I get a bare list of all user ids from the older admin endpoint? instructions: - text: Get all user IDs from the deprecated users-ids endpoint. - text: List every user id using the legacy admin call. method: generated generated: '2026-10-01' - target: $.paths['/api/admin/users-ids/active'].get update: x-apievangelist-phrasing: intent: List user IDs active in the last 30 days effect: read questions: - Which users have been active in the last 30 days? - Can the deprecated endpoint return only recently active user ids? instructions: - text: Get the IDs of users active in the past 30 days. - text: List recently active user ids with the legacy admin endpoint. method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects/{projectId}/add'].post update: x-apievangelist-phrasing: intent: Add yourself to a project (deprecated) effect: write questions: - Is there an older admin endpoint that just adds me to a project? - Can I still use the deprecated add call to join a project as admin? instructions: - text: Add me to project {projectId} using the deprecated add endpoint. slots: projectId: path.projectId - text: Join project {projectId} as the current admin via the legacy call. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/api/admin/projects/{projectId}/remove'].post update: x-apievangelist-phrasing: intent: Remove yourself from a project (deprecated) effect: destructive questions: - Is there a legacy endpoint to remove myself from a project as admin? - Can I still leave a project with the deprecated remove call? instructions: - text: Remove me from project {projectId} using the deprecated remove endpoint. slots: projectId: path.projectId - text: Leave project {projectId} as the current admin via the legacy call. slots: projectId: path.projectId method: generated generated: '2026-10-01'