# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Jfrog Projects API version: 1.0.0 extends: openapi/jfrog-projects-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: 20 - target: $.paths['/api/v1/projects'].get update: x-apievangelist-phrasing: intent: List projects in the Access service effect: read questions: - Which projects exist when I call the standalone Access service directly? - Can I see every project the Access service manages, not just my device projects? instructions: - text: List all projects from the Access service's own /api/v1 endpoint. - text: Show me every project registered in the standalone Access service. method: generated generated: '2026-10-01' - target: $.paths['/api/v1/projects'].post update: x-apievangelist-phrasing: intent: Create a project in the Access service effect: write questions: - How do I create a JFrog project with its own isolated resource scope via the Access service? - Can I cap a new project's storage in gibibytes when I create it in the Access service? instructions: - text: Create an Access service project with key {project_key} named {display_name}. slots: project_key: requestBody.project_key display_name: requestBody.display_name - text: Create Access service project {project_key} called {display_name} with a {max_storage_in_gibibytes} GiB storage limit. slots: project_key: requestBody.project_key display_name: requestBody.display_name max_storage_in_gibibytes: requestBody.max_storage_in_gibibytes method: generated generated: '2026-10-01' - target: $.paths['/api/v1/projects/{projectKey}'].get update: x-apievangelist-phrasing: intent: Get a project from the Access service effect: read questions: - What settings does a given project key have in the standalone Access service? - Can I look up one project's details directly from the Access service by its key? instructions: - text: Get the details of project {projectKey} from the Access service's /api/v1 endpoint. slots: projectKey: path.projectKey - text: Show me how project {projectKey} is configured in the standalone Access service. slots: projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/api/v1/projects/{projectKey}'].put update: x-apievangelist-phrasing: intent: Update a project in the Access service effect: write questions: - How can I change a project's display name or storage quota through the Access service? - Can I edit an existing project's admin privileges directly in the Access service? instructions: - text: Rename Access service project {projectKey} to {display_name}. slots: projectKey: path.projectKey display_name: requestBody.display_name - text: Set the storage quota of Access service project {projectKey} to {max_storage_in_gibibytes} GiB. slots: projectKey: path.projectKey max_storage_in_gibibytes: requestBody.max_storage_in_gibibytes method: generated generated: '2026-10-01' - target: $.paths['/api/v1/projects/{projectKey}'].delete update: x-apievangelist-phrasing: intent: Delete a project from the Access service effect: destructive questions: - What happens to a project's resources when I permanently delete it in the Access service? - Can I remove a project by its key straight from the standalone Access service? instructions: - text: Permanently delete project {projectKey} via the Access service's /api/v1 endpoint. slots: projectKey: path.projectKey - text: Remove Access service project {projectKey} and disassociate its resources. slots: projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/api/v1/projects/{projectKey}/users/{username}'].put update: x-apievangelist-phrasing: intent: Add a user to a project in the Access service effect: write questions: - How do I give a user a role in a project using the standalone Access service? - Can I assign several project roles to one member at once through the Access service? instructions: - text: Add user {username} to Access service project {projectKey}. slots: username: path.username projectKey: path.projectKey - text: Give {username} the {roles} roles in project {projectKey} via the Access service. slots: username: path.username roles: requestBody.roles projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/api/v1/projects/{projectKey}/users/{username}'].delete update: x-apievangelist-phrasing: intent: Remove a user from a project in Access effect: destructive questions: - How do I revoke all of a member's project roles using the standalone Access service? - Can I take one user out of a project via the Access service without touching groups? instructions: - text: Remove user {username} from Access service project {projectKey}. slots: username: path.username projectKey: path.projectKey - text: Revoke every role {username} holds in project {projectKey} through the Access service. slots: username: path.username projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/api/v1/projects/{projectKey}/groups/{groupName}'].put update: x-apievangelist-phrasing: intent: Add a group to a project effect: write questions: - How do I give a whole group of users roles in a project? - Can I assign project roles to a group instead of adding each user? instructions: - text: Add group {groupName} to project {projectKey}. slots: groupName: path.groupName projectKey: path.projectKey - text: Give group {groupName} the {roles} roles in project {projectKey}. slots: groupName: path.groupName roles: requestBody.roles projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/api/v1/projects/{projectKey}/groups/{groupName}'].delete update: x-apievangelist-phrasing: intent: Remove a group from a project effect: destructive questions: - How do I take a group out of a project? - Can I revoke a group's access to one project without deleting the group itself? instructions: - text: Remove group {groupName} from project {projectKey}. slots: groupName: path.groupName projectKey: path.projectKey - text: Revoke project {projectKey} access for the {groupName} group. slots: groupName: path.groupName projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/projects'].get update: x-apievangelist-phrasing: intent: List device projects in JFrog Connect effect: read questions: - Which JFrog Connect projects do I use to organize my devices? - Can I see all of my account's device projects in one list? instructions: - text: List all of my device projects in the account. - text: Show me every project I use to group IoT devices. method: generated generated: '2026-10-01' - target: $.paths['/projects'].post update: x-apievangelist-phrasing: intent: Create a device project effect: write questions: - How do I set up a new project for organizing my fleet of devices? - Can I add a description when I create a device project? instructions: - text: Create a device project named {name}. slots: name: requestBody.name - text: Create a new device project {name} described as {description}. slots: name: requestBody.name description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/projects/{projectId}'].get update: x-apievangelist-phrasing: intent: Get a device project effect: read questions: - What details are stored for one of my device projects? - Can I look up a device project by its project ID? instructions: - text: Get device project {projectId}. slots: projectId: path.projectId - text: Show me the details of the device project with ID {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/projects/{projectId}'].delete update: x-apievangelist-phrasing: intent: Delete a device project effect: destructive questions: - Can I delete a device project I no longer use? - What do I need to remove a device project by its ID? instructions: - text: Delete device project {projectId}. slots: projectId: path.projectId - text: Remove the device-fleet project with ID {projectId}. slots: projectId: path.projectId method: generated generated: '2026-10-01' - target: $.paths['/access/api/v1/projects'].get update: x-apievangelist-phrasing: intent: List projects through the Platform access route effect: read questions: - Which projects exist when I go through the JFrog Platform's /access route? - Can I list platform projects via the unified platform URL rather than the Access service? instructions: - text: List all projects through the platform's /access/api/v1 route. - text: Show me every project on my JFrog Platform via the access route. method: generated generated: '2026-10-01' - target: $.paths['/access/api/v1/projects'].post update: x-apievangelist-phrasing: intent: Create a project through the Platform route effect: write questions: - How do I create a project using the platform's /access URL? - Can I set admin privileges for a new project through the platform route? instructions: - text: Create a project through the platform /access route with key {project_key} and name {display_name}. slots: project_key: requestBody.project_key display_name: requestBody.display_name - text: Via the platform route, create project {project_key} titled {display_name} described as {description}. slots: project_key: requestBody.project_key display_name: requestBody.display_name description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/access/api/v1/projects/{projectKey}'].get update: x-apievangelist-phrasing: intent: Get a project through the Platform route effect: read questions: - What does a project look like when fetched through the platform's /access route? - Can I read one project's configuration via the platform URL by key? instructions: - text: Get project {projectKey} through the platform /access route. slots: projectKey: path.projectKey - text: Fetch project {projectKey}'s details via the unified platform URL. slots: projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/access/api/v1/projects/{projectKey}'].put update: x-apievangelist-phrasing: intent: Update a project through the Platform route effect: write questions: - How do I change a project's settings using the platform's /access URL? - Can I raise a project's storage limit through the platform route? instructions: - text: Through the platform /access route, rename project {projectKey} to {display_name}. slots: projectKey: path.projectKey display_name: requestBody.display_name - text: Via the platform URL, change project {projectKey}'s description to {description}. slots: projectKey: path.projectKey description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/access/api/v1/projects/{projectKey}'].delete update: x-apievangelist-phrasing: intent: Delete a project through the Platform route effect: destructive questions: - Can I delete a project using the platform's /access URL? - What is needed to remove a project by key through the unified platform route? instructions: - text: Delete project {projectKey} through the platform /access route. slots: projectKey: path.projectKey - text: Via the platform URL, remove the project with key {projectKey}. slots: projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/access/api/v1/projects/{projectKey}/users/{username}'].put update: x-apievangelist-phrasing: intent: Add a user to a project via the Platform route effect: write questions: - How do I add a member to a project using the platform's /access URL? - Can I give a user project roles through the unified platform route? instructions: - text: Through the platform /access route, add user {username} to project {projectKey}. slots: username: path.username projectKey: path.projectKey - text: Via the platform URL, give {username} roles {roles} in project {projectKey}. slots: username: path.username roles: requestBody.roles projectKey: path.projectKey method: generated generated: '2026-10-01' - target: $.paths['/access/api/v1/projects/{projectKey}/users/{username}'].delete update: x-apievangelist-phrasing: intent: Remove a user from a project via the Platform effect: destructive questions: - Can I take a member out of a project using the platform's /access URL? - How do I drop a user from a project through the unified platform route? instructions: - text: Through the platform /access route, remove user {username} from project {projectKey}. slots: username: path.username projectKey: path.projectKey - text: Via the platform URL, drop {username} from project {projectKey}. slots: username: path.username projectKey: path.projectKey method: generated generated: '2026-10-01'