JFrog Policies API

Curation policy management

Operations 10

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/policies List curation policies · JFrog List Curation Policies #
Ask an LLM
“Which curation policies are blocking or allowing packages right now?”
“Can I see all package curation policies in one list?”
Tell an agent
List all curation policies.
Show me every curation policy that governs which packages get in.
POST /v1/policies Create a curation policy · JFrog Create Curation Policy #
Ask an LLM
“How do I block certain packages from entering my repositories with JFrog Curation?”
“Can a curation policy apply only to specific repositories or package types?”
Tell an agent
Create curation policy {policy_name} of type {policy_type}.
Create curation policy {policy_name} of type {policy_type} for repositories {repositories}.
GET /v1/policies/{policyName} Get a curation policy · JFrog Get Curation Policy #
Ask an LLM
“What conditions and actions does a given curation policy use?”
“Can I check whether a curation policy is enabled?”
Tell an agent
Get curation policy {policyName}.
Show me the conditions and actions of curation policy {policyName}.
PUT /v1/policies/{policyName} Update a curation policy · JFrog Update Curation Policy #
Ask an LLM
“Can I disable a curation policy without deleting it?”
“How do I change which package types a curation policy covers?”
Tell an agent
Disable curation policy {policyName} by setting enabled to {enabled}.
Update curation policy {policyName} to cover package types {package_types}.
DELETE /v1/policies/{policyName} Delete a curation policy · JFrog Delete Curation Policy #
Ask an LLM
“Can I delete a curation policy I no longer need?”
“What is required to remove a package curation policy?”
Tell an agent destructive · confirm first
Delete curation policy {policyName}.
Remove the package curation policy named {policyName}.
GET /v2/policies List security and license policies · JFrog List Policies #
Ask an LLM
“Which security and license compliance policies are defined for scanning?”
“Can I see all of my vulnerability and license policies together?”
Tell an agent
List all security and license policies.
Show me every compliance policy used for security and license checks.
POST /v2/policies Create a security or license policy · JFrog Create Policy #
Ask an LLM
“How do I create a policy that flags vulnerable components or banned licenses?”
“Can one compliance policy hold several rules?”
Tell an agent
Create {type} policy {name} with rules {rules}.
Create a license compliance policy named {name} with type {type} and rules {rules}.
GET /v2/policies/{policyName} Get a security or license policy · JFrog Get Policy #
Ask an LLM
“What rules are in a given security or license policy?”
“Can I check whether a compliance policy is a security or license type?”
Tell an agent
Get security/license policy {policyName}.
Show me the rules of compliance policy {policyName}.
PUT /v2/policies/{policyName} Update a security or license policy · JFrog Update Policy #
Ask an LLM
“How do I change the rules in an existing security policy?”
“Can I update a license policy's description and rules together?”
Tell an agent
Replace the rules of security/license policy {policyName} with {rules}.
Update compliance policy {policyName} with description {description}.
DELETE /v2/policies/{policyName} Delete a security or license policy · JFrog Delete Policy #
Ask an LLM
“Can I remove a security or license policy I no longer enforce?”
“What happens when I delete a compliance policy by name?”
Tell an agent destructive · confirm first
Delete security/license policy {policyName}.
Remove the compliance policy {policyName}.

Documentation

📖
Documentation
https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API
📖
Authentication
https://www.jfrog.com/confluence/display/JFROG/Access+Tokens
📖
GettingStarted
https://jfrog.com/help/r/jfrog-artifactory-documentation/use-the-rest-api
📖
Documentation
https://jfrog.com/help/r/jfrog-rest-apis/artifactory-rest-api-v2
📖
Authentication
https://jfrog.com/help/r/jfrog-platform-administration-documentation/access-tokens
📖
Documentation
https://www.jfrog.com/confluence/display/JFROG/Xray+REST+API
📖
GettingStarted
https://jfrog.com/help/r/xray-rest-apis/introduction-to-the-xray-rest-apis
📖
Documentation
https://www.jfrog.com/confluence/display/JFROG/Distribution+REST+API
📖
Documentation
https://www.jfrog.com/confluence/display/JFROG/Pipelines+REST+API
📖
GettingStarted
https://jfrog.com/help/r/jfrog-rest-apis/introduction-to-the-pipelines-rest-apis
📖
Documentation
https://www.jfrog.com/confluence/display/JFROG/JFrog+Platform+REST+API
📖
GettingStarted
https://jfrog.com/help/r/jfrog-rest-apis/introduction-to-the-jfrog-platform-rest-apis
📖
Documentation
https://jfrog.com/help/r/jfrog-platform-administration-documentation/access-token-rest-api
📖
GettingStarted
https://jfrog.com/help/r/jfrog-platform-administration-documentation/introduction-to-access-tokens
📖
Documentation
https://jfrog.com/help/r/jfrog-rest-apis/jfrog-curation-rest-apis
📖
Documentation
https://jfrog.com/help/r/jfrog-rest-apis/mission-control-rest-apis
📖
Documentation
https://jfrog.com/help/r/jfrog-rest-apis/release-lifecycle-management
📖
Documentation
https://jfrog.com/help/r/jfrog-rest-apis/workers-rest-apis
📖
Documentation
https://jfrog.com/help/r/jfrog-ml-documentation/jfrog-ml-rest-api
📖
Documentation
https://docs.connect.jfrog.io/rest-api-v2/connect-api-reference
📖
Authentication
https://docs.connect.jfrog.io/developers
📖
Documentation
https://jfrog.com/help/r/jfrog-security-user-guide/products/catalog
📖
Documentation
https://jfrog.com/help/r/jfrog-artifactory-documentation/create-evidence-using-rest-apis

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/jfrog:jfrog-policies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

jfrog-policies-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Jfrog Policies API
  contact:
    name: JFrog
    url: https://jfrog.com
  license:
    name: Proprietary
    url: https://jfrog.com/terms-of-service/
  termsOfService: https://jfrog.com/terms-of-service/
  version: '1.0'
  description: 'Operations tagged Policies across 2 of this provider''s published API definitions: jfrog-curation-openapi.yml, jfrog-xray-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{server}.jfrog.io/curation/api
  description: JFrog Cloud
  variables:
    server:
      default: myserver
      description: Your JFrog server name
- url: https://{host}/curation/api
  description: Self-hosted JFrog instance
  variables:
    host:
      default: localhost:8082
      description: Your self-hosted JFrog server host
- url: https://{server}.jfrog.io/xray/api
  description: JFrog Cloud
  variables:
    server:
      default: myserver
      description: Your JFrog server name
- url: https://{host}/xray/api
  description: Self-hosted JFrog instance
  variables:
    host:
      default: localhost:8082
      description: Your self-hosted JFrog server host
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Policies
  description: Curation policy management
paths:
  /v1/policies:
    get:
      operationId: listPolicies
      summary: JFrog List Curation Policies
      description: Returns a list of all curation policies.
      tags:
      - Policies
      responses:
        '200':
          description: Policies list retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  policies:
                    type: array
                    items:
                      $ref: '#/components/schemas/CurationPolicy'
    post:
      operationId: createPolicy
      summary: JFrog Create Curation Policy
      description: Creates a new curation policy for blocking or allowing packages.
      tags:
      - Policies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CurationPolicyRequest'
      responses:
        '201':
          description: Policy created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurationPolicy'
        '400':
          description: Invalid policy configuration
    servers:
    - url: https://{server}.jfrog.io/curation/api
      description: JFrog Cloud
      variables:
        server:
          default: myserver
          description: Your JFrog server name
    - url: https://{host}/curation/api
      description: Self-hosted JFrog instance
      variables:
        host:
          default: localhost:8082
          description: Your self-hosted JFrog server host
  /v1/policies/{policyName}:
    get:
      operationId: getPolicy
      summary: JFrog Get Curation Policy
      description: Returns details for a specific curation policy.
      tags:
      - Policies
      parameters:
      - name: policyName
        in: path
        required: true
        schema:
          type: string
        description: Policy name
      responses:
        '200':
          description: Policy details retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurationPolicy'
        '404':
          description: Policy not found
    put:
      operationId: updatePolicy
      summary: JFrog Update Curation Policy
      description: Updates an existing curation policy.
      tags:
      - Policies
      parameters:
      - name: policyName
        in: path
        required: true
        schema:
          type: string
        description: Policy name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CurationPolicyRequest'
      responses:
        '200':
          description: Policy updated
    delete:
      operationId: deletePolicy
      summary: JFrog Delete Curation Policy
      description: Deletes a curation policy.
      tags:
      - Policies
      parameters:
      - name: policyName
        in: path
        required: true
        schema:
          type: string
        description: Policy name
      responses:
        '204':
          description: Policy deleted
    servers:
    - url: https://{server}.jfrog.io/curation/api
      description: JFrog Cloud
      variables:
        server:
          default: myserver
          description: Your JFrog server name
    - url: https://{host}/curation/api
      description: Self-hosted JFrog instance
      variables:
        host:
          default: localhost:8082
          description: Your self-hosted JFrog server host
  /v2/policies:
    get:
      operationId: getV2Policies
      summary: JFrog List Policies
      description: Returns a list of all security and license policies.
      tags:
      - Policies
      responses:
        '200':
          description: Policies list retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Policy'
      x-operation-id-source: normalized
      x-operation-id-original: listPolicies
    post:
      operationId: postV2Policies
      summary: JFrog Create Policy
      description: Creates a new security or license compliance policy.
      tags:
      - Policies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Policy'
      responses:
        '201':
          description: Policy created
        '400':
          description: Invalid policy configuration
      x-operation-id-source: normalized
      x-operation-id-original: createPolicy
    servers:
    - url: https://{server}.jfrog.io/xray/api
      description: JFrog Cloud
      variables:
        server:
          default: myserver
          description: Your JFrog server name
    - url: https://{host}/xray/api
      description: Self-hosted JFrog instance
      variables:
        host:
          default: localhost:8082
          description: Your self-hosted JFrog server host
  /v2/policies/{policyName}:
    get:
      operationId: getV2PoliciesByPolicyName
      summary: JFrog Get Policy
      description: Returns details of a specific policy.
      tags:
      - Policies
      parameters:
      - name: policyName
        in: path
        required: true
        schema:
          type: string
        description: Policy name
      responses:
        '200':
          description: Policy details retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
      x-operation-id-source: normalized
      x-operation-id-original: getPolicy
    put:
      operationId: putV2PoliciesByPolicyName
      summary: JFrog Update Policy
      description: Updates an existing policy.
      tags:
      - Policies
      parameters:
      - name: policyName
        in: path
        required: true
        schema:
          type: string
        description: Policy name
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Policy'
      responses:
        '200':
          description: Policy updated
      x-operation-id-source: normalized
      x-operation-id-original: updatePolicy
    delete:
      operationId: deleteV2PoliciesByPolicyName
      summary: JFrog Delete Policy
      description: Removes a policy.
      tags:
      - Policies
      parameters:
      - name: policyName
        in: path
        required: true
        schema:
          type: string
        description: Policy name
      responses:
        '200':
          description: Policy deleted
      x-operation-id-source: normalized
      x-operation-id-original: deletePolicy
    servers:
    - url: https://{server}.jfrog.io/xray/api
      description: JFrog Cloud
      variables:
        server:
          default: myserver
          description: Your JFrog server name
    - url: https://{host}/xray/api
      description: Self-hosted JFrog instance
      variables:
        host:
          default: localhost:8082
          description: Your self-hosted JFrog server host
components:
  schemas:
    CurationPolicy:
      type: object
      properties:
        policy_name:
          type: string
        description:
          type: string
        enabled:
          type: boolean
        policy_type:
          type: string
          enum:
          - block_malicious_packages
          - block_packages_with_vulnerabilities
          - block_packages_without_license
          - block_packages_by_name
          - block_packages_by_age
          - allow_only_approved_packages
          - custom
        repositories:
          type: array
          items:
            type: string
        package_types:
          type: array
          items:
            type: string
        conditions:
          type: object
          properties:
            min_severity:
              type: string
              enum:
              - Low
              - Medium
              - High
              - Critical
            max_age_days:
              type: integer
            banned_package_names:
              type: array
              items:
                type: string
            banned_licenses:
              type: array
              items:
                type: string
            approved_packages:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  version:
                    type: string
        actions:
          type: object
          properties:
            block:
              type: boolean
            notify:
              type: boolean
            notify_emails:
              type: array
              items:
                type: string
                format: email
            custom_message:
              type: string
        created:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
    CurationPolicyRequest:
      type: object
      properties:
        policy_name:
          type: string
        description:
          type: string
        enabled:
          type: boolean
        policy_type:
          type: string
        repositories:
          type: array
          items:
            type: string
        package_types:
          type: array
          items:
            type: string
        conditions:
          type: object
        actions:
          type: object
      required:
      - policy_name
      - policy_type
    Policy:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        type:
          type: string
          enum:
          - security
          - license
          - operational_risk
        rules:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              priority:
                type: integer
              criteria:
                type: object
                properties:
                  min_severity:
                    type: string
                    enum:
                    - Low
                    - Medium
                    - High
                    - Critical
                  cvss_range:
                    type: object
                    properties:
                      from:
                        type: number
                      to:
                        type: number
                  allow_unknown:
                    type: boolean
                  banned_licenses:
                    type: array
                    items:
                      type: string
                  allowed_licenses:
                    type: array
                    items:
                      type: string
              actions:
                type: object
                properties:
                  webhooks:
                    type: array
                    items:
                      type: string
                  mails:
                    type: array
                    items:
                      type: string
                  block_download:
                    type: object
                    properties:
                      unscanned:
                        type: boolean
                      active:
                        type: boolean
                  block_release_bundle_distribution:
                    type: boolean
                  fail_build:
                    type: boolean
                  notify_deployer:
                    type: boolean
                  notify_watch_recipients:
                    type: boolean
                  create_ticket_enabled:
                    type: boolean
      required:
      - name
      - type
      - rules
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Access token authentication
    basicAuth:
      type: http
      scheme: basic
      description: Basic username/password authentication
x-refined-from:
- jfrog-curation-openapi.yml
- jfrog-xray-openapi.yml