JFrog · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for JFrog Artifactory REST Security API

14 actions 14 updates phrasing extends openapi/jfrog-security-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for JFrog's API. It is a proposal applied on top of the contract, not a document JFrog publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 14

$.info
$.paths['/api/security/users'].get
$.paths['/api/security/users/{username}'].get
$.paths['/api/security/users/{username}'].put
$.paths['/api/security/users/{username}'].delete
$.paths['/api/security/groups'].get
$.paths['/api/security/groups/{groupName}'].get
$.paths['/api/security/groups/{groupName}'].put
$.paths['/api/security/groups/{groupName}'].delete
$.paths['/api/security/permissions'].get
$.paths['/api/security/permissions/{permissionTargetName}'].get
$.paths['/api/security/permissions/{permissionTargetName}'].put
$.paths['/api/security/permissions/{permissionTargetName}'].delete
$.paths['/api/security/token'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for JFrog Artifactory REST Security API
  version: 1.0.0
extends: openapi/jfrog-security-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: 13
- target: $.paths['/api/security/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List all Artifactory users
      effect: read
      questions:
      - Who are all the users set up in my Artifactory instance?
      - Can I pull a full list of Artifactory user accounts from the security API?
      instructions:
      - text: List every user in Artifactory security.
      - text: Show me all Artifactory user accounts.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/users/{username}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an Artifactory user's details
      effect: read
      questions:
      - What groups and admin rights does a given Artifactory user have?
      - How can I look up one Artifactory user's email and settings?
      instructions:
      - text: Show the Artifactory details for user {username}.
        slots:
          username: path.username
      - text: Look up whether {username} is an Artifactory admin.
        slots:
          username: path.username
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/users/{username}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace an Artifactory user
      effect: write
      questions:
      - How do I add a new user to Artifactory with a password and email?
      - Can I overwrite an existing Artifactory user's whole definition in one call?
      instructions:
      - text: Create Artifactory user {username} with email {email} and password {password}.
        slots:
          username: path.username
          email: requestBody.email
          password: requestBody.password
      - text: Replace Artifactory user {username}, display name {name}, email {email}, password {password}, in groups {groups}.
        slots:
          username: path.username
          name: requestBody.name
          email: requestBody.email
          password: requestBody.password
          groups: requestBody.groups
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/users/{username}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an Artifactory user
      effect: destructive
      questions:
      - How do I remove a user account from Artifactory security?
      - What happens when I delete a user through the Artifactory security endpoint?
      instructions:
      - text: Delete Artifactory user {username}.
        slots:
          username: path.username
      - text: Remove {username} from Artifactory security users.
        slots:
          username: path.username
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List all Artifactory groups
      effect: read
      questions:
      - Which user groups exist in my Artifactory instance?
      - Can I see every security group defined in Artifactory?
      instructions:
      - text: List all Artifactory groups.
      - text: Show me every security group in Artifactory.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/groups/{groupName}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an Artifactory group's details
      effect: read
      questions:
      - What realm and auto-join settings does an Artifactory group have?
      - How do I see who belongs to a specific Artifactory group?
      instructions:
      - text: Show the details of Artifactory group {groupName}.
        slots:
          groupName: path.groupName
      - text: List the members of group {groupName}.
        slots:
          groupName: path.groupName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/groups/{groupName}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace an Artifactory group
      effect: write
      questions:
      - How do I create a group that new users join automatically?
      - Can I give an entire group admin privileges when I define it?
      instructions:
      - text: Create group {groupName} named {name} with description {description}.
        slots:
          groupName: path.groupName
          name: requestBody.name
          description: requestBody.description
      - text: Replace group {groupName} so its members are {userNames}.
        slots:
          groupName: path.groupName
          userNames: requestBody.userNames
      - text: Set up group {groupName} with realm {realm}.
        slots:
          groupName: path.groupName
          realm: requestBody.realm
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/groups/{groupName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an Artifactory group
      effect: destructive
      questions:
      - How do I get rid of a security group I no longer use?
      - Is there a way to delete an Artifactory group by name?
      instructions:
      - text: Delete Artifactory group {groupName}.
        slots:
          groupName: path.groupName
      - text: Remove the {groupName} group from security.
        slots:
          groupName: path.groupName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/permissions'].get
  update:
    x-apievangelist-phrasing:
      intent: List Artifactory permission targets
      effect: read
      questions:
      - What permission targets are configured in Artifactory?
      - Can I list the access rules that cover my repositories and builds?
      instructions:
      - text: List all Artifactory permission targets.
      - text: Show every permission target in the security API.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/permissions/{permissionTargetName}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a permission target's configuration
      effect: read
      questions:
      - Which repositories and users does a given permission target cover?
      - How do I inspect the rules inside one Artifactory permission target?
      instructions:
      - text: Show permission target {permissionTargetName}.
        slots:
          permissionTargetName: path.permissionTargetName
      - text: Get the repo and build rules of permission target {permissionTargetName}.
        slots:
          permissionTargetName: path.permissionTargetName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/permissions/{permissionTargetName}'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or replace a permission target
      effect: write
      questions:
      - How do I grant a group access to certain repositories in Artifactory?
      - Can I overwrite a permission target's repo and build rules at once?
      instructions:
      - text: Create permission target {permissionTargetName} with repo rules {repo}.
        slots:
          permissionTargetName: path.permissionTargetName
          repo: requestBody.repo
      - text: Replace permission target {permissionTargetName} with build rules {build}.
        slots:
          permissionTargetName: path.permissionTargetName
          build: requestBody.build
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/permissions/{permissionTargetName}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a permission target
      effect: destructive
      questions:
      - How do I remove an Artifactory permission target?
      - Will deleting a permission target revoke the access it granted?
      instructions:
      - text: Delete permission target {permissionTargetName}.
        slots:
          permissionTargetName: path.permissionTargetName
      - text: Remove the {permissionTargetName} permission target from Artifactory.
        slots:
          permissionTargetName: path.permissionTargetName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/security/token'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an Artifactory access token
      effect: write
      questions:
      - How do I generate an access token for a user through the security endpoint?
      - Can I make a refreshable token that expires after a set time?
      instructions:
      - text: Create an access token for {username} that expires in {expires_in} seconds.
        slots:
          username: requestBody.username
          expires_in: requestBody.expires_in
      - text: Issue a refreshable token for {username} with scope {scope}.
        slots:
          username: requestBody.username
          scope: requestBody.scope
      method: generated
      generated: '2026-10-01'